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

HSSMatrix HSSMatrix log determinant #96

Open
AlexGKim opened this issue Jun 16, 2023 · 2 comments
Open

HSSMatrix HSSMatrix log determinant #96

AlexGKim opened this issue Jun 16, 2023 · 2 comments

Comments

@AlexGKim
Copy link

AlexGKim commented Jun 16, 2023

I would like the log determinant of an HSSMatrix / HSSMatrixMPI.

@AlexGKim AlexGKim changed the title HSSMatrixMPI access ULV HSSMatrix HSSMatrix log determinant Jun 16, 2023
@pghysels
Copy link
Owner

This gives you access to the ULV factors for an HSSMatrixMPI: 94f8f3a

I'll need to think about how to compute the determinant.
In the original ULV factorization, U and V were orthogonal, then you can get the determinant from the L factor.
But our implementation of ULV here is based on this work: https://epubs.siam.org/doi/abs/10.1137/12087116X
And the HSS matrix has special structure which is exploited in the ULV factorization.

@AlexGKim
Copy link
Author

AlexGKim commented Jun 26, 2023

@pghysels . In my specific application the matrix is a covariance matrix, so A = A^T. This should simplify the determinant calculation, as that only depends on the determinants of the leaves and the symmetric matrices formed by X X^T of the off-diagonals at each node. I have not understood the algorithm not implementation enough to figure out how to do that from the factorization though.

The XIa reference works as an example a positive definite matrix, so the solution does seem to come from getting the diagonals of L_ii and recursively getting the determinant of the script(U) term in Eq. 3.12.

I am working with very large matrices, for which there is currently no HSSMatrixMPI<>.ULV().

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

No branches or pull requests

2 participants