Skip to content

Commit e6829b2

Browse files
committed
Replace Adjoint/Transpose with adjoint/transpose (instances missed in JuliaLang#25364).
1 parent 764613a commit e6829b2

11 files changed

+90
-90
lines changed

base/deprecated.jl

+8-8
Original file line numberDiff line numberDiff line change
@@ -3141,10 +3141,10 @@ end
31413141
@deprecate A_mul_Bt(A::AbstractMatrix, B::AbstractTriangular) (*)(A, transpose(B))
31423142
end
31433143
for (f, op, transform) in (
3144-
(:A_mul_Bc, :*, :Adjoint),
3145-
(:A_mul_Bt, :*, :Transpose),
3146-
(:A_rdiv_Bc, :/, :Adjoint),
3147-
(:A_rdiv_Bt, :/, :Transpose))
3144+
(:A_mul_Bc, :*, :adjoint),
3145+
(:A_mul_Bt, :*, :transpose),
3146+
(:A_rdiv_Bc, :/, :adjoint),
3147+
(:A_rdiv_Bt, :/, :transpose))
31483148
@eval Base.LinAlg begin
31493149
@deprecate $f(A::LowerTriangular, B::UpperTriangular) ($op)(A, ($transform)(B))
31503150
@deprecate $f(A::LowerTriangular, B::UnitUpperTriangular) ($op)(A, ($transform)(B))
@@ -3153,10 +3153,10 @@ for (f, op, transform) in (
31533153
end
31543154
end
31553155
for (f, op, transform) in (
3156-
(:Ac_mul_B, :*, :Adjoint),
3157-
(:At_mul_B, :*, :Transpose),
3158-
(:Ac_ldiv_B, :\, :Adjoint),
3159-
(:At_ldiv_B, :\, :Transpose))
3156+
(:Ac_mul_B, :*, :adjoint),
3157+
(:At_mul_B, :*, :transpose),
3158+
(:Ac_ldiv_B, :\, :adjoint),
3159+
(:At_ldiv_B, :\, :transpose))
31603160
@eval Base.LinAlg begin
31613161
@deprecate ($f)(A::UpperTriangular, B::LowerTriangular) ($op)(($transform)(A), B)
31623162
@deprecate ($f)(A::UnitUpperTriangular, B::LowerTriangular) ($op)(($transform)(A), B)

base/linalg/bidiag.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,9 @@ transpose(B::Bidiagonal) = Transpose(B)
252252
adjoint(B::Bidiagonal{<:Real}) = Bidiagonal(B.dv, B.ev, B.uplo == 'U' ? :L : :U)
253253
transpose(B::Bidiagonal{<:Number}) = Bidiagonal(B.dv, B.ev, B.uplo == 'U' ? :L : :U)
254254
Base.copy(aB::Adjoint{<:Any,<:Bidiagonal}) =
255-
(B = aB.parent; Bidiagonal(map(x -> copy.(Adjoint.(x)), (B.dv, B.ev))..., B.uplo == 'U' ? :L : :U))
255+
(B = aB.parent; Bidiagonal(map(x -> copy.(adjoint.(x)), (B.dv, B.ev))..., B.uplo == 'U' ? :L : :U))
256256
Base.copy(tB::Transpose{<:Any,<:Bidiagonal}) =
257-
(B = tB.parent; Bidiagonal(map(x -> copy.(Transpose.(x)), (B.dv, B.ev))..., B.uplo == 'U' ? :L : :U))
257+
(B = tB.parent; Bidiagonal(map(x -> copy.(transpose.(x)), (B.dv, B.ev))..., B.uplo == 'U' ? :L : :U))
258258

259259
istriu(M::Bidiagonal) = M.uplo == 'U' || iszero(M.ev)
260260
istril(M::Bidiagonal) = M.uplo == 'L' || iszero(M.ev)

base/linalg/diagonal.jl

+12-12
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ function mul!(D::Diagonal, B::UnitUpperTriangular)
188188
UpperTriangular(B.data)
189189
end
190190

191-
*(D::Adjoint{<:Any,<:Diagonal}, B::Diagonal) = Diagonal(Adjoint.(D.parent.diag) .* B.diag)
191+
*(D::Adjoint{<:Any,<:Diagonal}, B::Diagonal) = Diagonal(adjoint.(D.parent.diag) .* B.diag)
192192
*(A::Adjoint{<:Any,<:AbstractTriangular}, D::Diagonal) = mul!(copy(A), D)
193193
function *(adjA::Adjoint{<:Any,<:AbstractMatrix}, D::Diagonal)
194194
A = adjA.parent
@@ -197,7 +197,7 @@ function *(adjA::Adjoint{<:Any,<:AbstractMatrix}, D::Diagonal)
197197
mul!(Ac, D)
198198
end
199199

