Skip to content

Commit a626602

Browse files
authored
Support transforms with quasi matrices (#122)
* Support transforms with matrix RHS * better support for matrix transforms * Expansion -> ExpansionLayout * Update plotting.jl * Update bases.jl * Support hcat in Ldiv * ((w .* P) * c) .* f fall back * move broadcasted special cases from ClassicalOPs * Update bases.jl * WeightBasis takes Layout * PolynomnialLayout * Update Project.toml * cumsum for HeavisideSpline * increase coverage * == for WeightedBasis * increase cov * Update ContinuumArrays.jl
1 parent e366725 commit a626602

File tree

11 files changed

+250
-122
lines changed

11 files changed

+250
-122
lines changed

Project.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ContinuumArrays"
22
uuid = "7ae1f121-cc2c-504b-ac30-9b923412ae5c"
3-
version = "0.9.6"
3+
version = "0.10.0"
44

55
[deps]
66
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
@@ -17,15 +17,16 @@ RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
1717
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1818

1919
[compat]
20-
ArrayLayouts = "0.7.2"
20+
ArrayLayouts = "0.7.7"
2121
BandedMatrices = "0.16"
2222
BlockArrays = "0.16"
23-
FillArrays = "0.11, 0.12"
24-
InfiniteArrays = "0.11, 0.12"
23+
FastTransforms = "0.13"
24+
FillArrays = "0.12"
25+
InfiniteArrays = "0.12"
2526
Infinities = "0.1"
2627
IntervalSets = "0.5"
27-
LazyArrays = "0.21.13, 0.22"
28-
QuasiArrays = "0.7, 0.8"
28+
LazyArrays = "0.22"
29+
QuasiArrays = "0.9"
2930
RecipesBase = "1.0"
3031
StaticArrays = "1.0"
3132
julia = "1.6"

src/ContinuumArrays.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
11
module ContinuumArrays
22
using IntervalSets, LinearAlgebra, LazyArrays, FillArrays, BandedMatrices, QuasiArrays, Infinities, InfiniteArrays, StaticArrays, BlockArrays, RecipesBase
3-
import Base: @_inline_meta, @_propagate_inbounds_meta, axes, getindex, convert, prod, *, /, \, +, -, ==, ^,
3+
import Base: @_inline_meta, @_propagate_inbounds_meta, axes, size, getindex, convert, prod, *, /, \, +, -, ==, ^,
44
IndexStyle, IndexLinear, ==, OneTo, _maybetail, tail, similar, copyto!, copy, diff,
55
first, last, show, isempty, findfirst, findlast, findall, Slice, union, minimum, maximum, sum, _sum,
66
getproperty, isone, iszero, zero, abs, <, , >, , string, summary, to_indices, view
7-
import Base.Broadcast: materialize, BroadcastStyle, broadcasted
7+
import Base.Broadcast: materialize, BroadcastStyle, broadcasted, Broadcasted
88
import LazyArrays: MemoryLayout, Applied, ApplyStyle, flatten, _flatten, colsupport, most, combine_mul_styles, AbstractArrayApplyStyle,
99
adjointlayout, arguments, _mul_arguments, call, broadcastlayout, layout_getindex, UnknownLayout,
1010
sublayout, sub_materialize, ApplyLayout, BroadcastLayout, combine_mul_styles, applylayout,
1111
simplifiable, _simplify, AbstractLazyLayout, PaddedLayout
12-
import LinearAlgebra: pinv, dot, norm2
12+
import LinearAlgebra: pinv, dot, norm2, ldiv!, mul!
1313
import BandedMatrices: AbstractBandedLayout, _BandedMatrix
1414
import BlockArrays: block, blockindex, unblock, blockedrange, _BlockedUnitRange, _BlockArray
1515
import FillArrays: AbstractFill, getindex_value, SquareEye
16-
import ArrayLayouts: mul, ZerosLayout, ScalarLayout
16+
import ArrayLayouts: mul, ZerosLayout, ScalarLayout, AbstractStridedLayout
1717
import QuasiArrays: cardinality, checkindex, QuasiAdjoint, QuasiTranspose, Inclusion, SubQuasiArray,
1818
QuasiDiagonal, MulQuasiArray, MulQuasiMatrix, MulQuasiVector, QuasiMatMulMat, QuasiArrayLayout,
1919
ApplyQuasiArray, ApplyQuasiMatrix, LazyQuasiArrayApplyStyle, AbstractQuasiArrayApplyStyle, AbstractQuasiLazyLayout,
2020
LazyQuasiArray, LazyQuasiVector, LazyQuasiMatrix, LazyLayout, LazyQuasiArrayStyle, _factorize,
21-
AbstractQuasiFill, UnionDomain, __sum
21+
AbstractQuasiFill, UnionDomain, __sum, _cumsum, __cumsum, applylayout, _equals, layout_broadcasted, PolynomialLayout
2222
import InfiniteArrays: Infinity, InfAxes
2323

24-
export Spline, LinearSpline, HeavisideSpline, DiracDelta, Derivative, ℵ₁, Inclusion, Basis, WeightedBasis, grid, plotgrid, transform, affine, ..
24+
export Spline, LinearSpline, HeavisideSpline, DiracDelta, Derivative, ℵ₁, Inclusion, Basis, grid, plotgrid, affine, ..
2525

2626

2727

@@ -58,6 +58,8 @@ sub_materialize(_, V::AbstractQuasiArray, ::Tuple{QInfAxes,Any}) = V
5858
# ambiguity error
5959
sub_materialize(_, V::AbstractQuasiArray, ::Tuple{InfAxes,QInfAxes}) = V
6060
sub_materialize(_, V::AbstractQuasiArray, ::Tuple{QInfAxes,InfAxes}) = V
61+
sub_materialize(::ApplyLayout{typeof(hcat)}, V::AbstractQuasiArray, ::Tuple{QInfAxes,Any}) = V
62+
sub_materialize(::ApplyLayout{typeof(hcat)}, V::AbstractQuasiArray, ::Tuple{QInfAxes,InfAxes}) = V
6163

6264
#
6365
# BlockQuasiArrays

0 commit comments

Comments
 (0)