[Gsll-devel] inverse-matrix-product

Liam Healy lhealy at common-lisp.net
Wed Feb 25 15:03:19 UTC 2009


On Wed, Feb 25, 2009 at 7:25 AM, Dmitri Hrapof <hrapof at common-lisp.ru> wrote:
> Hello!
>
> Just cloned git repository. In both SBCL 1.0.23 and ClozureCL
> 1.2-r11583M on Linux PPC, with GSL 1.9-3:
>
> CL-USER> (gsll:invert-matrix #m((1 0 2) (-1 3 1) (1 1 0)))
> #<MATRIX-DOUBLE-FLOAT #2A((0.11111111111111116D0 -0.2222222222222222D0
>                           0.6666666666666666D0)
>                          (-0.11111111111111109D0 0.22222222222222224D0
>                           0.3333333333333333D0)
>                          (0.4444444444444444D0 0.1111111111111111D0
>                           -0.3333333333333333D0))>
> CL-USER> (gsll:matrix-product * #m(3 2 1))
> #<VECTOR-DOUBLE-FLOAT #(0.5555555555555557D0 0.44444444444444453D0
>                        1.222222222222222D0)>
> CL-USER> (gsll:inverse-matrix-product #m((1 0 2) (-1 3 1) (1 1 0)) #m(3
> 2 1))
> #<VECTOR-DOUBLE-FLOAT #(1D+-0 #| not-a-number |# -1D++0 1D++0)>
>
> Do I misunderstand something?

No, I get a similar result.   I don't know why.  The macroexpansion to
the foreign function call looks right.
You don't by any chance have a C program calling GSL/BLAS that does
this calculation, do you?
That would help isolate whether the problem is in GSL or GSLL.

>
> Sincerely yours,
> Dmitri
>
> PS and to add insult to injury ;) nonsymmetric-generalized.lisp fails to
> compile, complaining about invalid function call: ("gsl_eigen_gen"
> "gsl_eigen_gen_QZ")
>
I've fixed and pushed this.  There was a bug in how it signaled
obsolete-gsl-version
(generalized eigensystem problems are not supported in GSL 1.9 so if you try to
call those functions it should give you an error).

Thanks for the report.

Liam




More information about the gsll-devel mailing list