200-
*(D::Transpose{<:Any,<:Diagonal}, B::Diagonal) = Diagonal(Transpose.(D.parent.diag) .* B.diag)
200+
*(D::Transpose{<:Any,<:Diagonal}, B::Diagonal) = Diagonal(transpose.(D.parent.diag) .* B.diag)
201201
*(A::Transpose{<:Any,<:AbstractTriangular}, D::Diagonal) = mul!(copy(A), D)
202202
function *(transA::Transpose{<:Any,<:AbstractMatrix}, D::Diagonal)
203203
A = transA.parent
@@ -206,7 +206,7 @@ function *(transA::Transpose{<:Any,<:AbstractMatrix}, D::Diagonal)
206206
mul!(At, D)
207207
end
208208

209-
*(D::Diagonal, B::Adjoint{<:Any,<:Diagonal}) = Diagonal(D.diag .* Adjoint.(B.parent.diag))
209+
*(D::Diagonal, B::Adjoint{<:Any,<:Diagonal}) = Diagonal(D.diag .* adjoint.(B.parent.diag))
210210
*(D::Diagonal, B::Adjoint{<:Any,<:AbstractTriangular}) = mul!(D, collect(B))
211211
*(D::Diagonal, adjQ::Adjoint{<:Any,<:Union{QRCompactWYQ,QRPackedQ}}) = (Q = adjQ.parent; mul!(Array(D), adjoint(Q)))
212212
function *(D::Diagonal, adjA::Adjoint{<:Any,<:AbstractMatrix})
@@ -216,7 +216,7 @@ function *(D::Diagonal, adjA::Adjoint{<:Any,<:AbstractMatrix})
216216
mul!(D, Ac)
217217
end
218218

219-
*(D::Diagonal, B::Transpose{<:Any,<:Diagonal}) = Diagonal(D.diag .* Transpose.(B.parent.diag))
219+
*(D::Diagonal, B::Transpose{<:Any,<:Diagonal}) = Diagonal(D.diag .* transpose.(B.parent.diag))
220220
*(D::Diagonal, B::Transpose{<:Any,<:AbstractTriangular}) = mul!(D, copy(B))
221221
function *(D::Diagonal, transA::Transpose{<:Any,<:AbstractMatrix})
222222
A = transA.parent
@@ -226,9 +226,9 @@ function *(D::Diagonal, transA::Transpose{<:Any,<:AbstractMatrix})
226226
end
227227

228228
*(D::Adjoint{<:Any,<:Diagonal}, B::Adjoint{<:Any,<:Diagonal}) =
229-
Diagonal(Adjoint.(D.parent.diag) .* Adjoint.(B.parent.diag))
229+
Diagonal(adjoint.(D.parent.diag) .* adjoint.(B.parent.diag))
230230
*(D::Transpose{<:Any,<:Diagonal}, B::Transpose{<:Any,<:Diagonal}) =
231-
Diagonal(Transpose.(D.parent.diag) .* Transpose.(B.parent.diag))
231+
Diagonal(transpose.(D.parent.diag) .* transpose.(B.parent.diag))
232232

