Items tagged with linearalgebra linearalgebra Tagged Items Feed

hi all.

I have wrore the following program for optimization with bernstein and block pulse hybrid functions.

the program have some errors which i can't understand.

Bernestien1.mws

restart:

alias(C=binomial):
with(LinearAlgebra):
macro(LA= LinearAlgebra):


HybrFunc:=proc(N, M,  tj)               # N=Number of subintervals,  M=Number of functions in subintervals
 
local B, n, m;

global b;

for n from 1 to N do
for m from 0 to M-1 do

B := (i,m,t) -> C(m,i)*(1-t)^(m-i)*t^i:

b[n,m]:=unapply(piecewise(t>=(n-1)*tj/N and t<n*tj/N, B(m,2,N*t-(n-1)*tj), 0), t):
 od:od:


Array(1..N, 0..M-1, (n,m)->b[n,m](t)):

#convert(%,vector);
end proc:

HybrFunc(3, 3, 1);




                                       # End Of Definition
 
g2(t):=t;            #*exp(t-1):                      # Any other function can be replaced here
    

g1(t):=add(add(c[n,m]*b[n,m](t), m=0..2), n=1..3);
Optimization[Minimize](sqrt(int((g2(t)-g1(t))^2, t=0.. 1)));
assign(op(%[2]));
plot([g2(t),g1(t)], t=0..1, 0..5, color=[blue,red],thickness=[1,3],discont, scaling=constrained);

Array(1 .. 3, 0 .. 2, {(1, 0) = piecewise(0 <= t and t < 1/3, (1-3*t)^2, 0), (1, 1) = piecewise(0 <= t and t < 1/3, (6*(1-3*t))*t, 0), (1, 2) = piecewise(0 <= t and t < 1/3, 9*t^2, 0), (2, 0) = piecewise(1/3 <= t and t < 2/3, (2-3*t)^2, 0), (2, 1) = piecewise(1/3 <= t and t < 2/3, (2*(2-3*t))*(3*t-1), 0), (2, 2) = piecewise(1/3 <= t and t < 2/3, (3*t-1)^2, 0), (3, 0) = piecewise(2/3 <= t and t < 1, (3-3*t)^2, 0), (3, 1) = piecewise(2/3 <= t and t < 1, (2*(3-3*t))*(3*t-2), 0), (3, 2) = piecewise(2/3 <= t and t < 1, (3*t-2)^2, 0)}, datatype = anything, storage = rectangular, order = Fortran_order)

g2(t) := t

"g1(t):=c[1,0] ({[[(1-3 t)^2,0<=t and t<1/3],[0,otherwise]])+c[1,1] ({[[6 (1-3 t) t,0<=t and t<1/3],[0,otherwise]])+c[1,2] ({[[9 t^2,0<=t and t<1/3],[0,otherwise]])+c[2,0] ({[[(2-3 t)^2,1/3<=t and t<2/3],[0,otherwise]])+c[2,1] ({[[2 (2-3 t) (3 t-1),1/3<=t and t<2/3],[0,otherwise]])+c[2,2] ({[[(3 t-1)^2,1/3<=t and t<2/3],[0,otherwise]])+c[3,0] ({[[(3-3 t)^2,2/3<=t and t<1],[0,otherwise]])+c[3,1] ({[[2 (3-3 t) (3 t-2),2/3<=t and t<1],[0,otherwise]])+c[3,2] ({[[(3 t-2)^2,2/3<=t and t<1],[0,otherwise]])"

Error, (in Optimization:-NLPSolve) complex value encountered

Error, invalid left hand side in assignment

(1)



Download Bernestien1.mws

 I'll be so grateful if any one can help me.

Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department

i googled nullspace from ReducedRowEchelonForm

but when calculate it, ReducedRowEchelonForm do not contain the eigenvector in nullspace

how to calculate nullspace by hand?

 

i find that in maple 12 and maple 15 null space are different , however the common thing is that they are different from eigenvector by one of column multiply -1

is multiplication to one of column is due to rank=2 < 3, 3-2 = 1, so that random choose a column to multiply -1?

 

then i use elementary transformation, still can not get a rref which is like eigenvector, where is wrong?

sys1:=NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]); sys1 := Matrix([[sys1[1,1], sys1[1,2], sys1[1,3]], [sys1[2,1]-sys1[2,1]/sys1[1,1]*sys1[1,1], sys1[2,2]-sys1[2,1]/sys1[1,1]*sys1[1,2], sys1[2,3]-sys1[2,1]/sys1[1,1]*sys1[1,3]], [sys1[3,1], sys1[3,2], sys1[3,3]]]);

sys1 := Matrix([[sys1[1,1], sys1[1,2], sys1[1,3]], [sys1[2,1], sys1[2,2], sys1[2,3]], [sys1[3,1]-sys1[3,1]/sys1[1,1]*sys1[1,1], sys1[3,2]-sys1[3,1]/sys1[1,1]*sys1[1,2], sys1[3,3]-sys1[3,1]/sys1[1,1]*sys1[1,3]]]);

sys1 := Matrix([[sys1[1,1]/sys1[1,1], sys1[1,2]/sys1[1,1], sys1[1,3]/sys1[1,1]], [sys1[2,1], sys1[2,2], sys1[2,3]], [sys1[3,1], sys1[3,2], sys1[3,3]]]);

sys1 := Matrix([[sys1[1,1], sys1[1,2], sys1[1,3]], [sys1[2,1], sys1[2,2], sys1[2,3]], [sys1[3,1]-sys1[3,2]/sys1[2,2]*sys1[2,1], sys1[3,2]-sys1[3,2]/sys1[2,2]*sys1[2,2], sys1[3,3]-sys1[3,2]/sys1[2,2]*sys1[2,3]]]);

sys1 := Matrix([[sys1[1,1], sys1[1,2], sys1[1,3]], [sys1[2,1]/sys1[2,2], sys1[2,2]/sys1[2,2], sys1[2,3]/sys1[2,2]], [sys1[3,1], sys1[3,2], sys1[3,3]]]);

 

http://rosettacode.org/wiki/Reduced_row_echelon_form#C.23

change c# code from integer to double, it return only an identity matrix. same as maple, how eigenvector come from rref?

 

when compare maple with sympy in python27,

sympy even do not have solution in nullspace!!!

from sympy import *
InputMatrix3 = Matrix([[31.25,30.8,30.5],[30.8,30.5,0],[30.5,0,0]])
NewInput3 := InputMatrix3.T*InputMatrix3
NewInput3.nullspace()

 

InputMatrix3 := Matrix([[31.25,30.8,30.5],[30.8,30.5,0],[30.5,0,0]]);
NewInput3 := MatrixMatrixMultiply(Transpose(InputMatrix3), InputMatrix3);
Old_Asso_eigenvector := Eigenvectors(NewInput3);
FirstEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[3]; # find back eigenvalue from eigenvector
SecondEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[2]; # find back eigenvalue from eigenvector
ThirdEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[1]; # find back eigenvalue from eigenvector
sys1:=NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]);
sys2:=NewInput3-Matrix([[SecondEigenValue, 0, 0], [0, SecondEigenValue, 0], [0, 0, SecondEigenValue]]);
sys3:=NewInput3-Matrix([[ThirdEigenValue, 0, 0], [0, ThirdEigenValue, 0], [0, 0, ThirdEigenValue]]);
sys1b:=MatrixMatrixMultiply(NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]),Matrix([[x],[y],[z]]));
sys2b:=MatrixMatrixMultiply(NewInput3-Matrix([[SecondEigenValue, 0, 0], [0, SecondEigenValue, 0], [0, 0, SecondEigenValue]]),Matrix([[x],[y],[z]]));
sys3b:=MatrixMatrixMultiply(NewInput3-Matrix([[ThirdEigenValue, 0, 0], [0, ThirdEigenValue, 0], [0, 0, ThirdEigenValue]]),Matrix([[x],[y],[z]]));

