Skip to content

Solve to ChoSolve optimizations #1461

Closed
@jessegrabowski

Description

@jessegrabowski

Description

In #1374 and #1382 we came up with a few very nice cases were we can optimize graphs with solve(A, b) by decomposing A once (in those cases using LU decomposition), then applying solve against several different right-hand sides. Those PRs applied to the case where assume_a=gen or tridiagonal. Looking back though, we should have started with the case where assume_a=pos, because in this case, the relevant decomposition is just Cholesky.

We can apply the same suite of decompose-and-reuse rewrites as in the gen and tridiagonal cases (in Blockwise, gradient, and scan) by just replacing solve(A, b, assume_a='pos') with cho_solve((cholesky(A), True), b), the exact same way we rewrite to lu_solve(lu_factor(A), b).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions