I discovered this with matrices that were not random, but this simple test
illustrates the problem: julia aborts when it tries to diagonalize a
705x705 matrix
mat = rand(704,704)
mat = mat' + mat
e = eigfact(mat)
@show "done 704"
mat = rand(705,705)
mat = mat' + mat
e = eigfact(mat)
@show "done 705"
Results:
"done 704" = "done 704"
Abort
I also get this when I try an svd:
mat = rand(705,705)
svd(mat)
This gives
Abort
So, to find what the key problem sizes are:
for i=1:705
mat = rand(i,i)
svd(mat)
@show i
end
This dies on i=129. Note that 129 is odd.
But replacing the for loop to count by twos is fine:
for i=2:2:1705
mat = rand(i,i)
svd(mat)
@show i
end
No problem here.