Skip to content

Commit

Permalink
LazyArrays v2.0 support
Browse files Browse the repository at this point in the history
  • Loading branch information
dlfivefifty committed Apr 30, 2024
1 parent 8f786bd commit 7ea6456
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
15 changes: 7 additions & 8 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
name = "SemiseparableMatrices"
uuid = "f8ebbe35-cbfb-4060-bf7f-b10e4670cf57"
authors = ["Sheehan Olver <[email protected]>"]
version = "0.3.9"
version = "0.4.0"

[deps]
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0"
LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02"
LazyBandedMatrices = "d7e5e226-e90b-4449-9968-0f923699bf6f"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MatrixFactorizations = "a3b82374-2e81-5b9e-98ce-41277c0e4c87"

[compat]
ArrayLayouts = "0.7, 0.8, 1"
BandedMatrices = "0.16, 0.17, 1"
BlockBandedMatrices = "0.11, 0.12"
LazyArrays = "0.22, 1"
LazyBandedMatrices = "0.7.2, 0.8, 0.9"
MatrixFactorizations = "0.8, 0.9, 1, 2"
ArrayLayouts = "1.0"
BandedMatrices = "1.7"
BlockBandedMatrices = "0.13"
LazyArrays = "2.0"
MatrixFactorizations = "3.0"
julia = "1.6"

[extras]
Expand Down
8 changes: 5 additions & 3 deletions src/SemiseparableMatrices.jl
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
module SemiseparableMatrices
using LinearAlgebra: BlasFloat
using ArrayLayouts, BandedMatrices, LazyArrays, LinearAlgebra, MatrixFactorizations, LazyBandedMatrices, Base
using ArrayLayouts, BandedMatrices, LazyArrays, LinearAlgebra, MatrixFactorizations, Base

import Base: size, getindex, setindex!, convert, copyto!
import MatrixFactorizations: QR, QRPackedQ, getQ, getR, QRPackedQLayout, AdjQRPackedQLayout
import LinearAlgebra: qr, qr!, lmul!, ldiv!, rmul!, triu!, factorize, rank
import BandedMatrices: _banded_qr!, bandeddata
import BandedMatrices: _banded_qr!, bandeddata, resize
import LazyArrays: arguments, applylayout, _cache, CachedArray, CachedMatrix, ApplyLayout, resizedata!
import ArrayLayouts: MemoryLayout, sublayout, sub_materialize, MatLdivVec, materialize!, triangularlayout,
triangulardata, zero!, _copyto!, colsupport, rowsupport,
_qr, _qr!, _factorize
import LazyBandedMatrices: resize, ScalarOrBandedLayouts, ApplyBandedLayout

export SemiseparableMatrix, AlmostBandedMatrix, LowRankMatrix, ApplyMatrix, ApplyArray, almostbandwidths, almostbandedrank

LazyArraysBandedMatricesExt = Base.get_extension(LazyArrays, :LazyArraysBandedMatricesExt)
ScalarOrBandedLayouts = LazyArraysBandedMatricesExt.ScalarOrBandedLayouts

const LowRankMatrix{T,A,B} = MulMatrix{T,Tuple{A,B}}
LowRankMatrix(A::AbstractArray, B::AbstractArray) = ApplyMatrix(*, A, B)
LowRankMatrix(S::SubArray) = LowRankMatrix(map(Array,arguments(S))...)
Expand Down

0 comments on commit 7ea6456

Please sign in to comment.