Menu

#4964 linsolve_by_lu raises a raw Lisp error on a singular float matrix

None
open
nobody
5
16 hours ago
16 hours ago
No

linsolve_by_lu on a singular matrix signals a Lisp FLOATING-POINT-INVALID-OPERATION instead of a Maxima error

Maxima 5.49post, SBCL 2.6.7.

(%i1) display2d:false$
(%i2) load(linearalgebra)$
(%i3) print(errcatch(linsolve_by_lu(matrix([1.0,2.0],[2.0,4.0]), matrix([1.0],[2.0]))))$
arithmetic error FLOATING-POINT-INVALID-OPERATION signalled
Operation was (/ 0.0 0.0).
[]

Expected: a Maxima-level diagnostic naming the matrix as singular. invert_by_lu behaves the same way.

Discussion


Log in to post a comment.