233233
mul!(A::Diagonal, B::Diagonal) = throw(MethodError(mul!, Tuple{Diagonal,Diagonal}))
234234
mul!(A::QRPackedQ, D::Diagonal) = throw(MethodError(mul!, Tuple{Diagonal,Diagonal}))
@@ -256,12 +256,12 @@ mul!(A::AbstractMatrix, transB::Transpose{<:Any,<:Diagonal}) = (B = transB.paren
256256

257257
# Get ambiguous method if try to unify AbstractVector/AbstractMatrix here using AbstractVecOrMat
258258
mul!(out::AbstractVector, A::Diagonal, in::AbstractVector) = out .= A.diag .* in
259-
mul!(out::AbstractVector, A::Adjoint{<:Any,<:Diagonal}, in::AbstractVector) = out .= Adjoint.(A.parent.diag) .* in
260-
mul!(out::AbstractVector, A::Transpose{<:Any,<:Diagonal}, in::AbstractVector) = out .= Transpose.(A.parent.diag) .* in
259+
mul!(out::AbstractVector, A::Adjoint{<:Any,<:Diagonal}, in::AbstractVector) = out .= adjoint.(A.parent.diag) .* in
260+
mul!(out::AbstractVector, A::Transpose{<:Any,<:Diagonal}, in::AbstractVector) = out .= transpose.(A.parent.diag) .* in
261261

262262
mul!(out::AbstractMatrix, A::Diagonal, in::AbstractMatrix) = out .= A.diag .* in
263-
mul!(out::AbstractMatrix, A::Adjoint{<:Any,<:Diagonal}, in::AbstractMatrix) = out .= Adjoint.(A.parent.diag) .* in
264-
mul!(out::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, in::AbstractMatrix) = out .= Transpose.(A.parent.diag) .* in
263+
mul!(out::AbstractMatrix, A::Adjoint{<:Any,<:Diagonal}, in::AbstractMatrix) = out .= adjoint.(A.parent.diag) .* in
264+
mul!(out::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, in::AbstractMatrix) = out .= transpose.(A.parent.diag) .* in
265265

266266
mul!(C::AbstractMatrix, A::Diagonal, B::Adjoint{<:Any,<:AbstractVecOrMat}) = mul!(C, A, copy(B))
267267
mul!(C::AbstractMatrix, A::Diagonal, B::Transpose{<:Any,<:AbstractVecOrMat}) = mul!(C, A, copy(B))
@@ -283,8 +283,8 @@ mul!(C::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, B::Transpose{<:Any,<:Abs
283283
*(adjD::Adjoint{<:Any,<:Diagonal}, adjA::Adjoint{<:Any,<:RealHermSymComplexHerm}) = adjD * adjA.parent
284284
mul!(C::AbstractMatrix, A::Adjoint{<:Any,<:Diagonal}, B::Adjoint{<:Any,<:RealHermSymComplexHerm}) = mul!(C, A, B.parent)
285285
mul!(C::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, B::Transpose{<:Any,<:RealHermSymComplexSym}) = mul!(C, A, B.parent)
286-
mul!(C::AbstractMatrix, A::Adjoint{<:Any,<:Diagonal}, B::Adjoint{<:Any,<:RealHermSymComplexSym}) = C .= Adjoint.(A.parent.diag) .* B
287-
mul!(C::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, B::Transpose{<:Any,<:RealHermSymComplexHerm}) = C .= Transpose.(A.parent.diag) .* B
286+
mul!(C::AbstractMatrix, A::Adjoint{<:Any,<:Diagonal}, B::Adjoint{<:Any,<:RealHermSymComplexSym}) = C .= adjoint.(A.parent.diag) .* B
287+
mul!(C::AbstractMatrix, A::Transpose{<:Any,<:Diagonal}, B::Transpose{<:Any,<:RealHermSymComplexHerm}) = C .= transpose.(A.parent.diag) .* B
288288

289289

290290
(/)(Da::Diagonal, Db::Diagonal) = Diagonal(Da.diag ./ Db.diag)

base/linalg/generic.jl

+3-3
Original file line numberDiff line numberDiff line change
@@ -816,9 +816,9 @@ function inv(A::AbstractMatrix{T}) where T
816816
ldiv!(factorize(convert(AbstractMatrix{S}, A)), dest)
817817
end
818818

819-
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T<:Real} = _vectorpinv(Transpose, v, tol)
820-
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T<:Complex} = _vectorpinv(Adjoint, v, tol)
821-
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T} = _vectorpinv(Adjoint, v, tol)
819+
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T<:Real} = _vectorpinv(transpose, v, tol)
820+
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T<:Complex} = _vectorpinv(adjoint, v, tol)
821+
pinv(v::AbstractVector{T}, tol::Real = real(zero(T))) where {T} = _vectorpinv(adjoint, v, tol)
822822
function _vectorpinv(dualfn::Tf, v::AbstractVector{Tv}, tol) where {Tv,Tf}
823823
res = dualfn(similar(v, typeof(zero(Tv) / (abs2(one(Tv)) + abs2(one(Tv))))))
824824
den = sum(abs2, v)

base/linalg/lu.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ function ldiv!(adjA::Adjoint{<:Any,LU{T,Tridiagonal{T,V}}}, B::AbstractVecOrMat)
584584
return B
585585
end
586586

587-
/(B::AbstractMatrix, A::LU) = copy(Transpose(transpose(A) \ transpose(B)))
587+
/(B::AbstractMatrix, A::LU) = copy(transpose(transpose(A) \ transpose(B)))
588588

