ArrayLayouts.jl
ArrayLayouts.jl copied to clipboard
Add TrapezoidalLayout
Hello,
I open this issue to discuss the implementation of TrapezoidalLayout
, see (https://discourse.julialang.org/t/view-of-lowermatrix-is-not-working-with-ldiv-and-mul/44046/2). This will be helpful to perform ldiv!, mul!
on views of triangular matrices for instance.
An important component will be to make sure the code works for both TrapezoidalLayout
and TriangularLayout
, when appropriate. Perhaps a design like this makes sense:
abstract type AbstractTrapezoidalLayout{UPLO,UNIT} <: MemoryLayout end
struct TrapezoidalLayout{UPLO,UNIT} <: AbstractTrapezoidalLayout{UPLO,UNIT} end
struct TriangularLayout{UPLO,UNIT} <: AbstractTrapezoidalLayout{UPLO,UNIT} end