diff --git a/stdlib/LinearAlgebra/src/lu.jl b/stdlib/LinearAlgebra/src/lu.jl index d2e82af5d6409..0837ac08e74ea 100644 --- a/stdlib/LinearAlgebra/src/lu.jl +++ b/stdlib/LinearAlgebra/src/lu.jl @@ -786,7 +786,7 @@ function ldiv!(adjA::AdjointFactorization{<:Any,<:LU{T,Tridiagonal{T,V}}}, B::Ab return B end -rdiv!(B::AbstractMatrix, A::LU) = transpose(ldiv!(transpose(A), transpose(B))) +rdiv!(B::AbstractMatrix, A::LU{T,Tridiagonal{T,V}}) where {T,V} = transpose(ldiv!(transpose(A), transpose(B))) # Conversions AbstractMatrix(F::LU) = (F.L * F.U)[invperm(F.p),:] diff --git a/stdlib/LinearAlgebra/src/triangular.jl b/stdlib/LinearAlgebra/src/triangular.jl index 1a7d04115c97d..71b0fa53816bf 100644 --- a/stdlib/LinearAlgebra/src/triangular.jl +++ b/stdlib/LinearAlgebra/src/triangular.jl @@ -1048,16 +1048,16 @@ _trimul!(C::AbstractMatrix, A::AbstractTriangular, B::UpperOrLowerTriangular) = function lmul!(A::AbstractTriangular, B::AbstractVecOrMat) if istriu(A) - _trimul!(B, UpperTriangular(A), B) + _trimul!(B, uppertriangular(A), B) else - _trimul!(B, LowerTriangular(A), B) + _trimul!(B, lowertriangular(A), B) end end function rmul!(A::AbstractMatrix, B::AbstractTriangular) if istriu(B) - _trimul!(A, A, UpperTriangular(B)) + _trimul!(A, A, uppertriangular(B)) else - _trimul!(A, A, LowerTriangular(B)) + _trimul!(A, A, lowertriangular(B)) end end @@ -1097,16 +1097,16 @@ _rdiv!(C::AbstractMatrix, A::AbstractMatrix, B::UpperOrLowerTriangular) = function ldiv!(A::AbstractTriangular, B::AbstractVecOrMat) if istriu(A) - _ldiv!(B, UpperTriangular(A), B) + _ldiv!(B, uppertriangular(A), B) else - _ldiv!(B, LowerTriangular(A), B) + _ldiv!(B, lowertriangular(A), B) end end function rdiv!(A::AbstractMatrix, B::AbstractTriangular) if istriu(B) - _rdiv!(A, A, UpperTriangular(B)) + _rdiv!(A, A, uppertriangular(B)) else - _rdiv!(A, A, LowerTriangular(B)) + _rdiv!(A, A, lowertriangular(B)) end end