Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a 'materialize' option to tridiag() and bidiag() to simplify downstream applications #204

Merged
merged 1 commit into from
May 31, 2024

Conversation

pnkraemer
Copy link
Owner

Most applications of tridiagonalisation and bidiatonalisation require materialising the tri/bidiagonal matrices and doing linear algebra with those dense matrices.
Currently, all applications of bi/tridiagonalisation (including funm, eig, and tests) have a function like "todense_tri/bidiagonal", and there is not a single use of the coefficients without materialising the matrices in the entire library.

This PR introduces an option for materialising those matrices as part of the decompositions.
This materialize flag is set to True by default, but can be set to False to recover the previous implementation.
Functions of matrices require that materialize is set to True.

As a result, future version of Matfree can write integrand_funm agnostic of the decomposition, which will simplify a lot of code.

@pnkraemer pnkraemer merged commit fddc9a7 into main May 31, 2024
6 checks passed
@pnkraemer pnkraemer deleted the materialize-matrix-decompositions branch May 31, 2024 13:54
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.

1 participant