MathML

作成日 : 2009-04-25
最終更新日 :

MathML とは

MathML とは、数式を記述するための XML に基づくマーク付け言語である。 詳しくは、 福井高専のホームページ (toshichan.be.fukui-nct.ac.jp)などを参考にするとよい。

なお、本ページの表示は MathJaxバージョン3 のレンダリングを使った。具体的には、head 部で次を呼び出している。

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/mml-chtml.js">

Windows 10 の Firefox, Seamonkey, Edge, Chrome で表示を確認した。 MathJaxバージョン3 を使わずに MathML を素のまま使うと Firefox でしか表示できないので注意すること。

MathML は著しく煩雑な表記なので、実際の記述には LaTex を使うか ASCIIMath を使うことを勧める。 私が MathML をやむを得ず使ったのは、 生命保険数学の基礎の書評で、 生命保険に関する式を記述しなければならなかったときだけである。

加法

a + b - 3

乗法

a b

分数

1 2 + 1 x - x 3

カッコ

mo の利用

a + ( b - 3 )

mfencedとmrowの利用

a + b - 3

分数式

x - 1 3 + 1 a + b - x + 3 x - c

ベキ乗

x 2 - 3 x

式のベキ乗

x + 3 3

平方根

簡単な平方根

x + 2

式の平方根

x 2 + 3

等号や不等号

a = b
a > b
a b
a < b
a b

添字

x 3 r x

関数 f(x)

mo 利用

f x f x y

mfenced 利用

f ( x ) f ( x , y )

数学定数

円周率 π

π

ネピアーの数e

log x + x

虚数単位 i

4 + 3

現実的な対応

現実的には、その表記法の煩雑さゆえ、手打ちで MathML を書くのはやめるべきである。 MathJaxなどで、TeX や ASCIIMathML 記法を使うのがよい。

どうしても MathML を使いたいというのであれば、MathJax バージョン3を読み込んで、MathJax の処理系でレンダリングするのがよい。 MathJax を使わずに解釈できるブラウザは FireFox だけだからだ。 なお、MathJaxを使わずに FireFox で表示できている場合でも、MathJax の処理系でレンダリングするとエラーになることがあった。 この理由は、&InvisibleTimes を <mo> と </mo> で囲っていなかったためである。

実例1:微分方程式

例題

吉田 耕作、加藤 敏夫:応用数学 p.64 から、 例題 4.6 ミクシンスキの演算子法を使う問題である。

x ′′ ( t ) - x ( t ) - 6 x ( t ) =2 を初期条件、x(0)=1, x'(0)=0 で解け。

準備

関数 f={f(t)} に関する次の式を準備する。 ここで s は微分オペレータである。

sf = f + f(0)

s2f = f''+f'(0)+sf(0)

1(s-α)= αt

解答

方程式を次のように書き直す。

{ x ′′ ( t ) } - {x ( t )} - 6 {x ( t )} ={2} =21s

ここで、s は微分のオペレータである。これらの関数をオペレータと考えると、準備の2番目の式より、

s 2 x -sx(0) -x(0) - [sx-x(0)] - 6 x =2 1s

初期条件を入れる。

( s 2 -s -6)x = s-1+21s

よって準備の第3式から

x= s2-s+2 s(s-3)(s+2 ) = -131s +8151s-3 +451s+2 = { -13 +815 3t +45 -2t }

ゆえに解 x(t) = { -13 +815 3t +45 -2t }

実例2:偏微分方程式

吉田 耕作、加藤 敏夫著の「応用数学」 p.322 の偏微分方程式に関する問題と解答である。

問題

長径回転楕円体 x 2 + y 2 b 2 + z 2 a 2 = 1 (a > b) の表面で u ^ = 0 , 内部で Δ u ^ = - 1 を満足する関数 u ^ の原点における値 u^ 0 0 0 を評価せよ。とくに b/a が  1 に近いときはどうか。

解答

答のみ記す。

u^ 0 0 0 - b 2 6 1+ a 2 - b 2 2 a 2 + b 2 εδ

ここで

εδ = 2 a b 135 ( 2 a 2 + b 2 ) ( a 2 - b 2 ) 1 - b 2 a - arcsin 1 - b 2 a 2 2 1 - b 2 a 2

b/a が 1 に近いとき誤差は a2 - b2 3/2 程度となる。

p.340 の練習問題の解答に誤植がある。a = 1, b = 0.9 なら 1 - b2 a2 = 1 - 0.81 = 0.19, 1 - b2 a2 = 0.4359, arcsin 1 - b 2 a 2 1 - b 2 a 2 = 0.42310.49 = 0. (以下省略)

実例3:根号

安田 亨:入試数学 伝説の良問 100からの問題である。

( n2-7n+11 ) n2-8n+7 =1 を満たす自然数 n をすべて求めよ。

実例4:熱伝導方程式とサンセリフ

以下は、ある本の表記を引用しながら表記している。

この本では、実数体 R や複素数体 C をサンセリフ立体の RC で表現している。 また、一般の群 G も同様に G のように表記されている。

自由な物体の熱伝導で、熱伝導の方程式が提示されている。 ρ は密度、C は比熱、T は温度、 t は時間、k は熱伝導率、 Q s は単位体積、単位時間あたりの発熱量である。 このときの熱伝導方程式を MathML で記述する。

&InvisibleTimes;エラーとして文中に、あるいは欄外に表示される場合がある。 この場合は、&InvisibleTimes; が <mo> と <mo/> で囲われているかを確かめること。

