Skip to content

Commit f956c00

Browse files
authored
Minor cleanup (#153)
1 parent 032832e commit f956c00

File tree

5 files changed

+18
-10
lines changed

5 files changed

+18
-10
lines changed

src/blockmap.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,6 @@ function LinearAlgebra.issymmetric(A::BlockMap)
262262
return true
263263
end
264264

265-
LinearAlgebra.ishermitian(A::BlockMap{<:Real}) = issymmetric(A)
266265
function LinearAlgebra.ishermitian(A::BlockMap)
267266
isblocksquare(A) || return false
268267
N = length(A.rows)
@@ -482,7 +481,6 @@ Base.size(A::BlockDiagonalMap) = (last(A.rowranges[end]), last(A.colranges[end])
482481
MulStyle(A::BlockDiagonalMap) = MulStyle(A.maps...)
483482

484483
LinearAlgebra.issymmetric(A::BlockDiagonalMap) = all(issymmetric, A.maps)
485-
LinearAlgebra.ishermitian(A::BlockDiagonalMap{<:Real}) = all(issymmetric, A.maps)
486484
LinearAlgebra.ishermitian(A::BlockDiagonalMap) = all(ishermitian, A.maps)
487485

488486
LinearAlgebra.adjoint(A::BlockDiagonalMap{T}) where {T} =

src/kronecker.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ Base.:(^)(A::MapOrMatrix, ::KronPower{p}) where {p} =
102102
Base.size(A::KroneckerMap) = map(*, size.(A.maps)...)
103103

104104
LinearAlgebra.issymmetric(A::KroneckerMap) = all(issymmetric, A.maps)
105-
LinearAlgebra.ishermitian(A::KroneckerMap{<:Real}) = issymmetric(A)
106105
LinearAlgebra.ishermitian(A::KroneckerMap) = all(ishermitian, A.maps)
107106

108107
LinearAlgebra.adjoint(A::KroneckerMap) = KroneckerMap{eltype(A)}(map(adjoint, A.maps))
@@ -288,7 +287,6 @@ Base.size(A::KroneckerSumMap, i) = prod(size.(A.maps, i))
288287
Base.size(A::KroneckerSumMap) = (size(A, 1), size(A, 2))
289288

290289
LinearAlgebra.issymmetric(A::KroneckerSumMap) = all(issymmetric, A.maps)
291-
LinearAlgebra.ishermitian(A::KroneckerSumMap{<:Real}) = all(issymmetric, A.maps)
292290
LinearAlgebra.ishermitian(A::KroneckerSumMap) = all(ishermitian, A.maps)
293291

294292
LinearAlgebra.adjoint(A::KroneckerSumMap) =

src/wrappedmap.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ function WrappedMap{T}(lmap::MapOrMatrix;
1212
end
1313
WrappedMap(lmap::MapOrMatrix{T}; kwargs...) where {T} = WrappedMap{T}(lmap; kwargs...)
1414
function WrappedMap{T}(lmap::AbstractVector;
15-
issymmetric::Bool = false,
16-
ishermitian::Bool = false,
17-
isposdef::Bool = false) where {T}
15+
issym::Bool = false,
16+
isherm::Bool = false,
17+
ispd::Bool = false) where {T}
1818
WrappedMap{T, typeof(lmap)}(lmap,
19-
length(lmap) == 1 && isreal(T),
20-
length(lmap) == 1 && isreal(T),
19+
length(lmap) == 1 && issymmetric(first(lmap)),
20+
length(lmap) == 1 && ishermitian(first(lmap)),
2121
length(lmap) == 1 && isposdef(first(lmap)))
2222
end
2323
WrappedMap(lmap::AbstractVector{T}; kwargs...) where {T} = WrappedMap{T}(lmap; kwargs...)

test/scaledmap.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ using Test, LinearMaps, LinearAlgebra, BenchmarkTools
8080
A = LinearMap{Float32}(rand(N, 2)) # rank=2 w.p.1
8181
B = @inferred β * A
8282
C = @inferred B' * B
83-
@test @inferred isposdef(C)
83+
@test @inferred isposdef(C.λ)
8484

8585
N = 2^8
8686
A0 = LinearMap{T}(cumsum, reverse cumsum reverse, N) # out-of-place

test/wrappedmap.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,16 @@ using Test, LinearMaps, LinearAlgebra
8484
@test mul!(B, Id, A, true, true) 2A
8585
@test mul!(B, A, Id, true, true) == B == 3A
8686
@test mul!(copy(B), A, LinearMap(Matrix(Id)), true, true) == 4A
87+
88+
# wrapped vectors viewed as column matrices
89+
u = ones(1); U = @inferred LinearMap(u)
90+
@test U isa LinearMap{Float64}
91+
@test issymmetric(U)
92+
@test ishermitian(U)
93+
@test isposdef(U)
94+
U = @inferred LinearMap(u.*im)
95+
@test U isa LinearMap{ComplexF64}
96+
@test issymmetric(U)
97+
@test !ishermitian(U)
98+
@test !isposdef(U)
8799
end

0 commit comments

Comments
 (0)