589589
# Conversions
590590
AbstractMatrix(F::LU) = (F.L * F.U)[invperm(F.p),:]

base/linalg/triangular.jl

+34-34
Original file line numberDiff line numberDiff line change
@@ -1553,46 +1553,46 @@ for (f1, f2) in ((:*, :mul!), (:\, :ldiv!))
15531553
end
15541554
end
15551555

1556-
for (ipop, op, xform) in (
1557-
(:mul!, :*, :Adjoint),
1558-
(:mul!, :*, :Transpose),
1559-
(:ldiv!, :\, :Adjoint),
1560-
(:ldiv!, :\, :Transpose))
1556+
for (ipop, op, xformtype, xformop) in (
1557+
(:mul!, :*, :Adjoint, :adjoint),
1558+
(:mul!, :*, :Transpose, :transpose),
1559+
(:ldiv!, :\, :Adjoint, :adjoint),
1560+
(:ldiv!, :\, :Transpose, :transpose))
15611561
@eval begin
1562-
function ($op)(xformA::($xform){<:Any,<:UpperTriangular}, B::LowerTriangular)
1562+
function ($op)(xformA::($xformtype){<:Any,<:UpperTriangular}, B::LowerTriangular)
15631563
A = xformA.parent
1564-
TAB = typeof(($op)($xform(zero(eltype(A))), zero(eltype(B))) +
1565-
($op)($xform(zero(eltype(A))), zero(eltype(B))))
1564+
TAB = typeof(($op)($xformop(zero(eltype(A))), zero(eltype(B))) +
1565+
($op)($xformop(zero(eltype(A))), zero(eltype(B))))
15661566
BB = similar(B, TAB, size(B))
15671567
copyto!(BB, B)
1568-
return LowerTriangular(($ipop)($xform(convert(AbstractMatrix{TAB}, A)), BB))
1568+
return LowerTriangular(($ipop)($xformop(convert(AbstractMatrix{TAB}, A)), BB))
15691569
end
15701570

1571-
function ($op)(xformA::($xform){<:Any,<:UnitUpperTriangular}, B::LowerTriangular)
1571+
function ($op)(xformA::($xformtype){<:Any,<:UnitUpperTriangular}, B::LowerTriangular)
15721572
A = xformA.parent
15731573
TAB = typeof((*)(zero(eltype(A)), zero(eltype(B))) +
15741574
(*)(zero(eltype(A)), zero(eltype(B))))
15751575
BB = similar(B, TAB, size(B))
15761576
copyto!(BB, B)
1577-
return LowerTriangular($ipop($xform(convert(AbstractMatrix{TAB}, A)), BB))
1577+
return LowerTriangular($ipop($xformop(convert(AbstractMatrix{TAB}, A)), BB))
15781578
end
15791579

1580-
function ($op)(xformA::($xform){<:Any,<:LowerTriangular}, B::UpperTriangular)
1580+
function ($op)(xformA::($xformtype){<:Any,<:LowerTriangular}, B::UpperTriangular)
15811581
A = xformA.parent
1582-
TAB = typeof(($op)($xform(zero(eltype(A))), zero(eltype(B))) +
1583-
($op)($xform(zero(eltype(A))), zero(eltype(B))))
1582+
TAB = typeof(($op)($xformop(zero(eltype(A))), zero(eltype(B))) +
1583+
($op)($xformop(zero(eltype(A))), zero(eltype(B))))
15841584
BB = similar(B, TAB, size(B))
15851585
copyto!(BB, B)
1586-
return UpperTriangular($ipop($xform(convert(AbstractMatrix{TAB}, A)), BB))
1586+
return UpperTriangular($ipop($xformop(convert(AbstractMatrix{TAB}, A)), BB))
15871587
end
15881588

1589-
function ($op)(xformA::($xform){<:Any,<:UnitLowerTriangular}, B::UpperTriangular)
1589+
function ($op)(xformA::($xformtype){<:Any,<:UnitLowerTriangular}, B::UpperTriangular)
15901590
A = xformA.parent
15911591
TAB = typeof((*)(zero(eltype(A)), zero(eltype(B))) +
15921592
(*)(zero(eltype(A)), zero(eltype(B))))
15931593
BB = similar(B, TAB, size(B))
15941594
copyto!(BB, B)
1595-
return UpperTriangular($ipop($xform(convert(AbstractMatrix{TAB}, A)), BB))
1595+
return UpperTriangular($ipop($xformop(convert(AbstractMatrix{TAB}, A)), BB))
15961596
end
15971597
end
15981598
end
@@ -1626,46 +1626,46 @@ function (/)(A::UpperTriangular, B::UnitUpperTriangular)
16261626
return UpperTriangular(rdiv!(AA, convert(AbstractMatrix{TAB}, B)))
16271627
end
16281628

