×

Verified correctness, accuracy, and convergence of a stationary iterative linear solver: Jacobi method. (English) Zbl 07810733

Dubois, Catherine (ed.) et al., Intelligent computer mathematics. 16th international conference, CICM 2023, Cambridge, UK, September 5–8, 2023. Proceedings. Cham: Springer. Lect. Notes Comput. Sci. 14101, 206-221 (2023).
Summary: Solving a sparse linear system of the form \(Ax=b\) is a common engineering task, e.g., as a step in approximating solutions of differential equations. Inverting a large matrix \(A\) is often too expensive, and instead engineers rely on iterative methods, which progressively approximate the solution \(x\) of the linear system in several iterations, where each iteration is a much less expensive (sparse) matrix-vector multiplication.
We present a formal proof in the Coq proof assistant of the correctness, accuracy and convergence of one prominent iterative method, the Jacobi iteration. The accuracy and convergence properties of Jacobi iteration are well-studied, but most past analyses were performed in real arithmetic; instead, we study those properties, and prove our results, in floating-point arithmetic. We then show that our results are properly reflected in a concrete implementation in the C language. Finally, we show that the iteration will not overflow, under assumptions that we make explicit. Notably, our proofs are faithful to the details of the implementation, including C program semantics and floating-point arithmetic.
For the entire collection see [Zbl 1531.68022].

MSC:

68Vxx Computer science support for mathematical research and practice
Full Text: DOI

References:

[1] Ahlberg, JH; Nilson, EN, Convergence properties of the spline fit, J. Soc. Indust. Appl. Math., 11, 95-104 (1963) · Zbl 0196.48701 · doi:10.1137/0111007
[2] Appel, AW; Bertot, Y., C-language floating-point proofs layered with VST and Flocq, J. Formalized Reason., 13, 1, 1-16 (2020) · Zbl 1508.68032
[3] Appel, A.W., Kellison, A.E.: VCFloat2: floating-point error analysis in Coq (2022). https://github.com/VeriNum/vcfloat/blob/master/doc/vcfloat2.pdf
[4] Barrett, R., et al.: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM (1994)
[5] Boldo, S.; Clément, F.; Filliâtre, JC; Mayero, M.; Melquiond, G.; Weis, P., Wave equation numerical resolution: a comprehensive mechanized proof of a C program, J. Autom. Reason., 50, 4, 423-456 (2013) · Zbl 1267.68208 · doi:10.1007/s10817-012-9255-4
[6] Boldo, S.; Clément, F.; Filliâtre, JC; Mayero, M.; Melquiond, G.; Weis, P., Trusting computations: a mechanized proof from partial differential equations to actual program, Comput. Math. Appl., 68, 3, 325-352 (2014) · Zbl 1369.35051
[7] Boldo, S.; Lelay, C.; Melquiond, G., Coquelicot: a user-friendly library of real analysis for Coq, Math. Comput. Sci., 9, 1, 41-62 (2015) · Zbl 1322.68176 · doi:10.1007/s11786-014-0181-1
[8] Boldo, S., Melquiond, G.: Flocq: a unified library for proving floating-point algorithms in Coq. In: 2011 IEEE 20th Symposium on Computer Arithmetic, pp. 243-252. IEEE (2011)
[9] Cano, G., Dénès, M.: Matrices à blocs et en forme canonique. In: Pous, D., Tasson, C. (eds.) JFLA - Journées francophones des langages applicatifs. Aussois, France (2013). https://hal.inria.fr/hal-00779376
[10] Cao, Q.; Beringer, L.; Gruetter, S.; Dodds, J.; Appel, AW, VST-Floyd: a separation logic tool to verify correctness of C programs, J. Autom. Reason., 61, 1-4, 367-422 (2018) · Zbl 1451.68169 · doi:10.1007/s10817-018-9457-5
[11] Garillot, F.; Gonthier, G.; Mahboubi, A.; Rideau, L.; Berghofer, S.; Nipkow, T.; Urban, C.; Wenzel, M., Packaging mathematical structures, Theorem Proving in Higher Order Logics, 327-342 (2009), Heidelberg: Springer, Heidelberg · Zbl 1252.68253 · doi:10.1007/978-3-642-03359-9_23
[12] Gleich, DF, Pagerank beyond the web, SIAM Rev., 57, 3, 321-363 (2015) · Zbl 1336.05122 · doi:10.1137/140976649
[13] Higham, N.J.: Accuracy and Stability of Numerical Algorithms. SIAM (2002) · Zbl 1011.65010
[14] Higham, NJ; Knight, PA; Meyer, CD; Plemmons, RJ, Componentwise error analysis for stationary iterative methods, Linear Algebra, Markov Chains, and Queueing Models, 29-46 (1993), New York: Springer, New York · Zbl 0794.65034 · doi:10.1007/978-1-4613-8351-2_3
[15] Immler, F.: A Verified ODE Solver and Smale’s 14th Problem. Dissertation, Technische Universität München, München (2018)
[16] Immler, F.; Hölzl, J.; Beringer, L.; Felty, A., Numerical analysis of ordinary differential equations in Isabelle/HOL, Interactive Theorem Proving, 377-392 (2012), Heidelberg: Springer, Heidelberg · Zbl 1360.68753 · doi:10.1007/978-3-642-32347-8_26
[17] Immler, F.; Traut, C., The flow of ODEs: formalization of variational equation and Poincaré map, J. Autom. Reason., 62, 2, 215-236 (2019) · Zbl 1468.68325 · doi:10.1007/s10817-018-9449-5
[18] Katz, L., A new status index derived from sociometric analysis, Psychometrika, 18, 1, 39-43 (1953) · Zbl 0053.27606 · doi:10.1007/BF02289026
[19] Kellison, A., Tekriwal, M., Jeannin, J.B., Hulette, G.: Towards verified rounding error analysis for stationary iterative methods. In: 2022 IEEE/ACM Sixth International Workshop on Software Correctness for HPC Applications (Correctness), pp. 10-17 (2022). doi:10.1109/Correctness56720.2022.00007
[20] Kellison, A.E., Appel, A.W.: Verified numerical methods for ordinary differential equations. In: 15th International Workshop on Numerical Software Verification (2022)
[21] Kellison, A.E., Appel, A.W., Tekriwal, M., Bindel, D.: LAProof: a library of formal accuracy and correctness proofs for sparse linear algebra programs (2023). https://www.cs.princeton.edu/ appel/papers/LAProof.pdf
[22] Mahboubi, A., Tassi, E.: Mathematical components. Online book (2021)
[23] Martin-Dorel, É., Rideau, L., Théry, L., Mayero, M., Pasca, I.: Certified, efficient and sharp univariate Taylor models in Coq. In: 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, pp. 193-200. IEEE (2013)
[24] McKenzie, L.: Matrices with dominant diagonals and economic theory. In: Arroa, K., Karlin, S., Puppes, S. (eds.) Mathematical Methods in the Social Sciences, pp. 47-60. Stanford University Press (1960) · Zbl 0099.36305
[25] O’Connor, R.; Mohamed, OA; Muñoz, C.; Tahar, S., Certified exact transcendental real number computation in Coq, Theorem Proving in Higher Order Logics, 246-261 (2008), Heidelberg: Springer, Heidelberg · Zbl 1165.68466 · doi:10.1007/978-3-540-71067-7_21
[26] Pasca, I.: Formal verification for numerical methods. Ph.D. thesis, Université Nice Sophia Antipolis (2010)
[27] Saad, Y.: Iterative Methods for Sparse Linear Systems. SIAM (2003) · Zbl 1031.65046
[28] Tekriwal, M.; Duraisamy, K.; Jeannin, J-B; Dutle, A.; Moscato, MM; Titolo, L.; Muñoz, CA; Perez, I., A formal proof of the lax equivalence theorem for finite difference schemes, NASA Formal Methods, 322-339 (2021), Cham: Springer, Cham · doi:10.1007/978-3-030-76384-8_20
[29] Tekriwal, M., Miller, J., Jeannin, J.B.: Formal verification of iterative convergence of numerical algorithms (2022). doi:10.48550/arXiv.2202.05587
[30] Thiemann, R.: A Perron-Frobenius theorem for deciding matrix growth. J. Log. Algebraic Methods Program. 100699 (2021) · Zbl 1528.68394
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.