I am wondering if it would make sense to have an abstract type for <: AbstractMatrix
types which are by construction square, eg
abstract type SquareMatrix{T} <: AbstractMatrix{T} end
Subtypes would be Diagonal
, various *Triangular
, Symmetric
and Hermitian
, etc.
Not being a subtype would of course not imply that something is not square, just that it cannot be determined from the type alone.
(opening discussion before making an issue)