Skip to content

[WIP] Converting *_ldlt_* functions to work with varmat#2239

Closed
bbbales2 wants to merge 4 commits into
feature/varmat-mdivide-leftfrom
feature/varmat-ldlt
Closed

[WIP] Converting *_ldlt_* functions to work with varmat#2239
bbbales2 wants to merge 4 commits into
feature/varmat-mdivide-leftfrom
feature/varmat-ldlt

Conversation

@bbbales2
Copy link
Copy Markdown
Member

@bbbales2 bbbales2 commented Dec 6, 2020

Summary

This is a first attempt at converting all the ldlt functions to work with varmat (and also all the multivariate distribution functions that use the *_ldlt_* functions)

Side Effects

This is a backwards compatibility breaking change because I'm removing LDLT_alloc and changing how LDLT_factor works, so it's a version bump afaik. @syclik @rok-cesnovar (just so a couple people know)

Release notes

Update *_ldlt_* functions to work with var<mat>

Checklist

  • Math issue Make functions with custom autodiff var<mat> friendly #2101

  • Copyright holder: Columbia University

    The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
    - Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
    - Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

  • the basic tests are passing

    • unit tests pass (to run, use: ./runTests.py test/unit)
    • header checks pass, (make test-headers)
    • dependencies checks pass, (make test-math-dependencies)
    • docs build, (make doxygen)
    • code passes the built in C++ standards checks (make cpplint)
  • the code is written in idiomatic C++ and changes are documented in the doxygen

  • the new changes are tested

@bbbales2
Copy link
Copy Markdown
Member Author

bbbales2 commented Dec 6, 2020

@SteveBronder I told you I was working on the ldlt functions for the pull that is updating all the distributions to work with var<mat> (#2214) since the ldlt functions are used in the multivariate distributions.

Now that I've gone through and had a look, let's keep the ldlt and multivariate distribution stuff separate from #2214. It's complicated enough and self-contained.

I've gone through and changed them in a way that I think would work with var<mat>, but I haven't added var<mat> support yet. I want to try some more refactoring and simplification (the fundamental types in rev and prim are still kinda hairy, and maybe I made a mistake by trying to refactor LDLT_factor and not just replacing it where it is used in the distributions anyway).

Anyway, there's a branch for this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants