-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
decomposition and factorization terminology #26995
Comments
The usual acronyms are LU, QR, SVD. Unfortunate perhaps but well established, so it would be better to have consistency across these factorization rather than consistency of the name itself. Reading |
It never occurred to me, but now that you mention it, it does sound weird. However, I don't ever expand the SVD in my mind when I think about it, and perhaps it is ok to let it be as it is. |
A broader thought in the same vein: At the moment we mix the terms decomposition and factorization (e.g. |
I believe there was a discussion thread on which name to use, and we picked factorizations early on. We should dig up and link the original discussion at the very least. |
A bit of git spelunking revealed the following history: Miles Lubin introduced the name Out of curiosity, I checked the number of google hits for "X decomposition" and "X factorization", and while I had the impression that decomposition was the more widespread term, the degree to which that appears true surprised me; results in millions below: Update regarding the table below: These hit counts were for unquoted search queries, whereas quoted search queries are probably a better metric. With quoted queries, which term hit counts favor depends on the decomposition, and the results are much less compelling overall. Ref. #26995 (comment).
Tangentially, the history suggests that the only reason for the |
Thank you for that detailed analysis! |
Yes, I'm very much in favor of making breaking changes to LinearAlgebra 2.0 in some Julia 1.x release where the names are just |
Agreed! And likewise Andreas it seems. #26997 should at least set us up for those changes during 1.x, and potentially non-breaking then. Best! |
I am not sure how these Google hits were computed, but I don't get anything above 150,000-ish on anything, and even so, no more than 13-14 pages of results. |
The difference is quoting versus not quoting the search query :). |
I think one ought to quote it, which is what I thought you did since you did say |
A slack conversation convinced me that the hit counts for quoted search queries are a better metric, and for such queries which term the hit count favors depends on the particular decomposition; in other words, ignore the table above, as it's probably not the best guide. The remaining question is a minor one of correctness, in that e.g. decomposition is in some cases perhaps more correct for |
I would point out that while the eigenvectors and eigenvalues are not a factorization as a pair—you can’t multiply them and get the original matrix back—the factorization object does act as a true factorization in that you can use it in place of the original matrix as “pre-factorized” stand in. Moreover, you can get one of these objects through a funcrion called, yes, |
A little further slack triage settled on the status quo, i.e. retaining |
First is imho, i have spent thousand of hours working on math, engineering and ontology, terminology call it like you want. Factorization is grounded into arithmetics. Composition is more compatible with the evolution toward symbolic programming. it's a natural movement found when trying to solve equation (math work) or assemblying things (engineering work). like with dynamic programming, we break a problem in multiple piece and with the property of the zero element / absorbing element of a groupw we solve the whole constraining either one part or the other thanks to the law of excluded middle secondly, some facts wolfram is matrix decomposition everywhere. and google scholar too when you go to symbolic computing
bonus guess how to check the pantelides thing IMHO julia in the large is better served with decomposition than factorization. |
Can this be closed now that the factorization functions no longer have |
I guess what's left is to decide if we should rename |
I see. Even if decomposition was slightly better than factorization (which I don't think) then it's not worth the name change. |
After extensive discussion we concluded that the two words are used roughly as frequently when talking about matrices but that "factorization" is much more matrix-specific and thus conveys more information. It's also the one we're already using and it's no longer very user-facing, so we do nada. |
Singular value decomposition factorization (
svdfact
) is a slightly unfortunate name; minor a thing as it is, the redundancy chafes. Perhapssvdecomp
,svfact
, or something similar would be better? Best!The text was updated successfully, but these errors were encountered: