Add TrapezoidalLayout
mleprovost opened this issue · 1 comments
mleprovost commented
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.
dlfivefifty commented
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