{"action":"created","issue":{"url":"https://api.github.com/repos/stan-dev/math/issues/190","repository_url":"https://api.github.com/repos/stan-dev/math","labels_url":"https://api.github.com/repos/stan-dev/math/issues/190/labels{/name}","comments_url":"https://api.github.com/repos/stan-dev/math/issues/190/comments","events_url":"https://api.github.com/repos/stan-dev/math/issues/190/events","html_url":"https://github.com/stan-dev/math/pull/190","id":112445907,"number":190,"title":"minor fixup for LDLT_factor::inverse","user":{"login":"jpritikin","id":2002771,"avatar_url":"https://avatars.githubusercontent.com/u/2002771?v=3","gravatar_id":"","url":"https://api.github.com/users/jpritikin","html_url":"https://github.com/jpritikin","followers_url":"https://api.github.com/users/jpritikin/followers","following_url":"https://api.github.com/users/jpritikin/following{/other_user}","gists_url":"https://api.github.com/users/jpritikin/gists{/gist_id}","starred_url":"https://api.github.com/users/jpritikin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpritikin/subscriptions","organizations_url":"https://api.github.com/users/jpritikin/orgs","repos_url":"https://api.github.com/users/jpritikin/repos","events_url":"https://api.github.com/users/jpritikin/events{/privacy}","received_events_url":"https://api.github.com/users/jpritikin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-10-20T19:46:44Z","updated_at":"2016-03-02T04:15:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/stan-dev/math/pulls/190","html_url":"https://github.com/stan-dev/math/pull/190","diff_url":"https://github.com/stan-dev/math/pull/190.diff","patch_url":"https://github.com/stan-dev/math/pull/190.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/stan-dev/math/issues/comments/191049754","html_url":"https://github.com/stan-dev/math/pull/190#issuecomment-191049754","issue_url":"https://api.github.com/repos/stan-dev/math/issues/190","id":191049754,"user":{"login":"syclik","id":425751,"avatar_url":"https://avatars.githubusercontent.com/u/425751?v=3","gravatar_id":"","url":"https://api.github.com/users/syclik","html_url":"https://github.com/syclik","followers_url":"https://api.github.com/users/syclik/followers","following_url":"https://api.github.com/users/syclik/following{/other_user}","gists_url":"https://api.github.com/users/syclik/gists{/gist_id}","starred_url":"https://api.github.com/users/syclik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/syclik/subscriptions","organizations_url":"https://api.github.com/users/syclik/orgs","repos_url":"https://api.github.com/users/syclik/repos","events_url":"https://api.github.com/users/syclik/events{/privacy}","received_events_url":"https://api.github.com/users/syclik/received_events","type":"User","site_admin":false},"created_at":"2016-03-02T04:15:07Z","updated_at":"2016-03-02T04:15:07Z","body":"Thanks for the much needed, clearer explanation.\n\nOn Tue, Mar 1, 2016 at 11:08 PM, Bob Carpenter <notifications@github.com>\nwrote:\n\n> It might help to start with the goal here. Is it to\n> save needless copies by changing the return value of\n> our functions to Eigen template expressions? If so,\n> we just need to make sure everything we output (which we\n> control) matches every argument position of the right type\n> in our other functions.\n>\n> I believe block() was where we ran into the problem that\n> the return value doesn't extend their MatrixBase, but was\n> assignable to Matrix. So their doc isn't telling the whole\n> story up front when they talk about MatrixBase:\n>\n> http://eigen.tuxfamily.org/dox/TopicFunctionTakingEigenTypes.html\n>\n> But if block() doesn't work, that means our own block function\n> can't return a template expression; but we could just force\n> the copy ourselves by returning Matrix<T,...> and that\n> would be assignable to MatrixBase.\n>\n> But you see they go on to talk explicitly about block()\n> when they talk about Ref<Derived>, which can handle block()\n> template expressions, so maybe that's what we should be using.\n>\n> I find their doc for all this incredibly confusing.\n>\n> - Bob\n>\n> > On Mar 1, 2016, at 10:34 PM, Daniel Lee <notifications@github.com>\n> wrote:\n> >\n> > @jpritikin, sorry there hasn't been any activity on this pull request. I\n> know it's been brought up in multiple places, but the only hesitation I\n> have with this is I don't know what types we should test with to verify\n> that MatrixBase<MB> covers enough.\n> >\n> > I understand that Eigen claims that it does, but I thought there were a\n> couple of edge cases where blocks or some other slicing operator didn't\n> work, but I could be mistaken. What types do use use within OpenMX?\n>\n> >\n> > —\n> > Reply to this email directly or view it on GitHub.\n> >\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/stan-dev/math/pull/190#issuecomment-191047824>.\n>\n"}}