3+ dim calculus operator do not work and Syntax proposal
まだ誰も着手していません。
評価
調査の方向性
スタックトレースに現れる、Operators/banded/CalculusOperator.jl のエントリポイント Integral と Derivative、および実装 DefaultIntegral から始めます。テンソル空間と三次元の例を再現し、その後、変換と Kronecker-operator の適用における失敗を追跡します。完了条件には、要求された変数選択構文と DefiniteIntegral に対する対応する動作を含む、高次元の積分と微分を含める必要があります。
索引モデルが issue の本文から書いたものです。
説明
Currently,
julia> Derivative(Chebyshev()^2, [1,0])
DerivativeWrapper : Chebyshev() ⊗ Chebyshev() → Ultraspherical(1) ⊗ Chebyshev()
0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ⋯
0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ⋱
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ⋱
⋮ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱
julia> Integral(Chebyshev()^2, [1,0])
ERROR: Implement Integral(Chebyshev() ⊗ Chebyshev(),[1, 0])
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] DefaultIntegral(sp::TensorSpace{Tuple{Chebyshev{ChebyshevInterval{Float64}, Float64}, Chebyshev{ChebyshevInterval{Float64}, Float64}}, DomainSets.FixedIntervalProduct{2, Float64, ChebyshevInterval{Float64}}, Float64}, k::Vector{Int64})
@ ApproxFunBase ~/.julia/packages/ApproxFunBase/VD9Rj/src/Operators/banded/CalculusOperator.jl:41
[3] Integral(::TensorSpace{Tuple{Chebyshev{ChebyshevInterval{Float64}, Float64}, Chebyshev{ChebyshevInterval{Float64}, Float64}}, DomainSets.FixedIntervalProduct{2, Float64, ChebyshevInterval{Float64}}, Float64}, ::Vararg{Any})
@ ApproxFunBase ~/.julia/packages/ApproxFunBase/VD9Rj/src/Operators/banded/CalculusOperator.jl:53
[4] top-level scope
@ REPL[94]:1
Integral(Chebyshev()) ⊗ I
KroneckerOperator : Chebyshev() ⊗ ApproxFunBase.UnsetSpace() → Chebyshev() ⊗ ApproxFunBase.UnsetSpace()
It would be nice to have a Syntax for Integral(Chebyshev()^2, [1,0]) for integration over the first variable as well as for DefiniteIntegral.
Furthermore, currently the following throws an error:
julia> Op = Integral(Chebyshev()) ⊗ I ⊗ I
KroneckerOperator : Chebyshev() ⊗ ApproxFunBase.UnsetSpace() ⊗ ApproxFunBase.UnsetSpace() → Chebyshev() ⊗ ApproxFunBase.UnsetSpace() ⊗ ApproxFunBase.UnsetSpace()
julia> f3 = Fun(Chebyshev()^3, rand(20));
julia> Op * f3
ERROR: Implement Conversion from Chebyshev{ChebyshevInterval{Float64}, Float64} to TensorSpace{Tuple{Chebyshev{ChebyshevInterval{Float64}, Float64}, ApproxFunBase.UnsetSpace}, DomainSets.VcatDomain{2, Float64, (1, 1), Tuple{ChebyshevInterval{Float64}, DomainSets.FullSpace{Float64}}}, Union{}}
Stacktrace:
as well as the same for the Derivative.
Maybe I am misusing the package for something it is not intended to be, but I want to use it for implementing closed form integration, marginalization, and derivatives of SOS polynomials and therefore would need this operations for higher dimensions.
@jishnub Do you have an advice for me where I have to start for implementing this?
- 主要言語
- Julia
- スター
- 13
- フォーク
- 13
- 平均マージ
- 1日 19時間
- マージ済み PR(30日)
- 2
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaApproximation/ApproxFunBase.jl のほかの issue
-
tagbot-manual
難易度 1/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaApproximation/ApproxFunBase.jl#86 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JuliaApproximation/ApproxFunBase.jl#81 · コメント 10 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
JuliaApproximation/ApproxFunBase.jl#8 · リアクション 1 件 ·
JuliaApproximation/ApproxFunBase.jl の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
JuliaMath/BFloat16s.jl#138 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
SciML/DiffEqParamEstim.jl#350 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 61/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
MagneticResonanceImaging/MRIReco.jl#311 ·
メンテナーはふだん 1 日以内に返信
-
ka_cpu_alloc_budget: the 320 B/launch KA 0.10 allowance is stale on KA 0.10.3 and hides allocationsオープンfound-by-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
exanauts/SparseDirectSolver.jl#145 ·
メンテナーはふだん 1 日以内に返信