Skip to content

Commit 4911834

Browse files
authored
ContinuumArrays v0.17 (#52)
* ContinuumArrays v0.17 * tests pass * Update ci.yml * v0.2.5 * Update Project.toml
1 parent d889ed5 commit 4911834

File tree

7 files changed

+42
-26
lines changed

7 files changed

+42
-26
lines changed

.github/workflows/ci.yml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
11
name: CI
22
on:
3-
- push
4-
- pull_request
3+
push:
4+
branches:
5+
- main
6+
paths-ignore:
7+
- 'LICENSE'
8+
- 'README.md'
9+
- '.github/workflows/TagBot.yml'
10+
pull_request:
11+
paths-ignore:
12+
- 'LICENSE'
13+
- 'README.md'
14+
- '.github/workflows/TagBot.yml'
515
jobs:
616
test:
717
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
@@ -18,12 +28,12 @@ jobs:
1828
arch:
1929
- x64
2030
steps:
21-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v2
2232
- uses: julia-actions/setup-julia@v1
2333
with:
2434
version: ${{ matrix.version }}
2535
arch: ${{ matrix.arch }}
26-
- uses: actions/cache@v3
36+
- uses: actions/cache@v1
2737
env:
2838
cache-name: cache-artifacts
2939
with:
@@ -36,6 +46,6 @@ jobs:
3646
- uses: julia-actions/julia-buildpkg@v1
3747
- uses: julia-actions/julia-runtest@v1
3848
- uses: julia-actions/julia-processcoverage@v1
39-
- uses: codecov/codecov-action@v3
49+
- uses: codecov/codecov-action@v1
4050
with:
4151
file: lcov.info

Project.toml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "PiecewiseOrthogonalPolynomials"
22
uuid = "4461d12d-4663-4550-8580-cb764c85e20f"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "0.2.4"
4+
version = "0.2.5"
55

66
[deps]
77
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
@@ -10,7 +10,6 @@ BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
1010
BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0"
1111
ClassicalOrthogonalPolynomials = "b30e2e7b-c4ee-47da-9d5f-2c5c27239acd"
1212
ContinuumArrays = "7ae1f121-cc2c-504b-ac30-9b923412ae5c"
13-
FastTransforms = "057dd010-8810-581a-b7be-e3fc3b93f78c"
1413
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
1514
InfiniteArrays = "4858937d-0d70-526a-a4dd-2d5cb5dd786c"
1615
InfiniteLinearAlgebra = "cde9dba0-b1de-11e9-2c62-0bab9446c55c"
@@ -22,14 +21,14 @@ QuasiArrays = "c4ea9172-b204-11e9-377d-29865faadc5c"
2221

2322
[compat]
2423
ArrayLayouts = "1.0.12"
25-
BandedMatrices = "0.17.33, 1"
24+
BandedMatrices = "1"
2625
BlockArrays = "0.16.25"
2726
BlockBandedMatrices = "0.12.2"
28-
ClassicalOrthogonalPolynomials = "0.11"
29-
ContinuumArrays = "0.16.3"
27+
ClassicalOrthogonalPolynomials = "0.12"
28+
ContinuumArrays = "0.17"
3029
FillArrays = "1.0"
31-
InfiniteArrays = "0.12.6, 0.13"
32-
InfiniteLinearAlgebra = "0.6.16, 0.7"
30+
InfiniteArrays = "0.13"
31+
InfiniteLinearAlgebra = "0.7"
3332
LazyArrays = "1.8.2"
3433
LazyBandedMatrices = "0.9.1"
3534
MatrixFactorizations = "2.0"

src/PiecewiseOrthogonalPolynomials.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import BandedMatrices: _BandedMatrix
66
import BlockArrays: BlockSlice, block, blockindex, blockvec
77
import BlockBandedMatrices: _BandedBlockBandedMatrix, AbstractBandedBlockBandedMatrix, subblockbandwidths, blockbandwidths, AbstractBandedBlockBandedLayout, layout_replace_in_print_matrix
88
import ClassicalOrthogonalPolynomials: grid, plotgrid, ldiv, pad, adaptivetransform_ldiv, Plan, singularities, basis_singularities, singularitiesbroadcast
9-
import ContinuumArrays: @simplify, factorize, TransformFactorization, AbstractBasisLayout, MemoryLayout, layout_broadcasted, ExpansionLayout, basis, plan_grid_transform, grammatrix, weaklaplacian
9+
import ContinuumArrays: @simplify, factorize, TransformFactorization, AbstractBasisLayout, MemoryLayout, layout_broadcasted, ExpansionLayout, basis, plan_transform, plan_grid_transform, grammatrix, weaklaplacian
1010
import LazyArrays: paddeddata
1111
import LazyBandedMatrices: BlockBroadcastMatrix, BlockVec, BandedLazyLayouts, AbstractLazyBandedBlockBandedLayout, UpperOrLowerTriangular
1212
import Base: axes, getindex, +, -, *, /, ==, \, OneTo, oneto, replace_in_print_matrix, copy, diff, getproperty, adjoint, transpose, tail, _sum

src/continuouspolynomial.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,14 @@ end
4545
factorize(V::SubQuasiArray{T,N,<:ContinuousPolynomial{0},<:Tuple{Inclusion,BlockSlice}}, dims...) where {T,N} =
4646
factorize(view(PiecewisePolynomial(parent(V)), parentindices(V)...), dims...)
4747

48-
plan_grid_transform(P::ContinuousPolynomial{0}, args...) = plan_grid_transform(PiecewisePolynomial(P), args...)
49-
plan_grid_transform(P::ContinuousPolynomial{0}, lng::Union{Integer, Block{1}}, args...) = plan_grid_transform(PiecewisePolynomial(P), lng, args...)
48+
plan_transform(P::ContinuousPolynomial{0}, szs::NTuple{N,Union{Int,Block{1}}}, dims=ntuple(identity,Val(N))) where N = plan_transform(PiecewisePolynomial(P), szs, dims)
49+
5050

5151
for grd in (:grid, :plotgrid)
52-
@eval $grd(C::ContinuousPolynomial, n...) = $grd(PiecewisePolynomial(C), n...)
52+
@eval begin
53+
$grd(C::ContinuousPolynomial, n::Block{1}) = $grd(PiecewisePolynomial(C), n)
54+
$grd(C::ContinuousPolynomial, n::Int) = $grd(PiecewisePolynomial(C), n)
55+
end
5356
end
5457

5558
function adaptivetransform_ldiv(Q::ContinuousPolynomial{1,V}, f::AbstractQuasiVector) where V

src/dirichlet.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,10 @@ function diff(Q::DirichletPolynomial{T}; dims=1) where T
101101
end
102102

103103
for grd in (:grid, :plotgrid)
104-
@eval $grd(C::DirichletPolynomial, n...) = $grd(PiecewisePolynomial(C), n...)
104+
@eval begin
105+
$grd(C::DirichletPolynomial, n::Integer) = $grd(PiecewisePolynomial(C), n)
106+
$grd(C::DirichletPolynomial, n::Block{1}) = $grd(PiecewisePolynomial(C), n)
107+
end
105108
end
106109

107110
###

src/piecewisepolynomial.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ function _perm_blockvec(X::AbstractArray{T,3}, dims=1) where T
6767
end
6868
ret
6969
end
70-
function _perm_blockvec(X::AbstractArray{T,4}, dims=1:2) where T
71-
@assert dims == 1:2
70+
function _perm_blockvec(X::AbstractArray{T,4}, dims=(1,2)) where T
71+
@assert dims == 1:2 || dims == (1,2)
7272
X1 = _perm_blockvec(X[:,:,1,1])
7373
X2 = _perm_blockvec(X[1,1,:,:])
7474
ret = PseudoBlockMatrix{T}(undef, (axes(X1,1), axes(X2,1)))
@@ -83,19 +83,19 @@ _interlace_const(n, m, ms...) = (m, n, _interlace_const(n, ms...)...)
8383

8484
# we transform a piecewise transform into a tensor transform where each even dimensional slice corresponds to a different piece.
8585
# that is, we don't transform the last dimension.
86-
function plan_grid_transform(P::PiecewisePolynomial, Ns::NTuple{N,Block{1}}, dims=1:N) where N
86+
function plan_transform(P::PiecewisePolynomial, Ns::NTuple{N,Block{1}}, dims=ntuple(identity,Val(N))) where N
8787
@assert dims == 1:N || dims == ntuple(identity,Val(N)) || (N == dims == 1)
88-
x,F = plan_grid_transform(P.basis, _interlace_const(length(P.points)-1, Int.(Ns)...), range(1; step=2, length=N))
89-
repeatgrid(axes(P.basis, 1), x, P.points), ApplyPlan(_perm_blockvec, F, (dims,))
88+
F = plan_transform(P.basis, _interlace_const(length(P.points)-1, Int.(Ns)...), range(1; step=2, length=N))
89+
ApplyPlan(_perm_blockvec, F, (dims,))
9090
end
9191

9292

9393
# If one dimension is an integer then this means its a vector transform. That is, we are only transforming
9494
# along one dimension.We add an extra dimension for the different entries in the vectors.
95-
function plan_grid_transform(P::PiecewisePolynomial, (M,n)::Tuple{Block{1},Int}, dims::Int)
95+
function plan_transform(P::PiecewisePolynomial, (M,n)::Tuple{Block{1},Int}, dims::Int)
9696
@assert dims == 1
97-
x,F = plan_grid_transform(P.basis, (Int(M), length(P.points)-1, n), dims)
98-
repeatgrid(axes(P.basis, 1), x, P.points), ApplyPlan(_perm_blockvec, F, (dims,))
97+
F = plan_transform(P.basis, (Int(M), length(P.points)-1, n), dims)
98+
ApplyPlan(_perm_blockvec, F, (dims,))
9999
end
100100

101101
function factorize(V::SubQuasiArray{<:Any,2,<:PiecewisePolynomial,<:Tuple{Inclusion,BlockSlice}}, dims...)

test/test_continuouspolynomial.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using PiecewiseOrthogonalPolynomials, StaticArrays, InfiniteArrays, ContinuumArrays, Test
2-
2+
import LazyBandedMatrices: MemoryLayout, AbstractBandedBlockBandedLayout, BlockVec
3+
import ForwardDiff: derivative
34

45
@testset "ContinuousPolynomial" begin
56
@testset "transform" begin

0 commit comments

Comments
 (0)