sys1:=NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]);
sys2:=NewInput3-Matrix([[SecondEigenValue, 0, 0], [0, SecondEigenValue, 0], [0, 0, SecondEigenValue]]);
sys3:=NewInput3-Matrix([[ThirdEigenValue, 0, 0], [0, ThirdEigenValue, 0], [0, 0, ThirdEigenValue]]);
ReducedRowEchelonForm(sys1);
NullSpace(sys1);
NullSpace(sys2);
NullSpace(sys3);

 

convert(50, base, 12);

this can change base for integer, however can not change decimal

assume i change decimal to fraction first and then apply convert base to 12 to numer and denom, and divide again to get decimal

it may get a decimal based on base 12

however, how to make this base 12 operation apply in linear algebra calculation

if not using

EigenvectorSol := simplify(solve({seq(seq((NewMatrix3 . NewInput3(1..-1,i))[j]=(v[i]* NewInput3(1..-1,i))[j], j=1..3), i=1..3)}, {seq(x||i, i=1..9)}));

and if want to see clearly the steps about how to solve for eignvector, how to do?

because i use solve, it has error

InputMatrix3 := Matrix([[31.25,30.8,30.5],[30.8,30.5,0],[30.5,0,0]]);

NewInput3 := MatrixMatrixMultiply(Transpose(InputMatrix3), InputMatrix3);

FirstEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[1]; # find back eigenvalue from eigenvector

SecondEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[2]; # find back eigenvalue from eigenvector

ThirdEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[3]; # find back eigenvalue from eigenvector

v:=[ FirstEigenValue, SecondEigenValue, ThirdEigenValue];

NewMatrix3 := Matrix([[x1,x2,x3], [x4,x5,x6], [x7,x8,x9]]);

EigenvectorSol := simplify(solve({seq(seq((NewMatrix3 . NewInput3(1..-1,i))[j]=(v[i]* NewInput3(1..-1,i))[j], j=1..3), i=1..3)}, {seq(x||i, i=1..9)}));

EigenvectorT := Matrix([[rhs(EigenvectorSol[1]), rhs(EigenvectorSol[2]), rhs(EigenvectorSol[3])],[ rhs(EigenvectorSol[4]), rhs(EigenvectorSol[5]), rhs(EigenvectorSol[6])],[ rhs(EigenvectorSol[7]), rhs(EigenvectorSol[8]), rhs(EigenvectorSol[9])]]);

Old_Asso_eigenvector := Eigenvectors(MatrixMatrixMultiply(Transpose(InputMatrix3), InputMatrix3));

 

sys1:=MatrixMatrixMultiply(NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]),Matrix([[x],[y],[z]]));

sys1a := NewInput3-Matrix([[FirstEigenValue, 0, 0], [0, FirstEigenValue, 0], [0, 0, FirstEigenValue]]);

 

fsolve({sys1[1][1]=0,sys1[2][1]=0,sys1[3][1]=0}, {x,y,z});

solve([sys1[1][1]=0,sys1[2][1]=0,sys1[3][1]=0], [x,y,z]);

solve([sys1[1]=0,sys1[2]=0,sys1[3]=0], [x,y,z]);

> solve([sys1[1] = 0, sys1[2] = 0, sys1[3] = 0], [x, y, z]);

Error, invalid input: solve expects its 1st argument, eqs, to be of type {`and`, `not`, `or`, algebraic, relation(algebraic), ({set, list})({`and`, `not`, `or`, algebraic, relation(algebraic)})}, but received [(Vector[row](1, {(1) = HFloat(2571.1332294000003)*x+HFloat(1901.9)*y+HFloat(953.125)*z})) = 0, (Vector[row](1, {(1) = HFloat(1901.9)*x+HFloat(1594.5707294000001)*y+HFloat(939.4)*z})) = 0, (Vector[row](1, {(1) = HFloat(953.125)*x+HFloat(939.4)*y+HFloat(645.9307294)*z})) = 0]

 

 

