@@ -3004,9 +3004,9 @@ end
30043004
30053005# methods involving RowVector from base/linalg/diagonal.jl, to deprecate
30063006@eval Base. LinAlg begin
3007- * (rowvec:: RowVector , D:: Diagonal ) = transpose (D * transpose (rowvec)) # seems potentially incorrect without also transposing D?
3008- * (D:: Diagonal , transrowvec:: Transpose{<:Any,<:RowVector} ) = (rowvec = transrowvec. parent; D* transpose (rowvec))
3009- * (D:: Diagonal , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = (rowvec = adjrowvec. parent; D* adjoint (rowvec))
3007+ * (rowvec:: RowVector , D:: Diagonal ) = rvtranspose (D * rvtranspose (rowvec)) # seems potentially incorrect without also transposing D?
3008+ * (D:: Diagonal , transrowvec:: Transpose{<:Any,<:RowVector} ) = (rowvec = transrowvec. parent; D* rvtranspose (rowvec))
3009+ * (D:: Diagonal , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = (rowvec = adjrowvec. parent; D* rvadjoint (rowvec))
30103010end
30113011
30123012# methods involving RowVector from base/sparse/linalg.jl, to deprecate
@@ -3018,7 +3018,7 @@ end
30183018
30193019# methods involving RowVector from base/linalg/qr.jl, to deprecate
30203020@eval Base. LinAlg begin
3021- * (rowvec:: RowVector , adjB:: Adjoint{<:Any,<:AbstractQ} ) = (B = adjB. parent; adjoint (B* adjoint (rowvec)))
3021+ * (rowvec:: RowVector , adjB:: Adjoint{<:Any,<:AbstractQ} ) = (B = adjB. parent; rvadjoint (B* rvadjoint (rowvec)))
30223022end
30233023
30243024# methods involving RowVector from base/linalg/qr.jl, to deprecate
@@ -3063,8 +3063,8 @@ end
30633063 1.0
30643064 ```
30653065 """
3066- norm (tv:: RowVector , q:: Real ) = q == Inf ? norm (transpose (tv), 1 ) : norm (transpose (tv), q/ (q- 1 ))
3067- norm (tv:: RowVector ) = norm (transpose (tv))
3066+ norm (tv:: RowVector , q:: Real ) = q == Inf ? norm (rvtranspose (tv), 1 ) : norm (rvtranspose (tv), q/ (q- 1 ))
3067+ norm (tv:: RowVector ) = norm (rvtranspose (tv))
30683068end
30693069
30703070# methods involving RowVector from base/linalg/factorization.jl, to deprecate
@@ -3090,30 +3090,29 @@ end
30903090 * (A:: Transpose{<:Any,<:RealHermSymComplexSym} , B:: Transpose{<:Any,<:RowVector} ) = A. parent * B
30913091end
30923092
3093-
30943093# methods involving RowVector from base/linalg/triangular.jl, to deprecate
30953094@eval Base. LinAlg begin
3096- * (rowvec:: RowVector , A:: AbstractTriangular ) = transpose (transpose (A) * transpose (rowvec))
3097- * (rowvec:: RowVector , transA:: Transpose{<:Any,<:AbstractTriangular} ) = transpose (transA. parent * transpose (rowvec))
3098- * (A:: AbstractTriangular , transrowvec:: Transpose{<:Any,<:RowVector} ) = A * transpose (transrowvec. parent)
3099- * (transA:: Transpose{<:Any,<:AbstractTriangular} , transrowvec:: Transpose{<:Any,<:RowVector} ) = transA. parent.' * transpose (transrowvec. parent)
3100- * (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:AbstractTriangular} ) = adjoint (adjA. parent * adjoint (rowvec))
3101- * (A:: AbstractTriangular , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = A * adjoint (adjrowvec. parent)
3102- * (adjA:: Adjoint{<:Any,<:AbstractTriangular} , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = adjA. parent' * adjoint (adjrowvec. parent)
3095+ * (rowvec:: RowVector , A:: AbstractTriangular ) = rvtranspose (transpose (A) * rvtranspose (rowvec))
3096+ * (rowvec:: RowVector , transA:: Transpose{<:Any,<:AbstractTriangular} ) = rvtranspose (transA. parent * rvtranspose (rowvec))
3097+ * (A:: AbstractTriangular , transrowvec:: Transpose{<:Any,<:RowVector} ) = A * rvtranspose (transrowvec. parent)
3098+ * (transA:: Transpose{<:Any,<:AbstractTriangular} , transrowvec:: Transpose{<:Any,<:RowVector} ) = transA. parent.' * rvtranspose (transrowvec. parent)
3099+ * (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:AbstractTriangular} ) = rvadjoint (adjA. parent * rvadjoint (rowvec))
3100+ * (A:: AbstractTriangular , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = A * rvadjoint (adjrowvec. parent)
3101+ * (adjA:: Adjoint{<:Any,<:AbstractTriangular} , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = adjA. parent' * rvadjoint (adjrowvec. parent)
31033102 \ (:: Union{UpperTriangular,LowerTriangular} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
31043103 \ (:: Union{UnitUpperTriangular,UnitLowerTriangular} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
31053104 \ (:: Adjoint{<:Any,<:Union{UpperTriangular,LowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
31063105 \ (:: Adjoint{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
31073106 \ (:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
31083107 \ (:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
3109- / (rowvec:: RowVector , A:: Union{UpperTriangular,LowerTriangular} ) = transpose (transpose (A) \ transpose (rowvec))
3110- / (rowvec:: RowVector , A:: Union{UnitUpperTriangular,UnitLowerTriangular} ) = transpose (transpose (A) \ transpose (rowvec))
3111- / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = transpose (transA. parent \ transpose (rowvec))
3112- / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = transpose (transA. parent \ transpose (rowvec))
3108+ / (rowvec:: RowVector , A:: Union{UpperTriangular,LowerTriangular} ) = rvtranspose (transpose (A) \ rvtranspose (rowvec))
3109+ / (rowvec:: RowVector , A:: Union{UnitUpperTriangular,UnitLowerTriangular} ) = rvtranspose (transpose (A) \ rvtranspose (rowvec))
3110+ / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = rvtranspose (transA. parent \ rvtranspose (rowvec))
3111+ / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = rvtranspose (transA. parent \ rvtranspose (rowvec))
31133112 / (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = / (rowvec, adjoint (adjA. parent))
31143113 / (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = / (rowvec, adjoint (adjA. parent))
3115- * (A:: Adjoint{<:Any,<:AbstractTriangular} , B:: Transpose{<:Any,<:RowVector} ) = A * transpose (B. parent)
3116- * (A:: Transpose{<:Any,<:AbstractTriangular} , B:: Adjoint{<:Any,<:RowVector} ) = A * adjoint (B. parent)
3114+ * (A:: Adjoint{<:Any,<:AbstractTriangular} , B:: Transpose{<:Any,<:RowVector} ) = A * rvtranspose (B. parent)
3115+ * (A:: Transpose{<:Any,<:AbstractTriangular} , B:: Adjoint{<:Any,<:RowVector} ) = A * rvadjoint (B. parent)
31173116end
31183117
31193118# issue #24822
0 commit comments