1629-
for (ipop, op, xform) in (
1630-
(:mul!, :*, :Adjoint),
1631-
(:mul!, :*, :Transpose),
1632-
(:rdiv!, :/, :Adjoint),
1633-
(:rdiv!, :/, :Transpose))
1629+
for (ipop, op, xformtype, xformop) in (
1630+
(:mul!, :*, :Adjoint, :adjoint),
1631+
(:mul!, :*, :Transpose, :transpose),
1632+
(:rdiv!, :/, :Adjoint, :adjoint),
1633+
(:rdiv!, :/, :Transpose, :transpose))
16341634
@eval begin
1635-
function ($op)(A::LowerTriangular, xformB::($xform){<:Any,<:UpperTriangular})
1635+
function ($op)(A::LowerTriangular, xformB::($xformtype){<:Any,<:UpperTriangular})
16361636
B = xformB.parent
1637-
TAB = typeof(($op)(zero(eltype(A)), $xform(zero(eltype(B)))) +
1638-
($op)(zero(eltype(A)), $xform(zero(eltype(B)))))
1637+
TAB = typeof(($op)(zero(eltype(A)), $xformop(zero(eltype(B)))) +
1638+
($op)(zero(eltype(A)), $xformop(zero(eltype(B)))))
16391639
AA = similar(A, TAB, size(A))
16401640
copyto!(AA, A)
1641-
return LowerTriangular($ipop(AA, $xform(convert(AbstractMatrix{TAB}, B))))
1641+
return LowerTriangular($ipop(AA, $xformop(convert(AbstractMatrix{TAB}, B))))
16421642
end
16431643

1644-
function ($op)(A::LowerTriangular, xformB::($xform){<:Any,<:UnitUpperTriangular})
1644+
function ($op)(A::LowerTriangular, xformB::($xformtype){<:Any,<:UnitUpperTriangular})
16451645
B = xformB.parent
16461646
TAB = typeof((*)(zero(eltype(A)), zero(eltype(B))) +
16471647
(*)(zero(eltype(A)), zero(eltype(B))))
16481648
AA = similar(A, TAB, size(A))
16491649
copyto!(AA, A)
1650-
return LowerTriangular($ipop(AA, $xform(convert(AbstractMatrix{TAB}, B))))
1650+
return LowerTriangular($ipop(AA, $xformop(convert(AbstractMatrix{TAB}, B))))
16511651
end
16521652

1653-
function ($op)(A::UpperTriangular, xformB::($xform){<:Any,<:LowerTriangular})
1653+
function ($op)(A::UpperTriangular, xformB::($xformtype){<:Any,<:LowerTriangular})
16541654
B = xformB.parent
1655-
TAB = typeof(($op)(zero(eltype(A)), $xform(zero(eltype(B)))) +
1656-
($op)(zero(eltype(A)), $xform(zero(eltype(B)))))
1655+
TAB = typeof(($op)(zero(eltype(A)), $xformop(zero(eltype(B)))) +
1656+
($op)(zero(eltype(A)), $xformop(zero(eltype(B)))))
16571657
AA = similar(A, TAB, size(A))
16581658
copyto!(AA, A)
1659-
return UpperTriangular($ipop(AA, $xform(convert(AbstractMatrix{TAB}, B))))
1659+
return UpperTriangular($ipop(AA, $xformop(convert(AbstractMatrix{TAB}, B))))
16601660
end
16611661

1662-
function ($op)(A::UpperTriangular, xformB::($xform){<:Any,<:UnitLowerTriangular})
1662+
function ($op)(A::UpperTriangular, xformB::($xformtype){<:Any,<:UnitLowerTriangular})
16631663
B = xformB.parent
16641664
TAB = typeof((*)(zero(eltype(A)), zero(eltype(B))) +
16651665
(*)(zero(eltype(A)), zero(eltype(B))))
16661666
AA = similar(A, TAB, size(A))
16671667
copyto!(AA, A)
1668-
return UpperTriangular($ipop(AA, $xform(convert(AbstractMatrix{TAB}, B))))
1668+
return UpperTriangular($ipop(AA, $xformop(convert(AbstractMatrix{TAB}, B))))
16691669
end
16701670
end
16711671
end

base/linalg/tridiag.jl