v1 := <sys1a[1,1] | sys1a[1,2] | sys1a[1,3]>;

v2 := <sys1a[2,1] | sys1a[2,2] | sys1a[2,3]>;

v3 := <sys1a[3,1] | sys1a[3,2] | sys1a[3,3]>;

 

v1 := <sys1a[1,1] | sys1a[2,1] | sys1a[3,1]>;

v2 := <sys1a[1,2] | sys1a[2,2] | sys1a[3,2]>;

v3 := <sys1a[1,3] | sys1a[2,3] | sys1a[3,3]>;

eigenvector1 := Basis([v1, v2, v2]);

eliminate({sys1[1][1]=0,sys1[2][1]=0,sys1[3][1]=0},{x,y,z});

eliminate({sys1[1][1]=0,sys1[1][2]=0,sys1[1][3]=0},{x,y,z});

 

sys1:=MatrixMatrixMultiply(NewInput3-Matrix([[SecondEigenValue, 0, 0], [0, SecondEigenValue, 0], [0, 0, SecondEigenValue]]),Matrix([[x],[y],[z]]));

solve([sys1[1][1]=0,sys1[2][1]=0,sys1[3][1]=0], [x,y,z]);

sys1:=MatrixMatrixMultiply(NewInput3-Matrix([[ThirdEigenValue, 0, 0], [0, ThirdEigenValue, 0], [0, 0, ThirdEigenValue]]),Matrix([[x],[y],[z]]));

solve([sys1[1][1]=0,sys1[2][1]=0,sys1[3][1]=0], [x,y,z]);

 

https://drive.google.com/file/d/0B2D69u2pweEvUDJIeGlOVjFvNWc/edit?usp=sharing
https://drive.google.com/file/d/0B2D69u2pweEvV1BiRXhULTNPcWM/edit?usp=sharing
https://drive.google.com/file/d/0B2D69u2pweEvdXNrRlNadldXS0U/edit?usp=sharing

i find that maple 15 values are the same as extreme optimization library however, the sign are different

is it maple 15 accuracy correct or extreme library correct?

https://drive.google.com/file/d/0B2D69u2pweEvT01pazBxOEk1bWc/edit?usp=sharing

i worry for my research whether based on correct accuracy.

 

it can run without error in maple 15, however, the eigenvector values are wrong in maple 15 different from eigenvector function's result

then i test it in maple 12, it got error when run with following input

Warning, solutions may have been lost
Error, invalid input: simplify uses a 1st argument, s, which is missing
> InputMatrix3;
                           [[30.15,29.95,29.95],[29.95,29.95,0],[29.95,0,0]]

NewInput3 := MatrixMatrixMultiply(Transpose(InputMatrix3), InputMatrix3);
FirstEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[1]; # find back eigenvalue from eigenvector
SecondEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[2]; # find back eigenvalue from eigenvector
ThirdEigenValue := solve(Determinant(NewInput3-Matrix([[lambda1, 0, 0], [0, lambda1, 0], [0, 0, lambda1]])), lambda1)[3]; # find back eigenvalue from eigenvector
v:=[ FirstEigenValue, SecondEigenValue, ThirdEigenValue];
NewMatrix3 := Matrix([[x1,x2,x3], [x4,x5,x6], [x7,x8,x9]]);
EigenvectorSol := simplify(solve({seq(seq((NewMatrix3 . NewInput3(1..-1,i))[j]=(v[i]* NewInput3(1..-1,i))[j], j=1..3), i=1..3)}, {seq(x||i, i=1..9)}));
EigenvectorT := Matrix([[rhs(EigenvectorSol[1]), rhs(EigenvectorSol[2]), rhs(EigenvectorSol[3])],[ rhs(EigenvectorSol[4]), rhs(EigenvectorSol[5]), rhs(EigenvectorSol[6])],[ rhs(EigenvectorSol[7]), rhs(EigenvectorSol[8]), rhs(EigenvectorSol[9])]]);
Old_Asso_eigenvector := Eigenvectors(MatrixMatrixMultiply(Transpose(InputMatrix3), InputMatrix3));

