Browsed by
Tag: Automatic Differentiation

iSMART〜Automatic Differentiation in Julia Final

iSMART〜Automatic Differentiation in Julia Final

九谷広場でJulia版ADモジュールの開発に悪戦苦闘していた日曜の午後、騒がしい排気音に集中力が途切れがちになる。当初は気に止めずにいたが女性陣が騒ぎ出したのを機に外に目を向けるとロゴを付けた旧車が何台も駆け抜けている。何事だと外に出て交通整理の係員に問いかけると、初めて北陸で開催される車イベントで堺正章さんも参画。今晩ここに泊まって明朝ゴールの京都へ向かうと聞く。目を凝らしてロゴをみると”La Festa Primavera 2023″とある。あの本邦一格式の高いイベントかと驚く。明朝出発セレモニーで往年の名車に出会えると思うと、ハイな気分になり一気にモジュールの開発が捗り完成する。さて、Julia版ADモジュールのご紹介を兼ねたJulia言語概要解説編をお届けします。On a Sunday afternoon, while I am struggling to develop Julia’s version of the AD module at Kutani Square, the loud exhaust noises cause me to lose my concentration. I don’t pay attention at first, but then I look outside and see a bunch of old cars with logo stickers driving by as the women start to make a fuss. I go outside to ask an event staffer at the traffic control what’s going on. It turns…

Read More Read More

iSMART〜Automatic Differentiation Part 2

iSMART〜Automatic Differentiation Part 2

Pythonによる自動微分クラスの構築、実装の検証編をお届けします。単なるプログラミングな知見を駆使するだけで自動微分の肝はPart 1に集約されます。Part 2 would hopefully address an implementation and verification of the Automatic Differentiation Initiative class in Python. A mere programming skill is required in this part. The core of AD could be covered in Part 1.

iSMART〜Automatic Differentiation Part 1

iSMART〜Automatic Differentiation Part 1

冬籠りの三ヶ月間どっぷり自動微分(Automatic Differentiation)に浸かりました。俺の一世代前の貯留層シミュレーターiSMARTは導入の容易な差分商で近似する数値微分法を採用しているが、演算に大幅な手間が掛かる上に最適な微小値\(\epsilon\)を見出すのが難しく誤った解に収束することも起こりうる状況にある。近年研究対象のシミュレーターでは自動微分を用いてヤコビアン行列の組込みの手間の短縮化を図っていることを知り自動微分の組込みを夢見ていた。野外活動が鈍る北陸の冬の時期、iSMARTに自動微分の実装に向けてチャレンジを開始。Three months this winter are dedicated to the automatic differentiation (AD). My primitive reservoir simulator iSMART adopts the numerical differentiation method which is easy to implement but may end up converging to a wrong solution due to the loss of the search for an optimal \(\epsilon\). I wish to incorporate an AD function into iSMART, once I learn that the latest research simulators tend to use the AD function instead of spending huge time on constructing analytical Jacobian matrices….

Read More Read More