@@ -15,6 +15,7 @@ Tagged releases are archived on Zenodo under the all-versions concept DOI
1515- CodeRabbit AI, Inc. "CodeRabbit." < https://coderabbit.ai/ > .
1616- KiloCode. "KiloCode AI Engineering Assistant." < https://kilocode.ai/ > .
1717- OpenAI. "ChatGPT." < https://openai.com/chatgpt > .
18+ - OpenAI. "Codex." < https://openai.com/codex/ > .
1819- Warp Dev, Inc. "WARP." < https://www.warp.dev/ > .
1920
2021All AI-generated output was reviewed and/or edited by the maintainer.
@@ -62,50 +63,62 @@ matrix and RHS. After back-substitution, multiplying by the exact power-of-two s
6263
6364Both the determinant and solve paths convert their finite-by-construction entries via
6465` decompose_proven_finite_f64 ` , which extracts the IEEE 754 binary64 sign, unbiased exponent,
65- and significand [ 9] and strips trailing zeros from the significand so ` |x| = m · 2^e ` with
66- ` m ` odd. The integer matrix is then assembled by shifting each mantissa left by
66+ and significand [ 9] . For nonzero ` x ` , it strips trailing zeros from the
67+ significand so ` |x| = m · 2^e ` with ` m ` odd; signed zeros use a separate zero
68+ component. The integer matrix is then assembled by shifting each mantissa left by
6769` exp − e_min ` , giving a GCD-free exact-integer starting point. Solves and D ≥ 5 determinants
6870then apply Bareiss elimination; D ≤ 4 determinants use direct expansions. The test-only
6971fallible wrapper ` decompose_f64 ` verifies rejection of non-finite raw scalars, while the
7072test-only ` f64_to_big_rational ` helper packages the same decomposition into a single
71- ` BigRational ` . See Goldberg [ 10] for background on IEEE 754 representation and exact rational
72- reconstruction .
73+ ` BigRational ` . See Goldberg [ 10] for background on floating-point representation and
74+ conversion .
7375
74- ### LDL^T factorization (symmetric SPD/PSD )
76+ ### LDLᵀ factorization (exactly symmetric positive-definite inputs )
7577
76- The LDL^T (often abbreviated "LDLT") implementation in ` la-stack ` is intended for symmetric positive
77- definite (SPD) and positive semi-definite (PSD) matrices (e.g. Gram matrices), and does not perform
78- pivoting.
78+ The no-pivot LDLT implementation targets ` A = L D Lᵀ ` for exactly symmetric
79+ positive-definite inputs [ 4-5, 11-12] . Successful construction requires every
80+ computed diagonal pivot to be positive and greater than the caller's tolerance.
81+ Computed zero and tolerance-small positive pivots are therefore part of the
82+ typed diagnostic domain, not returned in a usable factorization. Because the
83+ pivots are computed in binary64, a successful factorization is not an exact
84+ certificate that the represented matrix is positive definite.
7985
80- For background on the SPD/PSD setting, see [ 4-5] . For pivoted variants used for symmetric * indefinite*
81- matrices, see [ 6] .
86+ For pivoted variants used for symmetric * indefinite* matrices, see [ 6, 11-12] .
8287
8388### LU decomposition (Gaussian elimination with partial pivoting)
8489
85- The LU implementation in ` la-stack ` follows the standard Gaussian elimination / LU factorization
86- approach with partial pivoting for numerical stability.
90+ The LU implementation targets ` P A = L U ` and uses partial pivoting: each step
91+ selects the remaining entry of largest magnitude in the active column. Partial
92+ pivoting is a practical stability strategy, not an unconditional accuracy
93+ guarantee; worst-case growth and average-case behavior are distinct concerns.
8794
88- See references [ 1-3] below.
95+ See [ 1-3, 11-12] for stability analysis, finite-precision behavior, and standard
96+ algorithmic background.
8997
9098## References
9199
921001 . Trefethen, Lloyd N., and Robert S. Schreiber. "Average-case stability of Gaussian elimination."
93101 * SIAM Journal on Matrix Analysis and Applications* 11.3 (1990): 335–360.
102+ [ DOI] ( https://doi.org/10.1137/0611023 ) ·
94103 [ PDF] ( https://people.maths.ox.ac.uk/trefethen/publication/PDF/1990_44.pdf )
951042 . Businger, P. A. "Monitoring the Numerical Stability of Gaussian Elimination."
96- * Numerische Mathematik* 16 (1970/71 ): 360–361.
97- [ Full text] ( https://eudml.org/doc/132040 )
105+ * Numerische Mathematik* 16.4 (1971 ): 360–361.
106+ [ DOI ] ( https://doi.org/10.1007/BF02165006 ) · [ Full text] ( https://eudml.org/doc/132040 )
981073 . Huang, Han, and K. Tikhomirov. "Average-case analysis of the Gaussian elimination with partial pivoting."
99108 * Probability Theory and Related Fields* 189 (2024): 501–567.
100- [ Open-access PDF] ( https://link.springer.com/article/10.1007/s00440-024-01276-2 ) (also: [ arXiv:2206.01726] ( https://arxiv.org/abs/2206.01726 ) )
101- 4 . Cholesky, Andre-Louis. "On the numerical solution of systems of linear equations"
102- (manuscript dated 2 Dec 1910; published 2005).
103- Scan + English analysis: [ BibNum] ( https://www.bibnum.education.fr/mathematiques/algebre/sur-la-resolution-numerique-des-systemes-d-equations-lineaires )
104- 5 . Brezinski, Claude. "La methode de Cholesky." (2005).
105- [ PDF] ( https://eudml.org/doc/252115 )
106- 6 . Bunch, J. R., L. Kaufman, and B. N. Parlett. "Decomposition of a Symmetric Matrix."
107- * Numerische Mathematik* 27 (1976/1977): 95–110.
108- [ Full text] ( https://eudml.org/doc/132435 )
109+ [ DOI] ( https://doi.org/10.1007/s00440-024-01276-2 ) ·
110+ [ Open-access article] ( https://link.springer.com/article/10.1007/s00440-024-01276-2 ) ·
111+ [ arXiv:2206.01726] ( https://arxiv.org/abs/2206.01726 )
112+ 4 . Cholesky, André-Louis. "Sur la résolution numérique des systèmes d'équations linéaires."
113+ * Bulletin de la Sabix* 39 (2005): 81–95. Manuscript dated 2 December 1910.
114+ [ DOI] ( https://doi.org/10.4000/sabix.529 )
115+ 5 . Brezinski, Claude. "La méthode de Cholesky."
116+ * Revue d'histoire des mathématiques* 11.2 (2005): 205–238.
117+ [ DOI] ( https://doi.org/10.24033/rhm.30 ) ·
118+ [ Full text] ( https://www.numdam.org/articles/10.24033/rhm.30/ )
119+ 6 . Bunch, James R., Linda Kaufman, and Beresford N. Parlett. "Decomposition of a Symmetric Matrix."
120+ * Numerische Mathematik* 27 (1976): 95–109.
121+ [ DOI] ( https://doi.org/10.1007/BF01399088 ) · [ Full text] ( https://eudml.org/doc/132435 )
1091227 . Bareiss, Erwin H. "Sylvester's Identity and Multistep Integer-Preserving Gaussian
110123 Elimination." * Mathematics of Computation* 22.103 (1968): 565–578.
111124 [ DOI] ( https://doi.org/10.1090/S0025-5718-1968-0226829-0 ) ·
@@ -123,6 +136,15 @@ See references [1-3] below.
12313610 . Goldberg, David. "What Every Computer Scientist Should Know About Floating-Point
124137 Arithmetic." * ACM Computing Surveys* 23.1 (1991): 5–48.
125138 [ DOI] ( https://doi.org/10.1145/103162.103163 ) ·
126- [ PDF] ( https://www.validlab.com/goldberg/paper.pdf )
127- Comprehensive survey of IEEE 754 representation, rounding, and exact rational
128- reconstruction of floating-point values.
139+ [ Authorized HTML reprint] ( https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html )
140+ Comprehensive survey of floating-point representation, rounding, and conversion.
141+ 11 . Higham, Nicholas J. * Accuracy and Stability of Numerical Algorithms* . 2nd ed.
142+ Society for Industrial and Applied Mathematics, 2002.
143+ [ DOI] ( https://doi.org/10.1137/1.9780898718027 )
144+ 12 . Golub, Gene H., and Charles F. Van Loan. * Matrix Computations* . 4th ed.
145+ Johns Hopkins University Press, 2013.
146+ [ DOI] ( https://doi.org/10.56021/9781421407944 ) ·
147+ [ Publisher record] ( https://www.press.jhu.edu/books/title/10678/matrix-computations )
148+ 13 . Kalibera, Tomas, and Richard Jones. "Rigorous Benchmarking in Reasonable Time."
149+ * Proceedings of the 2013 International Symposium on Memory Management* (ISMM '13),
150+ 2013: 63–74. [ DOI] ( https://doi.org/10.1145/2464157.2464160 )
0 commit comments