Hi,

I have these lines in my code, the function alpha:=(m,n,1)->...... is defined in the last line of the code below, but when I want to calculate alpah(1,1,1), there is no numeric value. Why????  Many thinks

 

 restart:
with(LinearAlgebra):
with(plots):
with(PDEtools):
with(IntegrationTools):
interface(rtablesize=20):
d:=1: N:=2: a:=1: h:=a/N:
Kernel(x,y):=ln(abs(x-y)):

 eq2:=int(Kernel(x,y)*phi(y),y=-a..a)=sum(int(Kernel(x,y)*phi(y),y=n*h..(n+d)*h),n=-N..N-d):

Approximate the integral
eq3:=phi->int(Kernel(x,y)*phi(y),y=n*h..(n+d)*h)=add(beta[i,n]*phi((n+i-1)*h),i=1..d+1):
eq4:=int(Kernel(x,y)*phi(y),y=n*h..(n+d)*h)=add(alpha[m,n,i]*phi((n+i-1)*h),i=1..d+1):

Compute the coefficients  beta[i]

Vct_basis:=[seq(x^i,i=0..d+1)]:
fct:=[seq(unapply(Vct_basis[i],x),i=1..d+2)]:


sys:=[seq(eq3(fct[i]),i=1..d+1)]:
x:=m*h:
w := [seq(beta[i,n],i=1..d+1)]:
M,b := GenerateMatrix(sys,w):

M1:=-M: V:=-b:

Vect_beta:=(M1)^(-1).V:# Vect_beta is a vector.

beta[1]:=Vect_beta[1]:  
alpha1:=(n,m)->beta[1];
(n, m) -> beta[1]
alpaha(1,1);
                                alpaha(1, 1)  ??????????????????? No numeric result


Hello,

Anyone can help me with the problem ?

I want to solve b1..b50

> restart; with(plots); with(LinearAlgebra); with(Statistics);
> m0 := proc (t) options operator, arrow; 1-exp((-1)*t*.5) end proc;
t -> 1 - exp((-1) t 0.5)
> m := proc (t) options operator, arrow; (1/(1+exp(-t+5))-0.67e-2)*1.0067 end proc;
/ 1 \
t -> |--------------- - 0.0067| 1.0067
\1 + exp(-t + 5) /
> n[max] := 10; delt := .2; n := n[max]/delt;
10
0.2
50.00000000
> T := Vector(50);
> b := vector(50); evalm(b);

> for i from 2 to n do T[i] := T[i-1]+delt end do;
> fun := proc (t) options operator, arrow; add(b[i]*m0(t-T[i]), i = 1 .. n) end proc;
> fun(t);
> fu := vector(50);

> for x to 49 do fu[x] := fun(x*delt) = m(x*delt) end do;
> s := solve({fu[1 .. 50]}, {b[1 .. 50]});

 

 

Thanks,

gerst

ProjOfEigenVector := MatrixMatrixMultiply(BeProjected, (Transpose(OrthoBasis).MatrixInverse(MatrixMatrixMultiply(OrthoBasis, Transpose(OrthoBasis)), method = pseudo).OrthoBasis));

i use definition of this 

# P=(A*B’).inv(B*B’).B

#P=A*(B’).inv(B*B’).B)

however, no matter whatever matrix A pass into this equation in order to project onto B,

it still return the original matrix A

how can this definition be used to project a matrix onto another matrix?

how to correctly to project a matrix onto another matrix

how to decompose a matrix into time invariant and time variant 

is it possible to make time invariant and time variant template and then decompose into it

 

i mean decomposition can be 

 time invariant matrix + time variant matrix

or

 time invariant matrix * time variant matrix

 dsolve([Diff(f, t) = f, Diff(f,t) + g = h], f);

 dsolve([Diff(f, t) = f, Diff(f,t)*g = h], f);

where h is orthogonal matrix, f,g,h are matrix

would like to find g and f from h

 

