@@ -2985,9 +2985,9 @@ end
29852985
29862986# methods involving RowVector from base/linalg/diagonal.jl, to deprecate
29872987@eval Base. LinAlg begin
2988- * (rowvec:: RowVector , D:: Diagonal ) = transpose (D * transpose (rowvec)) # seems potentially incorrect without also transposing D?
2989- * (D:: Diagonal , transrowvec:: Transpose{<:Any,<:RowVector} ) = (rowvec = transrowvec. parent; D* transpose (rowvec))
2990- * (D:: Diagonal , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = (rowvec = adjrowvec. parent; D* adjoint (rowvec))
2988+ * (rowvec:: RowVector , D:: Diagonal ) = rvtranspose (D * rvtranspose (rowvec)) # seems potentially incorrect without also transposing D?
2989+ * (D:: Diagonal , transrowvec:: Transpose{<:Any,<:RowVector} ) = (rowvec = transrowvec. parent; D* rvtranspose (rowvec))
2990+ * (D:: Diagonal , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = (rowvec = adjrowvec. parent; D* rvadjoint (rowvec))
29912991end
29922992
29932993# methods involving RowVector from base/sparse/linalg.jl, to deprecate
@@ -2999,7 +2999,7 @@ end
29992999
30003000# methods involving RowVector from base/linalg/qr.jl, to deprecate
30013001@eval Base. LinAlg begin
3002- * (rowvec:: RowVector , adjB:: Adjoint{<:Any,<:AbstractQ} ) = (B = adjB. parent; adjoint (B* adjoint (rowvec)))
3002+ * (rowvec:: RowVector , adjB:: Adjoint{<:Any,<:AbstractQ} ) = (B = adjB. parent; rvadjoint (B* rvadjoint (rowvec)))
30033003end
30043004
30053005# methods involving RowVector from base/linalg/qr.jl, to deprecate
@@ -3044,8 +3044,8 @@ end
30443044 1.0
30453045 ```
30463046 """
3047- norm (tv:: RowVector , q:: Real ) = q == Inf ? norm (transpose (tv), 1 ) : norm (transpose (tv), q/ (q- 1 ))
3048- norm (tv:: RowVector ) = norm (transpose (tv))
3047+ norm (tv:: RowVector , q:: Real ) = q == Inf ? norm (rvtranspose (tv), 1 ) : norm (rvtranspose (tv), q/ (q- 1 ))
3048+ norm (tv:: RowVector ) = norm (rvtranspose (tv))
30493049end
30503050
30513051# methods involving RowVector from base/linalg/factorization.jl, to deprecate
@@ -3071,30 +3071,29 @@ end
30713071 * (A:: Transpose{<:Any,<:RealHermSymComplexSym} , B:: Transpose{<:Any,<:RowVector} ) = A. parent * B
30723072end
30733073
3074-
30753074# methods involving RowVector from base/linalg/triangular.jl, to deprecate
30763075@eval Base. LinAlg begin
3077- * (rowvec:: RowVector , A:: AbstractTriangular ) = transpose (transpose (A) * transpose (rowvec))
3078- * (rowvec:: RowVector , transA:: Transpose{<:Any,<:AbstractTriangular} ) = transpose (transA. parent * transpose (rowvec))
3079- * (A:: AbstractTriangular , transrowvec:: Transpose{<:Any,<:RowVector} ) = A * transpose (transrowvec. parent)
3080- * (transA:: Transpose{<:Any,<:AbstractTriangular} , transrowvec:: Transpose{<:Any,<:RowVector} ) = transA. parent.' * transpose (transrowvec. parent)
3081- * (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:AbstractTriangular} ) = adjoint (adjA. parent * adjoint (rowvec))
3082- * (A:: AbstractTriangular , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = A * adjoint (adjrowvec. parent)
3083- * (adjA:: Adjoint{<:Any,<:AbstractTriangular} , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = adjA. parent' * adjoint (adjrowvec. parent)
3076+ * (rowvec:: RowVector , A:: AbstractTriangular ) = rvtranspose (transpose (A) * rvtranspose (rowvec))
3077+ * (rowvec:: RowVector , transA:: Transpose{<:Any,<:AbstractTriangular} ) = rvtranspose (transA. parent * rvtranspose (rowvec))
3078+ * (A:: AbstractTriangular , transrowvec:: Transpose{<:Any,<:RowVector} ) = A * rvtranspose (transrowvec. parent)
3079+ * (transA:: Transpose{<:Any,<:AbstractTriangular} , transrowvec:: Transpose{<:Any,<:RowVector} ) = transA. parent.' * rvtranspose (transrowvec. parent)
3080+ * (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:AbstractTriangular} ) = rvadjoint (adjA. parent * rvadjoint (rowvec))
3081+ * (A:: AbstractTriangular , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = A * rvadjoint (adjrowvec. parent)
3082+ * (adjA:: Adjoint{<:Any,<:AbstractTriangular} , adjrowvec:: Adjoint{<:Any,<:RowVector} ) = adjA. parent' * rvadjoint (adjrowvec. parent)
30843083 \ (:: Union{UpperTriangular,LowerTriangular} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
30853084 \ (:: Union{UnitUpperTriangular,UnitLowerTriangular} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
30863085 \ (:: Adjoint{<:Any,<:Union{UpperTriangular,LowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
30873086 \ (:: Adjoint{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
30883087 \ (:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
30893088 \ (:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} , :: RowVector ) = throw (DimensionMismatch (" Cannot left-divide matrix by transposed vector" ))
3090- / (rowvec:: RowVector , A:: Union{UpperTriangular,LowerTriangular} ) = transpose (transpose (A) \ transpose (rowvec))
3091- / (rowvec:: RowVector , A:: Union{UnitUpperTriangular,UnitLowerTriangular} ) = transpose (transpose (A) \ transpose (rowvec))
3092- / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = transpose (transA. parent \ transpose (rowvec))
3093- / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = transpose (transA. parent \ transpose (rowvec))
3089+ / (rowvec:: RowVector , A:: Union{UpperTriangular,LowerTriangular} ) = rvtranspose (transpose (A) \ rvtranspose (rowvec))
3090+ / (rowvec:: RowVector , A:: Union{UnitUpperTriangular,UnitLowerTriangular} ) = rvtranspose (transpose (A) \ rvtranspose (rowvec))
3091+ / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = rvtranspose (transA. parent \ rvtranspose (rowvec))
3092+ / (rowvec:: RowVector , transA:: Transpose{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = rvtranspose (transA. parent \ rvtranspose (rowvec))
30943093 / (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:Union{UpperTriangular,LowerTriangular}} ) = / (rowvec, adjoint (adjA. parent))
30953094 / (rowvec:: RowVector , adjA:: Adjoint{<:Any,<:Union{UnitUpperTriangular,UnitLowerTriangular}} ) = / (rowvec, adjoint (adjA. parent))
3096- * (A:: Adjoint{<:Any,<:AbstractTriangular} , B:: Transpose{<:Any,<:RowVector} ) = A * transpose (B. parent)
3097- * (A:: Transpose{<:Any,<:AbstractTriangular} , B:: Adjoint{<:Any,<:RowVector} ) = A * adjoint (B. parent)
3095+ * (A:: Adjoint{<:Any,<:AbstractTriangular} , B:: Transpose{<:Any,<:RowVector} ) = A * rvtranspose (B. parent)
3096+ * (A:: Transpose{<:Any,<:AbstractTriangular} , B:: Adjoint{<:Any,<:RowVector} ) = A * rvadjoint (B. parent)
30983097end
30993098
31003099# issue #24822
0 commit comments