meta(sciml): expose prepared operators to the SciML integrator stack
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- julia
調査の方向性
Treat this as an umbrella rather than a first patch. Read README.md, CLAUDE.md, and DESIGN.md §7, then inspect sub-issues #86, #65, #73, and #87. It is done when the ordered extension work and its constraints have been resolved without adding SciML packages to [deps].
索引モデルが issue の本文から書いたものです。
説明
Umbrella for handing MFO operators to OrdinaryDiffEq / LinearSolve. Nothing SciML exists today: no weak dep, no ext/…SciMLExt.jl, and every example hand-rolls its integrator. README.md no longer advertises OrdinaryDiffEq interop that is not there (#87 retracted it; README.md:150 now says there is no integration yet).
Status (2026-09-30): #86 and #87 are done. What remains is #65 first, then #73.
Sub-issues, in order
#86done (PR #89) — prepared-operator trait hygiene —PreparedOperatorhas no supertype andPreparedComposed/PreparedAdjointdeclare noislinear/isconstant, so a wrapper forwarding traits gets thefalsedefault by accident. An invariant hazard independent of SciML; ship first.- #65 — next — the
jac_prototypeadapter (DESIGN §7). Enough thatODEFunction(f; jac_prototype = sciml(prepare(L)))works andKrylovJL_GMREScalls the zero-alloc flatmul!. The downstream forcing function is the microvascular model'sKenCarp47+ sparse-ILU detour. - #73 — after #65 —
SplitODEFunctionfor the linear half plus a per-model work-precision search over IMEX / exponential integrators (a benchmark artifact, not a package feature). #87done (PR #90) — docs — fix the README claim, and document field-levelapply!as the explicit-stepping idiom (the preparedmul!leg pays 15–50% in flat copies that only Krylov needs).
Related, not parented: #63 (stacked multi-species operator) is what the reaction half of a split problem wants to look like; #62 (Robin) is what makes MultigridPreconditioner applicable to the downstream wall-coupled system.
Addendum questions (from the comment below)
- Q1 (what OrdinaryDiffEq requires of a state
u, and the minimal interface that makesFielda legal state) now lives in #73's checklist. - Q3 (ghosts inline in a padded array vs. a flat interior with ghosts beside it in face buffers) is a DESIGN question, not a SciML one, and now lives as a checkbox in #79.
- Q2 (whether a Field-valued Krylov workspace beats the two staging copies per matvec, CPU and GPU separately) is still an open benchmark question here.
Constraints
- Extension only. SciMLOperators / OrdinaryDiffEq are weak deps, nothing enters
[deps](CLAUDE.md, DESIGN.md §7). - Do not route around the
mul!(y, ::AbstractOperator, x::AbstractVector)guard; a convenience constructor must still go throughprepare. - The affine
boundary_rhsterm needs a declared home in a split problem.
—
🤖 Claude tidied this one and moved the addendum questions to their proper homes.
claude-opus-5-5[1m] (high) · claude-code 2.1.285 · unreviewed
- 主要言語
- Julia
- スター
- 3
- フォーク
- 1
- 平均マージ
- 1日 28分
- マージ済み PR(30日)
- 6
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RallypointOne/MatrixFreeOperators.jl のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
performance
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
-
perf(forest): thread the reference BlockForest path — leaf sweeps and exchange descriptor loopsオープンperformance
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
RallypointOne/MatrixFreeOperators.jl の issue をすべて見る
似ている issue
-
`SplitRungeKutta` time steppers never call `update_lagrangian_particle_state!`, so particle `tracked_fields` are never updated対応中かも @ali-ramadhan が今日担当しました。 オープンbug 🐞
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
CliMA/Oceananigans.jl#6381 ·
メンテナーはふだん 1 日以内に返信
-
ci system:windows test
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
Single-column TKE example: boundary-layer depth description doesn't match Han & Bretherton (2019)オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
NumericalEarth/Breeze.jl#1143 ·
メンテナーはふだん 1 日以内に返信
-
format-check (Runic) is red on master: formatter drift on ~200 files対応中かも @ChrisRackauckas-Claude が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SciML/ModelingToolkit.jl#5337 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
bug parsers
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
lanl-ansi/GasModels.jl#366 ·