Skip to content

Commit 90f91c8

Browse files
Simplify and format code
1 parent 716130a commit 90f91c8

File tree

3 files changed

+8
-21
lines changed

3 files changed

+8
-21
lines changed

src/arnoldi.jl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,7 @@ function expv!(
114114
return expv!(x, AS, t, b)
115115
end
116116

117-
function expv(
118-
A,
119-
t::T1,
120-
b::AbstractVector{T2};
121-
m::Int = min(30, cld(2 * length(b), 3)),
122-
) where {T1<:Number,T2<:Number}
117+
function expv(A, t::T1, b::AbstractVector{T2}; m::Int = min(30, cld(2 * length(b), 3))) where {T1<:Number,T2<:Number}
123118
x = similar(b)
124119
return expv!(x, A, t, b, m = m)
125120
end

src/qobj/eigsolve.jl

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -155,30 +155,26 @@ end
155155
function _schur_right_eigenvectors(Tₘ, k)
156156
n = size(Tₘ, 1)
157157
vecs = zeros(eltype(Tₘ), n, k)
158-
k == 0 && return vecs
159-
160-
value_tol(λ) = eps(typeof(abs(λ))) * max(one(typeof(abs(λ))), abs(λ))
161158

162159
@inbounds for col in 1:k
163160
vec = view(vecs, :, col)
164-
fill!(vec, zero(eltype(Tₘ)))
165161
vec[col] = one(eltype(Tₘ))
166162
λ = Tₘ[col, col]
167163

168164
for row in (col-1):-1:1
169165
acc = zero(eltype(Tₘ))
170-
for inner in (row + 1):col
166+
for inner in (row+1):col
171167
acc += Tₘ[row, inner] * vec[inner]
172168
end
173169
denom = Tₘ[row, row] - λ
174-
if abs(denom) <= value_tol)
175-
vec[row] = zero(eltype(Tₘ))
170+
vec[row] = if abs(denom) <= eps(typeof(abs(λ))) * max(one(typeof(abs(λ))), abs(λ))
171+
zero(eltype(Tₘ))
176172
else
177-
vec[row] = -acc / denom
173+
-acc / denom
178174
end
179175
end
180176

181-
LinearAlgebra.normalize!(vec)
177+
normalize!(vec)
182178
end
183179

184180
return vecs
@@ -229,7 +225,6 @@ function _eigsolve(
229225
V₁ₖ = view(V, :, 1:k)
230226
Vₖ₊₁ = view(V, :, k + 1)
231227
Hₖ₊₁₁ₖ = view(H, k + 1, 1:k)
232-
cache0₁ₖ = view(cache0, :, 1:k)
233228
cache1₁ₖ = view(cache1, :, 1:k)
234229
cache2₁ₖ = view(cache2, 1:k)
235230

@@ -270,8 +265,7 @@ function _eigsolve(
270265
Tₘ = Hₘ
271266
vals = diag(view(Tₘ, 1:k, 1:k))
272267
VR = _schur_right_eigenvectors(Tₘ, k)
273-
mul!(cache0₁ₖ, Uₘ, VR)
274-
mul!(cache1₁ₖ, Vₘ, cache0₁ₖ)
268+
mul!(cache1₁ₖ, Vₘ, M(Uₘ * VR))
275269
vecs = copy(cache1₁ₖ)
276270
settings.auto_tidyup && tidyup!(vecs)
277271

src/qobj/functions.jl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,9 +316,7 @@ function mat2vec(::Type{M}) where {M<:SparseMatrixCSC}
316316
return SparseVector{par[1],par[2]}
317317
end
318318

319-
function mat2vec(
320-
::Type{M},
321-
) where {M<:Union{Adjoint{<:Number,<:SparseMatrixCSC},Transpose{<:Number,<:SparseMatrixCSC}}}
319+
function mat2vec(::Type{M}) where {M<:Union{Adjoint{<:Number,<:SparseMatrixCSC},Transpose{<:Number,<:SparseMatrixCSC}}}
322320
T = M.parameters[2]
323321
par = T.parameters
324322
npar = length(par)

0 commit comments

Comments
 (0)