|
2 | 2 |
|
3 | 3 | # A[ct]_(mul|ldiv|rdiv)_B[ct][!] methods from src/cholmod.jl, to deprecate |
4 | 4 | @eval SuiteSparse.CHOLMOD begin |
5 | | - using Base.LinAlg: Adjoint, Transpose |
6 | | - Base.Ac_ldiv_B(A::RealHermSymComplexHermF64SSL, B::StridedVecOrMat) = \(Adjoint(A), B) |
7 | | - Base.Ac_ldiv_B(L::Factor, B::Dense) = \(Adjoint(L), B) |
8 | | - Base.Ac_ldiv_B(L::Factor, B::VecOrMat) = \(Adjoint(L), B) |
9 | | - Base.Ac_ldiv_B(L::Factor, B::Sparse) = \(Adjoint(L), B) |
10 | | - Base.Ac_ldiv_B(L::Factor, B::SparseVecOrMat) = \(Adjoint(L), B) |
11 | | - Base.Ac_ldiv_B(L::FactorComponent, B) = \(Adjoint(L), B) |
12 | | - Base.Ac_ldiv_B(L::FactorComponent, B::RowVector) = \(Adjoint(L), B) |
13 | | - Base.Ac_mul_B(A::Sparse, B::Dense) = *(Adjoint(A), B) |
14 | | - Base.Ac_mul_B(A::Sparse, B::VecOrMat) = *(Adjoint(A), B) |
15 | | - Base.Ac_mul_B(A::Sparse, B::Sparse) = *(Adjoint(A), B) |
16 | | - Base.A_mul_Bc(A::Sparse{Tv}, B::Sparse{Tv}) where {Tv<:VRealTypes} = *(A, Adjoint(B)) |
| 5 | + Base.Ac_ldiv_B(A::RealHermSymComplexHermF64SSL, B::StridedVecOrMat) = \(adjoint(A), B) |
| 6 | + Base.Ac_ldiv_B(L::Factor, B::Dense) = \(adjoint(L), B) |
| 7 | + Base.Ac_ldiv_B(L::Factor, B::VecOrMat) = \(adjoint(L), B) |
| 8 | + Base.Ac_ldiv_B(L::Factor, B::Sparse) = \(adjoint(L), B) |
| 9 | + Base.Ac_ldiv_B(L::Factor, B::SparseVecOrMat) = \(adjoint(L), B) |
| 10 | + Base.Ac_ldiv_B(L::FactorComponent, B) = \(adjoint(L), B) |
| 11 | + Base.Ac_ldiv_B(L::FactorComponent, B::RowVector) = \(adjoint(L), B) |
| 12 | + Base.Ac_mul_B(A::Sparse, B::Dense) = *(adjoint(A), B) |
| 13 | + Base.Ac_mul_B(A::Sparse, B::VecOrMat) = *(adjoint(A), B) |
| 14 | + Base.Ac_mul_B(A::Sparse, B::Sparse) = *(adjoint(A), B) |
| 15 | + Base.A_mul_Bc(A::Sparse{Tv}, B::Sparse{Tv}) where {Tv<:VRealTypes} = *(A, adjoint(B)) |
17 | 16 | end |
18 | 17 |
|
19 | 18 | # A[ct]_(mul|ldiv|rdiv)_B[ct][!] methods from src/umfpack.jl, to deprecate |
|
22 | 21 | Base.A_ldiv_B!(X::StridedVecOrMat{T}, lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = |
23 | 22 | Base.LinAlg.ldiv!(X, lu, B) |
24 | 23 | Base.At_ldiv_B!(X::StridedVecOrMat{T}, lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = |
25 | | - Base.LinAlg.ldiv!(X, Transpose(lu), B) |
| 24 | + Base.LinAlg.ldiv!(X, transpose(lu), B) |
26 | 25 | Base.Ac_ldiv_B!(X::StridedVecOrMat{T}, lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = |
27 | | - Base.LinAlg.ldiv!(X, Adjoint(lu), B) |
| 26 | + Base.LinAlg.ldiv!(X, adjoint(lu), B) |
28 | 27 | Base.A_ldiv_B!(X::StridedVecOrMat{Tb}, lu::UmfpackLU{Float64}, B::StridedVecOrMat{Tb}) where {Tb<:Complex} = |
29 | 28 | Base.LinAlg.ldiv!(X, lu, B) |
30 | 29 | Base.At_ldiv_B!(X::StridedVecOrMat{Tb}, lu::UmfpackLU{Float64}, B::StridedVecOrMat{Tb}) where {Tb<:Complex} = |
31 | | - Base.LinAlg.ldiv!(X, Transpose(lu), B) |
| 30 | + Base.LinAlg.ldiv!(X, transpose(lu), B) |
32 | 31 | Base.Ac_ldiv_B!(X::StridedVecOrMat{Tb}, lu::UmfpackLU{Float64}, B::StridedVecOrMat{Tb}) where {Tb<:Complex} = |
33 | | - Base.LinAlg.ldiv!(X, Adjoint(lu), B) |
| 32 | + Base.LinAlg.ldiv!(X, adjoint(lu), B) |
34 | 33 | Base.A_ldiv_B!(lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = Base.LinAlg.ldiv!(lu, B) |
35 | | - Base.At_ldiv_B!(lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = Base.LinAlg.ldiv!(Transpose(lu), B) |
36 | | - Base.Ac_ldiv_B!(lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = Base.LinAlg.ldiv!(Adjoint(lu), B) |
| 34 | + Base.At_ldiv_B!(lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = Base.LinAlg.ldiv!(transpose(lu), B) |
| 35 | + Base.Ac_ldiv_B!(lu::UmfpackLU{T}, B::StridedVecOrMat{T}) where {T<:UMFVTypes} = Base.LinAlg.ldiv!(adjoint(lu), B) |
37 | 36 | Base.A_ldiv_B!(lu::UmfpackLU{Float64}, B::StridedVecOrMat{<:Complex}) = Base.LinAlg.ldiv!(lu, B) |
38 | | - Base.At_ldiv_B!(lu::UmfpackLU{Float64}, B::StridedVecOrMat{<:Complex}) = Base.LinAlg.ldiv!(Transpose(lu), B) |
39 | | - Base.Ac_ldiv_B!(lu::UmfpackLU{Float64}, B::StridedVecOrMat{<:Complex}) = Base.LinAlg.ldiv!(Adjoint(lu), B) |
| 37 | + Base.At_ldiv_B!(lu::UmfpackLU{Float64}, B::StridedVecOrMat{<:Complex}) = Base.LinAlg.ldiv!(transpose(lu), B) |
| 38 | + Base.Ac_ldiv_B!(lu::UmfpackLU{Float64}, B::StridedVecOrMat{<:Complex}) = Base.LinAlg.ldiv!(adjoint(lu), B) |
40 | 39 | end |
41 | 40 |
|
42 | 41 | # A[ct]_(mul|ldiv|rdiv)_B[ct][!] methods from src/spqr.jl, to deprecate |
43 | 42 | @eval SuiteSparse.SPQR begin |
44 | 43 | using Base.LinAlg: Adjoint, Transpose |
45 | | - Base.A_mul_Bc!(A::StridedMatrix, Q::QRSparseQ) = Base.LinAlg.mul!(A, Adjoint(Q)) |
46 | | - Base.Ac_mul_B!(Q::QRSparseQ, A::StridedVecOrMat) = Base.LinAlg.mul!(Adjoint(Q), A) |
| 44 | + Base.A_mul_Bc!(A::StridedMatrix, Q::QRSparseQ) = Base.LinAlg.mul!(A, adjoint(Q)) |
| 45 | + Base.Ac_mul_B!(Q::QRSparseQ, A::StridedVecOrMat) = Base.LinAlg.mul!(adjoint(Q), A) |
47 | 46 | Base.A_mul_B!(A::StridedMatrix, Q::QRSparseQ) = Base.LinAlg.mul!(A, Q) |
48 | 47 | Base.A_mul_B!(Q::QRSparseQ, A::StridedVecOrMat) = Base.LinAlg.mul!(Q, A) |
49 | 48 | end |
0 commit comments