-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CompatHelper: bump compat for ContinuumArrays to 0.16, (keep existing compat) #70
base: master
Are you sure you want to change the base?
CompatHelper: bump compat for ContinuumArrays to 0.16, (keep existing compat) #70
Conversation
469461d
to
d6b486f
Compare
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #70 +/- ##
==========================================
- Coverage 67.98% 67.79% -0.20%
==========================================
Files 24 24
Lines 1690 1621 -69
==========================================
- Hits 1149 1099 -50
+ Misses 541 522 -19 ☔ View full report in Codecov by Sentry. |
@dlfivefifty I finally got around fixing compat bounds. A lot of tests fail (related to |
The changes are to avoid relying on
|
@dlfivefifty I seem to hitting a few snags:
In short, I need all arguments to the multiplication passed to my materialization routine. Incidentally, some of those that are implemented through the CompactBases.jl/src/fd_derivatives.jl Line 222 in 4b817a5
CompactBases.jl/src/fd_derivatives.jl Line 253 in 4b817a5
Quick test example: julia> N = 10
10
julia> ρ = 1.0
1.0
julia> R = StaggeredFiniteDifferences(N, ρ)
Staggered finite differences basis {Float64} on 0.0 .. 10.5 with 10 points spaced by ρ = 1.0
julia> r = axes(R, 1)
Inclusion(0.0 .. 10.5)
julia> D = Derivative(r)
Derivative(Inclusion(0.0 .. 10.5))
julia> ∇ = R'D*R
10×10 LinearAlgebra.Tridiagonal{Float64, Vector{Float64}}:
0.0 0.666667 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅
-0.666667 0.0 0.533333 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ -0.533333 0.0 0.514286 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ -0.514286 0.0 0.507937 ⋅ ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ -0.507937 0.0 0.505051 ⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ -0.505051 0.0 0.503497 ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ -0.503497 0.0 0.502564 ⋅ ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅ -0.502564 0.0 0.501961 ⋅
⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ -0.501961 0.0 0.501548
⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ -0.501548 0.0
julia> ∇² = R'D'D*R
ERROR: Overload diff(::StaggeredFiniteDifferences{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}})
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] diff_layout(#unused#::ContinuumArrays.BasisLayout, Vm::StaggeredFiniteDifferences{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, dims::Int64)
@ ContinuumArrays ~/.julia/packages/ContinuumArrays/ZkEzA/src/bases/bases.jl:602
[3] #diff#89
@ ~/.julia/packages/QuasiArrays/5wpon/src/calculus.jl:50 [inlined]
[4] diff
@ ~/.julia/packages/QuasiArrays/5wpon/src/calculus.jl:50 [inlined]
[5] mul
@ ~/.julia/packages/ContinuumArrays/ZkEzA/src/operators.jl:139 [inlined]
[6] mul
@ ~/.julia/packages/ContinuumArrays/ZkEzA/src/operators.jl:42 [inlined]
[7] *(A::QuasiArrays.QuasiAdjoint{Float64, StaggeredFiniteDifferences{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}}, B::QuasiArrays.QuasiAdjoint{Float64, Derivative{Float64, IntervalSets.ClosedInterval{Float64}}})
@ QuasiArrays ~/.julia/packages/QuasiArrays/5wpon/src/matmul.jl:23
[8] *(::QuasiArrays.QuasiAdjoint{Float64, StaggeredFiniteDifferences{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}}, ::QuasiArrays.QuasiAdjoint{Float64, Derivative{Float64, IntervalSets.ClosedInterval{Float64}}}, ::Derivative{Float64, IntervalSets.ClosedInterval{Float64}})
@ Base ./operators.jl:578
[9] top-level scope
@ REPL[35]:1 |
Probably the best approach is to add a |
But then I would need such a proxy type for each basis, and also make it restriction-aware? That does not seem to be a scalable solution. |
Just have diff return you might need to set simplifiable to be false |
This pull request changes the compat entry for the
ContinuumArrays
package from0.10, 0.11, 0.12
to0.10, 0.11, 0.12, 0.16
.This keeps the compat entries for earlier versions.
Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.