[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gsl] Problem with gsl
From: |
Abdul-Rahman Advany |
Subject: |
[Help-gsl] Problem with gsl |
Date: |
Wed, 30 Jan 2008 19:14:11 +0100 |
Hi guys,
I am working with rb-gsl but I think there is some error that is comming
from gsl as the error message is "matrix/vector sizes are not conformant"
I am trying to multiply 3 matrixes:
bob: "GSL::Matrix\n[ 5.000e+00 5.000e+00 0.000e+00 0.000e+00 0.000e+00
5.000e+00 ]"
u2: "GSL::Matrix\n[ -4.472e-01 -3.586e-01 -2.925e-01 -2.078e-01 -5.099e-01 -
5.316e-01 \n 5.373e-01 -2.461e-01 4.033e-01 -6.700e-01 -5.970e-02 -
1.887e-01 ]"
eig2.inv: "GSL::Matrix\n[ 5.645e-02 0.000e+00 \n 0.000e+00 1.565e-01 ]"
I am executing the code bobEmbed = bob * u2 * eig2.inv to embed bob into the
larger matrix.
Only getting the error "GSL::ERROR::EBADLEN Exception: Ruby/GSL error code
19, matrix column size and vector length are not equal (file
getset_source.c, line 146), matrix/vector sizes are not conformant"
My code is
require "gsl"
m = GSL::Matrix[
[5,5,0,5],
[5,0,3,4],
[3,4,0,3],
[0,0,5,3],
[5,4,4,5],
[5,4,5,5]
]
u, vt, s = m.SV_decomp
s = GSL::Matrix.diagonal(s)
u2 = GSL::Matrix[u.column(0), u.column(1)].transpose
v2 = GSL::Matrix[vt.column(0), vt.column(1)].transpose
eig2 = GSL::Matrix[s.column(0).to_a.flatten[0,2], s.column
(1).to_a.flatten[0,2]]
# add bob
bob = GSL::Matrix[[5,5,0,0,0,5]]
bobEmbed = bob * u2 * eig2.inv
Could someone give my some pointers how to fix this?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Help-gsl] Problem with gsl,
Abdul-Rahman Advany <=