+4-4
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@ broadcast(::typeof(ceil), ::Type{T}, M::SymTridiagonal) where {T<:Integer} = Sym
130130
transpose(S::SymTridiagonal) = S
131131
adjoint(S::SymTridiagonal{<:Real}) = S
132132
adjoint(S::SymTridiagonal) = Adjoint(S)
133-
Base.copy(S::Adjoint{<:Any,<:SymTridiagonal}) = SymTridiagonal(map(x -> copy.(Adjoint.(x)), (S.parent.dv, S.parent.ev))...)
134-
Base.copy(S::Transpose{<:Any,<:SymTridiagonal}) = SymTridiagonal(map(x -> copy.(Transpose.(x)), (S.parent.dv, S.parent.ev))...)
133+
Base.copy(S::Adjoint{<:Any,<:SymTridiagonal}) = SymTridiagonal(map(x -> copy.(adjoint.(x)), (S.parent.dv, S.parent.ev))...)
134+
Base.copy(S::Transpose{<:Any,<:SymTridiagonal}) = SymTridiagonal(map(x -> copy.(transpose.(x)), (S.parent.dv, S.parent.ev))...)
135135

136136
function diag(M::SymTridiagonal, n::Integer=0)
137137
# every branch call similar(..., ::Int) to make sure the
@@ -526,8 +526,8 @@ adjoint(S::Tridiagonal) = Adjoint(S)
526526
transpose(S::Tridiagonal) = Transpose(S)
527527
adjoint(S::Tridiagonal{<:Real}) = Tridiagonal(S.du, S.d, S.dl)
528528
transpose(S::Tridiagonal{<:Number}) = Tridiagonal(S.du, S.d, S.dl)
529-
Base.copy(aS::Adjoint{<:Any,<:Tridiagonal}) = (S = aS.parent; Tridiagonal(map(x -> copy.(Adjoint.(x)), (S.du, S.d, S.dl))...))
530-
Base.copy(tS::Transpose{<:Any,<:Tridiagonal}) = (S = tS.parent; Tridiagonal(map(x -> copy.(Transpose.(x)), (S.du, S.d, S.dl))...))
529+
Base.copy(aS::Adjoint{<:Any,<:Tridiagonal}) = (S = aS.parent; Tridiagonal(map(x -> copy.(adjoint.(x)), (S.du, S.d, S.dl))...))
530+
Base.copy(tS::Transpose{<:Any,<:Tridiagonal}) = (S = tS.parent; Tridiagonal(map(x -> copy.(transpose.(x)), (S.du, S.d, S.dl))...))
531531

532532
\(A::Adjoint{<:Any,<:Tridiagonal}, B::Adjoint{<:Any,<:StridedVecOrMat}) = copy(A) \ copy(B)
533533

base/sparse/linalg.jl

+8-8
Original file line numberDiff line numberDiff line change
@@ -934,27 +934,27 @@ function \(A::SparseMatrixCSC, B::AbstractVecOrMat)
934934
return \(qrfact(A), B)
935935
end
936936
end
937-
for xform in (:Adjoint, :Transpose)
937+
for (xformtype, xformop) in ((:Adjoint, :adjoint), (:Transpose, :transpose))
938938
@eval begin
939-
function \(xformA::($xform){<:Any,<:SparseMatrixCSC}, B::AbstractVecOrMat)
939+
function \(xformA::($xformtype){<:Any,<:SparseMatrixCSC}, B::AbstractVecOrMat)
940940
A = xformA.parent
941941
m, n = size(A)
942942
if m == n
943943
if istril(A)
944944
if istriu(A)
945-
return \($xform(Diagonal(Vector(diag(A)))), B)
945+
return \($xformop(Diagonal(Vector(diag(A)))), B)
946946
else
947-
return \($xform(LowerTriangular(A)), B)
947+
return \($xformop(LowerTriangular(A)), B)
948948
end
949949
elseif istriu(A)
950-
return \($xform(UpperTriangular(A)), B)
950+
return \($xformop(UpperTriangular(A)), B)
951951
end
952952
if ishermitian(A)
953-
return \($xform(Hermitian(A)), B)
953+
return \($xformop(Hermitian(A)), B)
954954
end
955-
return \($xform(lufact(A)), B)
955+
return \($xformop(lufact(A)), B)
956956
else
957-
return \($xform(qrfact(A)), B)
957+
return \($xformop(qrfact(A)), B)
958958
end
959959
end
960960
end

0 commit comments

Comments
 (0)