{"action":"opened","issue":{"url":"https://api.github.com/repos/guilgautier/DPPy/issues/34","repository_url":"https://api.github.com/repos/guilgautier/DPPy","labels_url":"https://api.github.com/repos/guilgautier/DPPy/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/guilgautier/DPPy/issues/34/comments","events_url":"https://api.github.com/repos/guilgautier/DPPy/issues/34/events","html_url":"https://github.com/guilgautier/DPPy/issues/34","id":375892135,"node_id":"MDU6SXNzdWUzNzU4OTIxMzU=","number":34,"title":"Use inheritance with BetaEnsemble as a parent class whose children are Hermite, Laguerre... ","user":{"login":"guilgautier","id":29331143,"node_id":"MDQ6VXNlcjI5MzMxMTQz","avatar_url":"https://avatars0.githubusercontent.com/u/29331143?v=4","gravatar_id":"","url":"https://api.github.com/users/guilgautier","html_url":"https://github.com/guilgautier","followers_url":"https://api.github.com/users/guilgautier/followers","following_url":"https://api.github.com/users/guilgautier/following{/other_user}","gists_url":"https://api.github.com/users/guilgautier/gists{/gist_id}","starred_url":"https://api.github.com/users/guilgautier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guilgautier/subscriptions","organizations_url":"https://api.github.com/users/guilgautier/orgs","repos_url":"https://api.github.com/users/guilgautier/repos","events_url":"https://api.github.com/users/guilgautier/events{/privacy}","received_events_url":"https://api.github.com/users/guilgautier/received_events","type":"User","site_admin":false},"labels":[{"id":1111190888,"node_id":"MDU6TGFiZWwxMTExMTkwODg4","url":"https://api.github.com/repos/guilgautier/DPPy/labels/be%20more%20Pythonic","name":"be more Pythonic","color":"2ab27c","default":false},{"id":1109854128,"node_id":"MDU6TGFiZWwxMTA5ODU0MTI4","url":"https://api.github.com/repos/guilgautier/DPPy/labels/confusing%20notation","name":"confusing notation","color":"262da8","default":false},{"id":900719278,"node_id":"MDU6TGFiZWw5MDA3MTkyNzg=","url":"https://api.github.com/repos/guilgautier/DPPy/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"state":"open","locked":false,"assignee":{"login":"guilgautier","id":29331143,"node_id":"MDQ6VXNlcjI5MzMxMTQz","avatar_url":"https://avatars0.githubusercontent.com/u/29331143?v=4","gravatar_id":"","url":"https://api.github.com/users/guilgautier","html_url":"https://github.com/guilgautier","followers_url":"https://api.github.com/users/guilgautier/followers","following_url":"https://api.github.com/users/guilgautier/following{/other_user}","gists_url":"https://api.github.com/users/guilgautier/gists{/gist_id}","starred_url":"https://api.github.com/users/guilgautier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guilgautier/subscriptions","organizations_url":"https://api.github.com/users/guilgautier/orgs","repos_url":"https://api.github.com/users/guilgautier/repos","events_url":"https://api.github.com/users/guilgautier/events{/privacy}","received_events_url":"https://api.github.com/users/guilgautier/received_events","type":"User","site_admin":false},"assignees":[{"login":"guilgautier","id":29331143,"node_id":"MDQ6VXNlcjI5MzMxMTQz","avatar_url":"https://avatars0.githubusercontent.com/u/29331143?v=4","gravatar_id":"","url":"https://api.github.com/users/guilgautier","html_url":"https://github.com/guilgautier","followers_url":"https://api.github.com/users/guilgautier/followers","following_url":"https://api.github.com/users/guilgautier/following{/other_user}","gists_url":"https://api.github.com/users/guilgautier/gists{/gist_id}","starred_url":"https://api.github.com/users/guilgautier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/guilgautier/subscriptions","organizations_url":"https://api.github.com/users/guilgautier/orgs","repos_url":"https://api.github.com/users/guilgautier/repos","events_url":"https://api.github.com/users/guilgautier/events{/privacy}","received_events_url":"https://api.github.com/users/guilgautier/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-10-31T10:23:13Z","updated_at":"2018-10-31T10:23:13Z","closed_at":null,"author_association":"OWNER","body":"**Is your feature request related to a problem? Please describe.**\r\nAs of now, `class BetaEnsemble` class is used as a big object to instanciate Hermite, Laguerre ...\r\nThis is not very natural to use nor easy to maintain, there are too many \r\n```python \r\nif ...:\r\nelif ...:\r\n```\r\nThe call to `sample()` method is not very handy to use, see also #29 \r\n\r\n**Describe the solution you'd like**\r\n\r\n- Use `BetaEnsemble` as parent class with children would be `HermiteEnsemble` `LaguerreEnsemble`\r\n- In the spirit of the `FiniteDPP` class which has `.sample_exact()` and `.sample_mcmc` make the distinction between the full matrix and banded samplers, for instance\r\n`.sample_full_model()` and `.sample_banded_model()`.\r\n\r\n**Describe alternatives you've considered**\r\nNTR\r\n\r\n**Additional context**\r\nThe result could look like\r\n\r\n```python\r\nhermite = HermiteEnsemble(beta=2)\r\nhermite.sample_full_model()\r\nhermite.sample_banded_model()\r\n```"}}
{"actor":{"display_login":"guilgautier"}}