Page 1 of 1

Is maxima package broken?

PostPosted: Jan 22nd, '22, 00:20
by adhefe
I've just filed bug 29924 about problems when using Mageia 8's Maxima package.
It happens that the function cholesky can't be used:

Unable to find the Cholesky factorization
-- an error. To debug this try: debugmode(true);


One could use this simple commands in a maxima session to test if wanted:

Code: Select all
(%i1) h:matrix([2,0.2+%i*0.1],[0.2-%i*0.1,1.8]);
(%i2) cholesky(h);

I've already removed config files and reinstall Maxima package.

Posting here just to the case anybody else knows anything about this problem.

Thanks any comments

Re: Is maxima package broken?

PostPosted: Jan 22nd, '22, 06:52
by sturmvogel
That seems not to be a problem with any symbolic linking or the program itself but with your matrix formula
https://www.google.com/search?q=Unable+to+find+the+Cholesky+factorization


I tried the upstream version as appimage. https://sourceforge.net/projects/maxima/files/Maxima-Linux/5.44.0-Linux/

There the same error occurs. So it is either an upstream issue in version 5.44 or your formula/matrix is wrong as already mentioned.

Re: Is maxima package broken?

PostPosted: Jan 22nd, '22, 08:23
by sturmvogel
Same error occurs also on Opensuse Tumbleweed with wxMaxima 21.11.0 and maxima 5.45.1

So no Mageia problem. Either upstream or wrong matrix type as the cholesky function needs spezial types of matrix.
Bugreport against Mageia version is invalid!

Re: Is maxima package broken?

PostPosted: Jan 22nd, '22, 15:19
by sturmvogel
The cholesky function works in maxima if you use the proper matrix. Example from
https://rosettacode.org/wiki/Cholesky_decomposition#Maxima

Code: Select all
(%i3)   a: hilbert_matrix(4)$
           b: cholesky(a);
           b . transpose(b) - a;
(%o2)   matrix(
      [1,   0,   0,   0],
      [1/2,   1/(2*sqrt(3)),   0,   0],
      [1/3,   1/(2*sqrt(3)),   1/(6*sqrt(5)),   0],
      [1/4,   3^(3/2)/20,   1/(4*sqrt(5)),   1/(20*sqrt(7))]
   )
(%o3)   matrix(
      [0,   0,   0,   0],
      [0,   0,   0,   0],
      [0,   0,   0,   0],
      [0,   0,   0,   0]
   )