Question on Derivative and Conversion on Chebyshev^2
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia leggendo i dispatch esistenti points(), transform() e itransform() per lo spazio tensoriale di Chebyshev, quindi segui i percorsi di Derivative() e Conversion() menzionati nell’issue. Confronta il comportamento documentato con gli esempi C2, plan_transform() e Fun; il lavoro sarà completo quando sarà disponibile una spiegazione chiara della gestione dei punti di Padova e del fatto che sia necessaria o meno una modifica alla documentazione o all’implementazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I am somewhat puzzled about what exactly is happening when computing derivatives and conversions on 2d Chebyshev product spaces. Some enlightenment would be greatly appreciated. This is also related to #725.
My question circles around the fact that Chebyshev(0..1)^2 is defined on Padua points, whereas derivatives and projections thereof, living in Ultraspherical(1, 0..1) ⊗ Chebyshev(0..1), Chebyshev(0..1) ⊗ Ultraspherical(1, 0..1) or Ultraspherical(1, 0..1)^2, are defined on tensor product meshes of Chebyshev points.
I am wondering how exactly this works and how this is dealt with internally. I found that there are special methods for points(), transform() and itransform(), dispatching on TensorSpace{<:Tuple{<:Chebyshev{<:ChebyshevInterval},<:Chebyshev{<:ChebyshevInterval}}}, but I could not find similar methods for Derivative() or Conversion(), taking care of the special nature of the Padua points.
For context: I have a problem (namely computing Poincaré integral invariants), where
- I construct a Chebyshev product space,
C2 = Chebyshev(0..1)^2
- extract the Padua points and evaluate some scalar function on those points,
p = points(C2)
v = f.(p)
- transform those to coefficients and create a fun to work with, e.g., to compute derivatives,
plan = plan_transform(C2, v)
c = plan * v
f = Fun(C2, c)
# ...
In the end I need to extract all values, derivatives, etc., on a common grid, which is why everything that does not already live there is projected onto Ultraspherical(1, 0..1)^2.
I implemented this using both, ApproxFun and OrthogonalPolynomialsQuasi, where the former uses Padua points on the Chebyshev()^2 space and the latter uses a Chebyshev tensor grid. Not surprisingly, the ApproxFun implementation gives better results for a comparable number of points. However, even when using the full grid corresponding to the Padua grid, I cannot get comparable results in the OrthogonalPolynomialsQuasi implementation (accuracy is much worse). Trying to understand the reason for this and debugging my code lead to the above questions.
This also raises the question if using Padua points is possible together with OrthogonalPolynomialsQuasi (although this might not be the right place to ask this question)?
- Lingua principale
- Julia
- Stelle
- 563
- Fork
- 71
- Merge medio
- 23m
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaApproximation/ApproxFun.jl
-
tagbot-manual
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
How to add Gauge/Tau MethodAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
JuliaApproximation/ApproxFun.jl#970 · 3 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Plotting with MakieAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
Tutte le issue di JuliaApproximation/ApproxFun.jl
Issue simili
-
🕷️ bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
CliMA/ClimaSeaIce.jl#203 ·
I maintainer di solito rispondono entro 3 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
JuliaPhysics/BeamletOptics.jl#221 ·
I maintainer di solito rispondono entro 1 giorno
-
release preparation spack
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
30-minutes algorithm any-language codewars dart easy elixir hackerrank hacktoberfest haskell help wanted interview-prep julia leetcode lua open-source r scala students zig
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Huerte/algo-solutions-python#163 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
QuantumSavory/QuantumClifford.jl#853 ·
I maintainer di solito rispondono entro 1 giorno