fortran66のブログ

fortran について書きます。

【メモ帳】Wolfram Engine on Jupyter TeX 表示 ついでに FortranForm 利用

Jupyter TeX 表示

黒木玄氏による「Free Wolfram EngineをJupyterで使う方法」
後半の TeX 表示が便利。

nbviewer.jupyter.org

毎回初めに入力
TeX[expr_] := ToString[TeXForm[expr]]
JupyterOutTextForm = "TeX"
メモ帳

\int_0^1\log(1/t)^{s-1}dt
\text{ConditionalExpression}[\Gamma (s),\Re(s)>0]

Integrate[Log[1/t]^(s-1), {t, 0, 1}] // TeXForm
 Refine[Integrate[Log[1/t]^(s-1), {t, 0, 1}], Assumptions -> s > 0] // TeX

FortranForm の利用

Wolfram Language で tan(x) を Taylor 展開させ、それを Fortran 形式で出力させ、コピペして Kernel を Fortran に換えて、計算して組み込み関数の tan(x) と比較する。
(Kernel を変えると、トラブルが起きやすい)

f:id:fortran66:20190603031709p:plain
Taylor 展開

入力

TeX[expr_] := ToString[TeXForm[expr]]
JupyterOutTextForm = "TeX"
Series[Tan[x], {x, 0, 5}] // TeX
Normal[Series[Tan[x], {x, 0, 5}]] // FortranForm
do i = 1, 10
  x = i * 0.1
  print *, i, x, x + x**3/3. + (2*x**5)/15., tan(x),  x + x**3/3. + (2*x**5)/15. - tan(x)
end do
end
           1  0.1000000      0.1003347      0.1003347     -7.4505806E-09
           2  0.2000000      0.2027093      0.2027100     -7.0035458E-07
           3  0.3000000      0.3093240      0.3093363     -1.2248755E-05
           4  0.4000000      0.4226987      0.4227932     -9.4562769E-05
           5  0.5000000      0.5458333      0.5463025     -4.6914816E-04
           6  0.6000000      0.6823680      0.6841369     -1.7688274E-03
           7  0.7000000      0.8367426      0.8422884     -5.5457354E-03
           8  0.8000000       1.014357       1.029639     -1.5281200E-02
           9  0.9000000       1.221732       1.260158     -3.8426161E-02
          10   1.000000       1.466667       1.557408     -9.0741038E-02

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)