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

Don't try cholesky for Hermitian in factorize #54775

Merged
merged 2 commits into from
Jun 13, 2024
Merged

Conversation

dkarrasch
Copy link
Member

Up for debate/pkgeval testing.

Closes #54717.

@mikmoore
Copy link
Contributor

@doc factorize needs an update to remove the two places (the factorization type table and the sentence immediately after) that refer to Cholesky factorization.

@dkarrasch dkarrasch added the domain:linear algebra Linear algebra label Jun 12, 2024
@dkarrasch
Copy link
Member Author

@nanosoldier runtests()

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

@dkarrasch
Copy link
Member Author

@nanosoldier runtests(["HTTP", "MCMCDiagnosticTools", "MLJTestIntegration", "Plots", "TMLE", "JointSurvivalModels", "JumpProblemLibrary", "CryoGrid", "SDEProblemLibrary", "PGFPlots", "Catalyst", "HighVoronoi", "Test", "QuantumAnnealingAnalytics", "GasChromatographySystems"])

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - no new issues were detected.
The full report is available.

@dkarrasch
Copy link
Member Author

It's interesting that seemingly no package relied on the previous behavior. This seems to reflect the fact that spd matrices don't pop up in a generic context, and when they occur users call cholesky directly.

Given the above observation, do we need to announce something here? Or is this an "implementation detail"?

@dkarrasch
Copy link
Member Author

Also, I tried hard spotting new typos, and failed, but I also don't understand why the typo check fails. Is it supposed to spit out a concrete typo, or a code line, like in the whitespace check? Not sure who to ping, but I believe @LilithHafner was involved in setting up the typo check.

@fredrikekre
Copy link
Member

I think in most cases you know you have an SPD matrix and at a minimum do factorize(Hermitian(A)) if not cholesky(Hermitian(A)). I also think the factorize function is not that common to use to begin with.

@dkarrasch dkarrasch merged commit 1505b07 into master Jun 13, 2024
9 checks passed
@dkarrasch dkarrasch deleted the dk/factorize_nochol branch June 13, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

factorize(<:AbstractMatrix) prefers Cholesky but factorize(<:Hermitian) prefers BunchKaufman
4 participants