ρ C DT Dt = div(kgradT) + Q s

この本で、上記で物体が静止し、かつ k が一定の場合は次のようになるとしている。

T t = κ⊿T + Qs ρ C , κ= k ρ C

実例5:漸近展開

以下は江沢洋「漸近展開」の書評で使った式である。

まず知ったのが、交代級数に対するオイラー変換だった。 これは驚きである。まず、 |z|<ρ で収束する次のベキ級数が与えられたとする。

f z = k = 0 a k z k

この級数の第 M 項から先の部分和を SM と表記する。式変形によって(途中は省略)SMは次のようにかける。

S M = k = 0 1 1 - z k + 1 Δ k a M z M+k

これをもとの級数のオイラー変換 (Euler transform) と呼ぶ。 ここで Δk a n は第 k 階差といい、次のように定義される。

Δ k a n := Δ ( Δ k-1 a n )
Δ 1 a n := a n+1 - a n
Δ 0 a n := a n

実際には、SMを k = L で打ち切って次の式を級数の和の近似とする。

S M, L = k = 0 L 1 1 - z k + 1 Δ k a M z M+k

オイラー変換を次の級数の和を求めるために使ってみる。

S = 1 1 - 1 2 + 1 3 - 1 4 + + (-1)k-1 k +

この値を求めてみよう。SM, L の式で、z = -1, M = 10, L = 3, ak = 1 / (k + 1) を適用する。 まず、M - 1 = 9 項までの和は次の式のとおり。

S = 1 1 - 1 2 + 1 3 - 1 4 + - 1 10

(以下略)

実例6:カタランの定数

以下は「ナノピコ教室」の書評で使った式である。

問題6

出題は「カタラン数」。カタランの定数 (Catalan's constant) C は次のように級数の和で定義される。 この値を十進法で小数 10 桁以上正しく求めることである。

C = k=0 -1k 2k+12 = 1 -132 +152 -172 +

解答6

答は C = 0.91596 55941 772192 … である。

電卓+手計算で解答者が提案しているのは、既知の公式

π2 48 = k=1 -1k-1 2k2

とカタランの定数の定義式を組み合わせて得られる式

C = π2 48 + k=1 -1k-1 1 2k-12 - 1 2k2

を使うものである。上の式の第2項の級数は、オイラー変換を利用して解く、というものである。

ASCIIMath による表示式は 解答6参照

実例7:分割表の独立性の AIC による判断

分割表の独立性を AIC を用いて判断する例である。

MODEL(0)をカテゴリーとタイプが独立であるモデル、 MODEL(1)をカテゴリーとタイプが非独立であるモデルとする。 AIC(0), AIC(1)はそれぞれMODEL(0), MODEL(1)のAICである。 AIC(0), AIC(1) の求め方は次の通りである。log は自然対数である。

AIC(0) = ( -2 ) [ i 1 n i 1 log n i 1 + i 2 n i 2 log n i 2 - 2 n log n ] + 2 ( c 1 + c 2 - 2 ) AIC(1) = ( -2 ) [ i 1 i 2 n i 1 , i 2 log n i 1 , i 2 - n log n ] + 2 ( c 1 c 2 - 1 )

実例8:AIC 分割表の比較

AIC(I;I)は、支持政党と無関係に、地域のみで購読新聞が定まると考えるときのモデルの AIC、 AIC(I;I, I)は、地域に加えて支持政党の情報も合わせて購読新聞が定まると考えるときのモデルの AIC とする。 AIC(I;I)、AIC(I;I, I)は、 それぞれ次のように計算される。 ここで、n はサンプル全体の度数、(i, i, i)の組み合わせが観測された度数を n(i, i, i)で表す。 また、n(i, i) = Σn(i, i, i) などの記法も用いる。

AIC ( I 1 ; I 2 ) = ( -2 ) [ i 1 , i 2 n i 1 , i 2 log n × n i 1 , i 2 n i 1 n i 2 ] + 2 ( c 1 - 1 ) ( c 2 - 1 ) AIC ( I 1 ; I 2 , I 3 ) = ( -2 ) [ i 1 , i 2 , i 3 n i 1 , i 2 , i 3 log n × n i 1 , i 2 , i 3 n i 1 n i 2 , i 3 ] + 2 ( c 1 - 1 ) ( c 2 c 3 - 1 )

数値をあてはめて計算すると、 AIC(I;I) > AIC(I;I, I) だから、 新聞の選択比率は、地域による条件に加えて、政党支持による条件も合わせて説明するモデルが、 よりよいことになる。

実例9 制約のある正規分布モデル

あるデータが、所与の平均 μ0 と標準偏差 σ0 をもつ正規分布にあてはまるか否かを判定する。

AIC( μ0 , σ0 2 ) = n [ log 2π + log σ0 2 + 1 σ0 2 { ( μ0 - μˆ ) 2 + σˆ2 } ] AIC( μ0 , σ 2 ) = n [ log 2π + log { ( μ0 - μˆ ) 2 + σˆ2 } + 1 ] + 2 AIC( μ , σ0 2 ) = n [ log 2π + log σ0 2 + σˆ 2 σ0 2 ] + 2 AIC(μ,σ2) = n [ log 2π + log σˆ2 + 1 ] + 4

まりんきょ学問所コンピュータの部屋マーク付け言語手習い > MathML


MARUYAMA Satosi