can dsolve solve differential equation of matrix ? how?

 

dsolve([Diff(f(t), t) = f(t), Diff(f(t),t) + g(t) = h1(x)*h2(x), int(h1(x)*h2(x),x=-1..1) = 0], [f(t),g(t),h1(x),h2(x)]);


dsolve([Diff(f(t), t) = f(t), Diff(f(t),t)*g(t) = h1(x)*h2(x), int(h1(x)*h2(x),x=-1..1) = 0], [f(t),g(t),h1(x),h2(x)]);

 

assume x^2 + 1 is from interpolation of polynomial

pdsolve([Diff(f(t), t) = f(t), Diff(f(t),t) + g(t) = h1(x,t)*h2(x,t), h1(x,t)*h2(x,t)= x^2+1], [f(t),g(t),h1(x,t),h2(x,t)]);
pdsolve([Diff(f(t), t) = f(t), Diff(f(t),t)*g(t) = h1(x,t)*h2(x,t), h1(x,t)*h2(x,t) = x^2+1], [f(t),g(t),h1(x,t),h2(x,t)]);

these system can not be solved

 

hope no real number any more after decomposition and only have iinteger in I time invariant function

if kernel is solve(A*x, x);

then , what is cokernel of a numeric matrix ?

how to solve this case which like sylvester

NullSpace(A*X+X*A) = B

find X?

 any things like 

A*X + X*A = NullSpace^-1(B)

 

if i assume Matrix([[x1,x2,x3],[x4,x5,x6],[x7,x8,x9]]);

find NullSpace(Matrix([[x1,x2,x3],[x4,x5,x6],[x7,x8,x9]]))

then from the equation of it, put all equations = 0, and then solve them

and then substitue value of B into the result, can it be said NullSpace^-1(B)?

a = c1*b + c2*c;
b = c3*a + c4*c;

where a, b, c are vector, a is linear combination of b and c, b is linear combination of a and c, and c1^2 + c2^2 = 1, c3^2 + c4^2 = 1

assume equation for a = c1*b + c2*c; is
Matrix([[y1],[y2]]) = Matrix([[x1,x2],[x3,x4]])*Matrix([[c1],[c2]]);

how to find c1 and c2 when c1^2 + c2^2 = 1

 

nothing return after solve({y1 = c1*x1 + c2*x2, y2 = c1*x3 + c2*x4, c1^2 + c2^2 = 1}, {c1,c2});

Hello,
my question may be simple but I don't find the answer in any help guide.
when I define a function I cannot use a linearalgebra expression such as Trace.
Here is an example of what I would like to do:




If anyone can help me...
Thank you

I have following expression

f:=t->((1/8)*s^2*sinh(4*t)+t+(1/2)*s^2*t+s*sinh(2*t))/(1+s*cosh(2*t))

which is 1 solution of the ODE

ode2 := -(diff(y(t), t, t))+(4-12/(1+s*cosh(2*t))+(8*(-s^2+1))/(1+s*cosh(2*t))^2)*y(t) = 0

Now I wanted to construct 2 linear independent solutions via:

f1:=f(t_b-t)

f2:=f(t-t_a)

and calculate the Wronskian:

with(LinearAlgebra); with(VectorCalculus)

Determinant(Wronskian([f(t_b-t), f(t-t_a)], t))

Since I know these functions are solutions of the second order ODE which does not contain any first order derivative the Wronskian should be a constant. Unfortunately Maple has a hard time to simplify it since the epxression is a little big. Is it my fault or has anyone an idea what to do?

I am using the ColumnSpace command (from the LinearAlgebra package) to generate a basis for the column space of a matrix. Is there any way to "force" the command to express the basis in terms of columns of A and not in the canonical form with leading 1's?

For example, for

A:=Matrix([[-3,6,-1,1-7],[1,-2,2,3,-1],[2,-4,5,8,-4]]):

I would like to obtain the following basis for the column space:

{[-3,1,2],[-1,2,5]}

 

1 2 3 4 Page 1 of 4