ArrayLayouts.jl icon indicating copy to clipboard operation
ArrayLayouts.jl copied to clipboard

Add TrapezoidalLayout

Open mleprovost opened this issue 4 years ago • 1 comments

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.

mleprovost avatar Aug 03 '20 16:08 mleprovost

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

dlfivefifty avatar Aug 04 '20 09:08 dlfivefifty