Subject: Rank of matrix with some elements limited to inf
From: Stefano Ferri
Date: Fri, 24 Jul 2009 09:33:38 +0200
Maybe this question is related to my mathematical ignorance :-|
In a previous e-mail, I had to map a limit over a matrix. Some elements were
limited to inf. Rank of original (K) and modified (K2) matrix are both 42, but
with K2 rank is very slow. There area lot of elements that were limited to
inf.
(%i3) rank(K2);
Evaluation took 90.1376 seconds (103.4664 elapsed) using 898.014 MB.
(%o3) 42
(%i4) rank(K);
Evaluation took 0.5800 seconds (0.6525 elapsed) using 3.068 MB.
(%o4) 42
I don't know nothing about theory of matrices rank when some elements are non-
finite, this is a curiosity. Nor I know how rank() computes the rank, I'm aware
inf is not like other finite symbols...
Anyway, in my code I'm computing the rank over K and not K2 :-)
Thanks
Stefano
P.S. I repeat here the original matrix:
K:matrix([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0],
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0],
[0,0,4*E*I/l,0,0,0,3*sqrt(3)*E*I/l^2,-3*E*I/l^2,2*E*I/l,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,A*E/l+bk,0,0,0,0,0,0,0,0,0,0,0,-A*E/l,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,12*E*I/l^3+bk,6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,
-12*E*I/l^3,6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0],
[0,0,0,0,6*E*I/l^2,4*E*I/l,0,0,0,0,0,0,0,0,0,0,-6*E*I/l^2,
2*E*I/l,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,3*sqrt(3)*E*I/l^2,0,0,0,9*E*I/l^3+A*E/(4*l)+bk,
sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,3*sqrt(3)*E*I/l^2,-bk,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,-3*E*I/l^2,0,0,0,sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,
3*E*I/l^3+3*A*E/(4*l)+bk,-3*E*I/l^2,0,-bk,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,2*E*I/l,0,0,0,3*sqrt(3)*E*I/l^2,-3*E*I/l^2,4*E*I/l,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,-bk,0,0,9*E*I/l^3+A*E/(4*l)+2*bk,
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),3*sqrt(3)*E*I/l^2,-bk,0,0,
0,0,0,-9*E*I/l^3-A*E/(4*l),sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,
3*sqrt(3)*E*I/l^2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,-bk,0,3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),
3*E*I/l^3+3*A*E/(4*l)+2*bk,3*E*I/l^2,0,-bk,0,0,0,0,
sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,-3*E*I/l^3-3*A*E/(4*l),
3*E*I/l^2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,3*sqrt(3)*E*I/l^2,3*E*I/l^2,4*E*I/l,0,0,0,0,
0,0,-3*sqrt(3)*E*I/l^2,-3*E*I/l^2,2*E*I/l,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,-bk,0,0,A*E/l+bk,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-A*E/l,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,-bk,0,0,12*E*I/l^3+bk,6*E*I/l^2,0,0,0,0,0,
0,0,0,0,0,0,0,0,-12*E*I/l^3,6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,6*E*I/l^2,4*E*I/l,0,0,0,0,0,0,0,0,0,
0,0,0,0,-6*E*I/l^2,2*E*I/l,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,-A*E/l,0,0,0,0,0,0,0,0,0,0,0,A*E/l+bk,0,0,-bk,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,-12*E*I/l^3,-6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,
12*E*I/l^3+bk,-6*E*I/l^2,0,-bk,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0],
[0,0,0,0,6*E*I/l^2,2*E*I/l,0,0,0,0,0,0,0,0,0,0,-6*E*I/l^2,
4*E*I/l,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,-9*E*I/l^3-A*E/(4*l),
sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,-3*sqrt(3)*E*I/l^2,0,0,0,
-bk,0,0,9*E*I/l^3+A*E/(4*l)+2*bk,
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),-3*sqrt(3)*E*I/l^2,-bk,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,
-3*E*I/l^3-3*A*E/(4*l),-3*E*I/l^2,0,0,0,0,-bk,0,
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),3*E*I/l^3+3*A*E/(4*l)+2*bk,
-3*E*I/l^2,0,-bk,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,3*sqrt(3)*E*I/l^2,3*E*I/l^2,2*E*I/l,0,0,0,0,
0,0,-3*sqrt(3)*E*I/l^2,-3*E*I/l^2,4*E*I/l,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-bk,0,0,
9*E*I/l^3+A*E/(4*l)+2*bk,sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,
-3*sqrt(3)*E*I/l^2,-bk,0,0,0,0,0,-9*E*I/l^3-A*E/(4*l),
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),-3*sqrt(3)*E*I/l^2,0,0,0,0,
0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-bk,0,
sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,3*E*I/l^3+3*A*E/(4*l)+2*bk,
3*E*I/l^2,0,-bk,0,0,0,0,3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),
-3*E*I/l^3-3*A*E/(4*l),3*E*I/l^2,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3*sqrt(3)*E*I/l^2,
3*E*I/l^2,4*E*I/l,0,0,0,0,0,0,3*sqrt(3)*E*I/l^2,-3*E*I/l^2,
2*E*I/l,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-bk,0,0,A*E/l+bk,0,0,
0,0,0,0,0,0,0,0,0,-A*E/l,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-bk,0,0,
12*E*I/l^3+bk,6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,-12*E*I/l^3,
6*E*I/l^2,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6*E*I/l^2,
4*E*I/l,0,0,0,0,0,0,0,0,0,0,-6*E*I/l^2,2*E*I/l,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,-A*E/l,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
A*E/l+bk,0,0,-bk,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-12*E*I/l^3,-6*E*I/l^2,0,0,0,0,0,0,0,
0,0,0,0,0,0,12*E*I/l^3+bk,-6*E*I/l^2,0,-bk,0,0,0,0,0,0,0,0,0,
0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,6*E*I/l^2,2*E*I/l,0,0,0,0,0,0,0,0,0,
0,0,0,0,-6*E*I/l^2,4*E*I/l,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-9*E*I/l^3-A*E/(4*l),
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),3*sqrt(3)*E*I/l^2,0,0,0,
-bk,0,0,9*E*I/l^3+A*E/(4*l)+2*bk,
sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,3*sqrt(3)*E*I/l^2,-bk,0,0,
0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),-3*E*I/l^3-3*A*E/(4*l),
-3*E*I/l^2,0,0,0,0,-bk,0,sqrt(3)*A*E/(4*l)-3*sqrt(3)*E*I/l^3,
3*E*I/l^3+3*A*E/(4*l)+2*bk,-3*E*I/l^2,0,-bk,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3*sqrt(3)*E*I/l^2,
3*E*I/l^2,2*E*I/l,0,0,0,0,0,0,3*sqrt(3)*E*I/l^2,-3*E*I/l^2,
4*E*I/l,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-bk,0,0,9*E*I/l^3+A*E/(4*l)+bk,
3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),3*sqrt(3)*E*I/l^2,0,0,0,0,
0,3*sqrt(3)*E*I/l^2],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-bk,0,3*sqrt(3)*E*I/l^3-sqrt(3)*A*E/(4*l),
3*E*I/l^3+3*A*E/(4*l)+bk,3*E*I/l^2,0,0,0,0,0,3*E*I/l^2],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3*sqrt(3)*E*I/l^2,3*E*I/l^2,4*E*I/l,0,0,0,0,0,2*E*I/l],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-A*E/l,0,0,0,0,
0,0,0,0,0,0,0,A*E/l+bk,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-12*E*I/l^3,
-6*E*I/l^2,0,0,0,0,0,0,0,0,0,0,12*E*I/l^3+bk,-6*E*I/l^2,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6*E*I/l^2,
2*E*I/l,0,0,0,0,0,0,0,0,0,0,-6*E*I/l^2,4*E*I/l,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3*sqrt(3)*E*I/l^2,3*E*I/l^2,2*E*I/l,0,0,0,0,0,4*E*I/l])$
K2 : matrixmap(lambda([e],if e=0 then 0 else limit(e,bk,inf)), K)$