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

Positive Definitness #18

Open
clarazen opened this issue Aug 24, 2021 · 4 comments
Open

Positive Definitness #18

clarazen opened this issue Aug 24, 2021 · 4 comments

Comments

@clarazen
Copy link

Hello Boris,

Does the approximation of a kernel matrix with hss guarantee to preserve positive definiteness? If yes, how does it achieve that?

Thank you!

@mvsoom
Copy link

mvsoom commented Oct 20, 2021

I would also like to know :)

@bonevbs
Copy link
Owner

bonevbs commented Oct 20, 2021

Hi - sorry for the silence! Somehow, I overlooked this completely.

As it stands, there is no guarantee - unless I overlook something. A fundamental problem is that both compression algorithms decouple the block-diagonal part from the off-diagonal. Only the off-diagonal part is compressed and even if some properties are conserved on this part, there is no guarantee that the overall matrix remain positive definite.

That being said, the truncation of the off-diagonal part can be treated as a perturbation, whose error is bounded by the compression tolerance). This can help to bound the error in the eigenvalues which, depending on the size of the eigenvalues, might be sufficient for you to guarantee definiteness. (See Chapter 7.2.2, Eigenvalue Sensitivity, Golub and van Loan - Matrix Computations)

@mvsoom
Copy link

mvsoom commented Oct 21, 2021

OK, thank you very much for your answer.

Since the block diagonal is conserved, I assume the rank of the matrix is expected to be conserved too?

@bonevbs
Copy link
Owner

bonevbs commented Oct 21, 2021

No, imagine you have a matrix with all entries equal to one. If you set all the off-diagonal blocks to 0, your rank will have increased from one to something higher.

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

3 participants