
信号処理素人老人がScilabの「信号処理のデモ」からカテゴリ脱出。前回は「スピン安定化磁気浮上」レビトロンでした。今回はSundialsです。といって日時計でなし。泣く子も黙るローレンスリバモア研のソルバ「スイート」のお名前です。その名を知らなかった素人老人は確実にモグリ。御名のもとに矢鱈難しそうなデモ多数あり。
※「手習ひデジタル信号処理」投稿順 Indexはこちら
※Windows11上の Scilab2024.0.0を使用させていただいております。(Scilabについては御本家 Scilab 様へ)
SUNDIALS
Sundialという綴りをみて「日時計」と思った素人老人は浅墓でした。以下のデモ選択ウインドウをみれば、これが日時計とは何のかかわりも無さそうなことはあきらかっす。
SUNDIALS、調べれば直ぐに明らかになるくらいメジャーでした。SUNDIALSは以下の大文字部分をつなげたものです。
SUite of Nonlinear and DIfferential/ALgebraic equation
そしてこの Suite を開発し、保守されているのは、泣く子も黙る、米Lawrence Livermore National Laboratory様でした。オソロシー。遥かな昔、研究所の近くの道路を通り抜けたことが何度かありますが、以下にもセキュリティ厳しそうでした。知らんけど。
さてこの「スイート」のホームページのURLが以下に。
https://computing.llnl.gov/projects/sundials
例によってGoogleの生成AI、Gemini 2.5 Flash様にSUNDIALSについてご説明いただいたところの冒頭部分が以下に。
通常は、CとかFortranからライブラリとして呼び出して使うのでしょうが、Scilabにはとっくの昔に組み込まれていて、フツーに呼び出されて使われているみたい。どうも今まで使ってきたScilabの関数の中にも仕事をSUNDIALSに下請けに出しているものがあったみたい。。。なんと。
ここには、そのSUNDIALSをアカラサマに呼び出すようなデモがならんでいるみたい。
Minimal surfaceデモ
さて、その冒頭に登場するデモが Minimal surface であります。これまた素人老人には何が何やら見当がつきませぬ。しかし、Gemini様はお見通しです。
おっと、ムツカシそうだよ。当然か。
そしてSUNDIALSに含まれる「ソルバ」が御登場、問題を快刀乱麻にぶった切る、というシナリオらしいです。
なお、SUNDIALSには以下のような主要な6つのパッケージあり、
-
- CVODE (C-language Variable-order ODE solver)
- CVODES (CVODE with Sensitivity Analysis)
- ARKODE (Additive Runge-Kutta ODE solver)
- IDA (Implicit Differential-Algebraic equation solver)
- IDAS (IDA with Sensitivity Analysis)
- KINSOL (Kinetic nonlinear solver)
今回の Minimal surface デモで登場するのは 6番目のKINSOLみたいです。デモのグラフが以下に。
素人老人には何が何やらなんだが。。。