Skip to content

Materialize complex Symmetric matrices in eigen #55348

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

Merged
merged 3 commits into from
Aug 4, 2024

Conversation

jishnub
Copy link
Member

@jishnub jishnub commented Aug 2, 2024

Currently, eigen for a complex Symmetric matrix fails, as there's no specialized LAPACK function to handle such matrices. We may instead materialize the matrix and use a generic solver. While a user may do it by themselves, I think returning an answer is better than throwing an error.

@jishnub jishnub added the linear algebra Linear algebra label Aug 2, 2024
@dkarrasch
Copy link
Member

Hm, yeah, BunchKaufman seems to rely on the same mechanism as eigen, but can handle complex symmetric. You could introduce

bkcopy_oftype(A, S) = eigencopy_oftype(A, S)
bkcopy_oftype(A::Symmetric{<:Complex}, S) = Symmetric(copytrito!(similar(parent(A), S, size(A)), A.data, A.uplo), sym_uplo(A.uplo))

and switch to it in bunchkaufman.jl.

@jishnub jishnub merged commit 065d456 into master Aug 4, 2024
7 checks passed
@jishnub jishnub deleted the jishnub/symmtric_complex_eigen branch August 4, 2024 12:30
lazarusA pushed a commit to lazarusA/julia that referenced this pull request Aug 17, 2024
Currently, `eigen` for a complex Symmetric matrix fails, as there's no
specialized LAPACK function to handle such matrices. We may instead
materialize the matrix and use a generic solver. While a user may do it
by themselves, I think returning an answer is better than throwing an
error.
@dkarrasch dkarrasch added backport 1.10 Change should be backported to the 1.10 release backport 1.11 Change should be backported to release-1.11 labels Dec 22, 2024
This was referenced Jan 2, 2025
This was referenced Jan 28, 2025
This was referenced Mar 11, 2025
@KristofferC KristofferC removed the backport 1.11 Change should be backported to release-1.11 label Mar 31, 2025
KristofferC added a commit that referenced this pull request Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 1.10 Change should be backported to the 1.10 release linear algebra Linear algebra
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants