@@ -34,11 +34,13 @@ function eigfact!{T<:BlasReal}(A::StridedMatrix{T}; permute::Bool=true, scale::B
34
34
evec = zeros (Complex{T}, n, n)
35
35
j = 1
36
36
while j <= n
37
- if WI[j] == 0.0
38
- evec[:,j] = VR[:,j]
37
+ if WI[j] == 0
38
+ evec[:,j] = slice (VR, :, j)
39
39
else
40
- evec[:,j] = VR[:,j] + im* VR[:,j+ 1 ]
41
- evec[:,j+ 1 ] = VR[:,j] - im* VR[:,j+ 1 ]
40
+ for i = 1 : n
41
+ evec[i,j] = VR[i,j] + im* VR[i,j+ 1 ]
42
+ evec[i,j+ 1 ] = VR[i,j] - im* VR[i,j+ 1 ]
43
+ end
42
44
j += 1
43
45
end
44
46
j += 1
@@ -128,11 +130,13 @@ function eigfact!{T<:BlasReal}(A::StridedMatrix{T}, B::StridedMatrix{T})
128
130
vecs = zeros (Complex{T}, n, n)
129
131
j = 1
130
132
while j <= n
131
- if alphai[j] == 0.0
132
- vecs[:,j] = vr[:,j]
133
+ if alphai[j] == 0
134
+ vecs[:,j] = slice (vr, :, j)
133
135
else
134
- vecs[:,j ] = vr[:,j] + im* vr[:,j+ 1 ]
135
- vecs[:,j+ 1 ] = vr[:,j] - im* vr[:,j+ 1 ]
136
+ for i = 1 : n
137
+ vecs[i,j ] = vr[i,j] + im* vr[i,j+ 1 ]
138
+ vecs[i,j+ 1 ] = vr[i,j] - im* vr[i,j+ 1 ]
139
+ end
136
140
j += 1
137
141
end
138
142
j += 1
0 commit comments