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

Support arbitrary multiple-cluster sorting in ordschur #1047

Open
mbauman opened this issue Jan 3, 2024 · 1 comment
Open

Support arbitrary multiple-cluster sorting in ordschur #1047

mbauman opened this issue Jan 3, 2024 · 1 comment

Comments

@mbauman
Copy link
Member

mbauman commented Jan 3, 2024

Some applications require an arbitrary sorting of eigenvalues in a Schur decomposition. Currently, ordschur supports re-ordering with a logical select vector that effectively groups the eigenvalues into two clusters using the LAPACK t[rg]sen. I believe LAPACK also supports moving an individual eigenvalue around with trexc.

However, newer blocked algorithms exist that outperform LAPACK's naive bubble-sort-like algorithm here and can facilitate sorting eigenvalues into multiple clusters more efficiently. See, e.g., Kressner, Daniel (2006). Block algorithms for reordering standard and generalized Schur forms. ACM Transactions on Mathematical Software, 32(4), 521–532. doi:10.1145/1186785.1186787.

I do not believe any open-source project has incorporated this functionality to date. There is an open issue in scipy requesting its addition: scipy/scipy#10872.

@ViralBShah ViralBShah transferred this issue from another repository Feb 7, 2024
@aravindh-krishnamoorthy
Copy link
Contributor

I'll try to implement it here first and if it works out, discuss about integrating it into stdlib. However, I'll be slow as I do this during my free time. Please feel free to overtake me in case you're interested, or better yet, work together with me :)

@KristofferC KristofferC transferred this issue from JuliaLang/julia Nov 26, 2024
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