Mathematicaの特殊・省略記法一覧
Mathematicaの省略記法はドキュメントやヘルプで調べにくいのでまとめてみる。
関数適用
@ (前置記法)
f@a
はf[a]
と等価。
後ろのカッコ(]
)を入力しなくてもすむ。
Plot[Evaluate@Integrate[x^2, x], {x, -3, 3}]
// (後置記法)
a // f
はf[a]
と等価。
数値にする(N
)や簡約化(Simplify
、FullSimplify
)でよく使う。
In[1]:= Sin[2] // N
Out[1]= 0.909297
~ ~ (中置記法)
a~f~b
とすると、f[a, b]
と等価になる。
In[1]:= {1, 2}~Join~{3, 4}
Out[1]= {1, 2, 3, 4}
関数適用
&, #, ### (Function)
純関数。#1
、#2
・・・が引数を表す。#
は#1
と同じ。
#0
は関数自体表す。##
は引数全体。
関数型プログラミングの基本。
In[1]:= If[#1 == 1, 1, #1 #0[#1 - 1]] &[10]
Out[1]= 3628800
/@ (Map)
f /@ {1, 2, 3, 4}
はMap[f, {1, 2, 3, 4}]
と等価。
関数型プログラミングの基本。
In[1]:= f /@ {a, b, c, d}
Out[1]= {f[a], f[b], f[c], f[d]}
//@ (MapAll)
f /@@ {1, 2, 3, 4}
とすると、MapAll[f, {1, 2, 3, 4}]
と等価。
あまり使わない。
@@ (Apply)
f @@ g[a]
とすると、g[a]
の頭部g
をf
に置き換えてf[a]
となる。
g
がList
に対して、いろいろ使うことが多い。
In[1]:= Or @@ {False, False, True}
Out[1]= True
@@@ (Apply)
レベル1の部分にApply
され、Apply[f, exp, {1}]
と等価。
これもよく使う。
In[1]:= f @@@ {{a, b}, {c, d}}
Out[1]= {f[a, b], f[c, d]}
/. (ReplaceAll)
exp /. a -> b
でexp
中のa
をb
に置換する。
Solveなどで得られた解を利用するときによく使う。
In[1]:= ans = Solve[a x^2 + b x + c == 0, x];
x /. ans
Out[1]= {(-b - Sqrt[b^2 - 4 a c])/(2 a), (-b + Sqrt[b^2 - 4 a c])/(2 a)}
//. (ReplaceRepeated)
exp //. a -> b
はexp /. a -> b
が変わらなくなるまで繰り返す。
数値表記
*^ (指数表記)
a*^xxx
でa * 10^xxx
と等価。
In[1]:= 2*^10
Out[1]= 20000000000
^^ (BaseForm)
a^^xxxx
でa進数表記。
In[1]:= 16^^faceb00c
Out[1]= 4207849484
その他
ここに紹介したもの以外にパターンの表記などがあるが、 パターンの表記はほとんど省略記法しか使わない。