I faced a very large eigenproblem during my research. The square matrix under consideration is of size more than 2^30 times 2^30. I have tried to deal with this problem by the QR algorithm with double implicit shift (more precisely, the Francis double step QR algorithm). I'm a very beginner of programming, but I tried as follows:

--------------------------------------------------------------------------------------------------

A := Matrix([[7, 3, 4, -11, -9, -2], [-6, 4, -5, 7, 1, 12], [-1, -9, 2, 2, 9, 1], [-8, 0, -1, 5, 0, 8], [-4, 3, -5, 7, 2, 10], [6, 1, 4, -11, -7, -1]]):

H := HessenbergForm(A):

p:=6:

for p while p>2 do:

q:=p-1:

s:=H(q,q)+H(p,p):

t:=H(q,q)*H(p,p)-H(q,p)*H(p,q):

x:=(H(1,1))^(2)+H(1,2)*H(2,1)-s*H(1,1)+t:

y:=H(2,1)*(H(1,1)+H(2,2)-s):

z:=H(2,1)*H(3,2):

for k from 0 to p-3 do:

V:=Vector([x,y,z]):

P:=Transpose(HouseholderMatrix(1/(Norm(V+exp(argument(V(1))*I)*Norm(V,2)*Vector(3,shape=unit[1]),2))*(V+exp(argument(V(1))*I)*Norm(V,2)*Vector(3,shape=unit[1])))):

r:=max(1,k):

H[k+1..k+3,r..6]:=MatrixMatrixMultiply(Transpose(P),SubMatrix(H,[k+1..k+3],[r..6])):

r:=min(k+4,6):

H[1..r,k+1..k+3]:=MatrixMatrixMultiply(SubMatrix(H,[1..r],[k+1..k+3]),P):

x:=H(k+2,k+1):

y:=H(k+3,k+1):

if k<3 then z:=H(k+4,k+1):

end if:

od:

P:=GivensRotationMatrix(Vector([x,y]),1,2):

H[q..p,p-2..6]:=MatrixMatrixMultiply(Transpose(P),SubMatrix(H,[q..p],[p-2..6])):

H[1..p,p-1,p]:=MatrixMatrixMultiply(SubMatrix(H,[1..p],[p-1,p]),P):

if abs(H(p,q))<10^(-20)*(abs(H(q,q))+abs(H(p,p))) then H(p,q):=0: p:=p-1:q=p-1:

elif abs(H(p-1,q-1))<10^(-20)*(abs(H(q-1,q-1))+abs(H(q,q))) then H(p-1,q-1):=0: p:=p-2:q:=p-1:

end if: od:

--------------------------------------------------------------------------------------------------

It seemed that replacing 0 in a Hessenberg matrix by a non-zero element is not allowed. How can I remedy this?

Plus, can anyone tell me the problem of the above thing(it's not really a programming...;( ), please?

I would also appreciate it if someone let me know a better idea for a huge eigenproblem.

Thanks in advance.