@@ -9,9 +9,10 @@ import Base: size, getindex, setindex!, IndexStyle, checkbounds, convert,
99 show, view, in, mapreduce, one, reverse
1010
1111import LinearAlgebra: rank, svdvals!, tril, triu, tril!, triu!, diag, transpose, adjoint, fill!,
12- dot, norm2, norm1, normInf, normMinusInf, normp, lmul!, rmul!, diagzero, AbstractTriangular, AdjointAbsVec, TransposeAbsVec,
12+ dot, norm2, norm1, normInf, normMinusInf, normp, lmul!, rmul!, diagzero, AdjointAbsVec, TransposeAbsVec,
1313 issymmetric, ishermitian, AdjOrTransAbsVec, checksquare
1414
15+
1516import Base. Broadcast: broadcasted, DefaultArrayStyle, broadcast_shape
1617
1718import Statistics: mean, std, var, cov, cor
@@ -348,10 +349,13 @@ end
348349@inline RectDiagonal {T} (A:: V , args... ) where {T,V} = RectDiagonal {T,V} (A, args... )
349350@inline RectDiagonal (A:: V , args... ) where {V} = RectDiagonal {eltype(V),V} (A, args... )
350351
352+ const UpperOrUnitUpperTriangular{T,S} = Union{UpperTriangular{T,S}, UnitUpperTriangular{T,S}}
353+ const LowerOrUnitLowerTriangular{T,S} = Union{LowerTriangular{T,S}, UnitLowerTriangular{T,S}}
354+ const UpperOrLowerTriangular{T,S} = Union{UpperOrUnitUpperTriangular{T,S}, LowerOrUnitLowerTriangular{T,S}}
351355
352356# patch missing overload from Base
353357axes (rd:: Diagonal{<:Any,<:AbstractFill} ) = (axes (rd. diag,1 ),axes (rd. diag,1 ))
354- axes (T:: AbstractTriangular {<:Any,<:AbstractFill} ) = axes (parent (T))
358+ axes (T:: UpperOrLowerTriangular {<:Any,<:AbstractFill} ) = axes (parent (T))
355359
356360axes (rd:: RectDiagonal ) = rd. axes
357361size (rd:: RectDiagonal ) = map (length, rd. axes)
@@ -672,7 +676,7 @@ Base.print_matrix_row(io::IO,
672676 AbstractFillMatrix,
673677 Diagonal{<: Any ,<: AbstractFillVector },
674678 RectDiagonal,
675- AbstractTriangular {<: Any ,<: AbstractFillMatrix }
679+ UpperOrLowerTriangular {<: Any ,<: AbstractFillMatrix }
676680 }, A:: Vector ,
677681 i:: Integer , cols:: AbstractVector , sep:: AbstractString , idxlast:: Integer = last (axes (X, 2 ))) =
678682 axes_print_matrix_row (axes (X), io, X, A, i, cols, sep)
0 commit comments