数学表記と他の表記法
また,キーボードの特殊キーを使いパレットと同様な入力を行うこともできる.ここで言う特殊キーとは,それだけを押しても何も表示されないキーのことで,EscapeキーやControlキーがこれに相当する.特殊キーと普通のキーを組み合せることで,キーボードでも数式編集の命令や特殊文字の生成ができるようになる.
Esc
p
Esc
| 円周率 |
Esc
inf
Esc
| 無限大 |
Esc
ee
Esc
| 自然対数の底 (Eと同等) |
Esc
ii
Esc
| を表す の記号(Iと同等) |
Esc
deg
Esc
| の記号(Degreeと同等) |
Ctrl+^ または Ctrl+6 | ベキ乗の原形を作り,上付き文字位置に移動 |
Ctrl
+
/
| 分数の原形を作り分母位置に移動 |
Ctrl+@またはCtrl+2 | 根号の原形を作り内側に移動 |
Ctrl
+
Space
| ベキ乗,分母,根号から通常行位置へ戻る |
従来のプログラミング言語(C言語,Fortran,Java,Perl等)では,入力がキーボードに基づくものという前提に文法が構成されている.つまり,使えるのは数字とアルファベットと標準的な記号だけで,入力の仕方としてはラインモードだけが許される,という前提に基づいている.これに対して,Wolfram言語では,数学記号をはじめとする各種の特殊記号,さらには,上付き文字や分数等の組文字も使えるようになっている.
Wolfram言語を使い慣用的な数学表記で数式を記述することも可能である.ただし,この表記法には曖昧な部分があるため慣用的な表現をそっくりそのまま使える,というようにはなっていない.つまり,読みやすい数学表記全体は取り入れてあるが,曖昧な表記は言語から排除してある.Wolfram言語の正確さと一貫性を保つためである.
それでも,表示上は完全な慣用的数学表記で数式の出力ができるようになっている(「入出力の表記法」を参照).また,数学表記で書かれたテキストをWolfram言語に読み込ませ,Wolfram言語の書式に変換することも限られた範囲で可能である.
Wolfram言語には数学表記やその他の表記で使うための非常に多くの特殊文字が組み込まれている.「名前付き文字のリスト」に特殊文字の一覧があるので参考にするとよい.
特殊文字のひとつひとつには∞のような固有の呼名が付けられている.また,よく使われる特殊文字には早く呼び出せるように短縮名(エイリアス)が割り当てられている.エイリアスにはEscinfEscのような呼名の短縮形が使われる.「式の入出力に関するオプション」にあるノートブックオプションのInputAliasesを使って,独自のエイリアスを作ることもできる.
TeXの標準言語で提供される特殊文字なら,TeXに基づいたエイリアスを使い呼び出せるようになっている.例えば,∞を入力するにはエイリアスEsc\inftyEsc.を使えばよい.Wolfram言語では,さらに,SGMLとHTML規格で使われる名前に基づいたエイリアス,例えば,Esc∞Escもサポートされる.
さらに,多くのコンピュータに搭載されている標準オペレーティングシステムでは特殊文字を入力するため特殊な組合せキーが提供される.例えば,Macintoshコンピュータでは,ほとんどのフォントでOption+5の組合せキーを押すとが入力できる.ノートブック用フロントエンドを使っている場合,定義さえしてあればこのような組合せキーがいつでも使える.また,テキスト型インターフェースを使っている場合でも,$CharacterEncodingに適切な値をセットしておけば組合せキーが使えるようになる.
■ 完全名を使う.(例:∞) |
■ エイリアスを使う.(例 :EscinfEsc) |
■ TeXのエイリアスを使う.(例 :Esc\inftyEsc) |
■ SGMLまたはHTMLのエイリアスを使う.(例 :Esc∞Esc) |
■ パレット上のボタンをクリックする |
■ オペレーティングシステムの提供する組合せキーを使う |
や∖[SquareUnion]は数式処理上の特別な意味を持たない:
入力式がWolframシステムでどう解釈されるか,その詳細は標準形(StandardForm )を使っているか慣用形(TraditionalForm)を使っているかでも違う.また,解釈ボックス(InterpretationBox )等の構成体に与えた付加情報によっても違ってくる.
特殊文字にすでに組み込まれている規則をMakeExpressionを使い無効とする新規則を設けてやらない限り,Wolframシステムは特殊文字に同じ基本的な文法上の性質を割り当てる.
特殊文字がWolframシステムの入力としてどう解釈されるかは,それに割り当てられた文法的特性による.また,その特性は,特殊文字で構築した式の構造をも決める.さらに,この特性は特殊文字の表示書式にも影響を与える.例えば,文字が演算子として作用するなら,文字の両側には補助的なスペースが挿入される.普通の文字ならスペースは挿入されない.
それでも,のギリシャアルファベットに比べて演算子はどちらかというと簡素に描かれ形式的な形を持つ.また,は総和の演算子であれば,総和式の大きさにより文字の大きさが調整される.ギリシャ文字としてのは現行フォントの大きさしか取らない.
Wolframシステムへの入力成分としてアルファベットやそれに類似した文字があるとき,それらは通常,変数や関数等の名前を表すものとして扱われる.また,演算子があると,それに対応した関数が構築されなければならない.そのとき取られる手順として,演算子として機能する特殊文字の完全名が抽出され,構築する関数の名前に当てられる.
論理積の関数Andが構築される.Wolframシステムにはその評価用規則が組み込まれている:
上述の演算子名と関数名の間に見られる関係に従い,Wolframシステムの組込み関数,例えばを意味する特殊文字は組込み関数の名前を持つ.いくつかの例を見てみよう.特殊文字は名前が÷で,組込み関数Divideに関連付けられている.また,特殊文字は,の名前を持ち,組込み関数Impliesに関連付けられている.
演算子となるものを除き,特殊文字には可能な限り慣用的な名前が付いている.Wolfram言語内の別の記述と混同しないように.特殊文字の多くはそれらの表示の形を説明するような名前を持つ.には⊕の名前が付けられている.\[DirectSum]のような機能的な名前ではない.また,には名前≈が付いている.\[ApproximatelyEqual]ではない.
文字の中には同じように表示されるが全く違った演算子を表すものもある.例として×とがある.×は掛け算の関数Timesを表すためにあるが,はベクトルの外積を計算する関数Crossに対応している.また,Wolframシステムの表示技法の正確性を反映して,の表示形は\[Times]の表示形に比べて,やや小さく描かれる.
×は乗算を表す演算子である:
演算子はベクトルの外積を表す:
Wolframシステムではハット記号^はベキ乗として解釈される.一方,は汎用のWedge関数として扱われる.キーボードの文字に類似した特殊文字がある場合,規約で特殊文字のエイリアスにはキーボードの文字が充てられる.例えば,⋀のエイリアスはEsc^Escとされる.
キーボードで入力できる演算子を表すために特殊文字を使うときは,上記の規約に関連した規約が使われる.つまり,キーボードの文字が特殊文字のエイリアスに充てられる.例として,またはを表すEsc->Escがある.また,Esc&&Escはまたは∧を表す.
表示形
|
名前
|
エイリアス
|
意味
|
xy | Alternatives[x,y] | ||
xy | | EscEsc | VerticalSeparator[x,y] |
xy | | Esc␣Esc | VerticalBar[x,y] |
x | | EsclEsc | BracketingBar[x] |
| EscrEsc |
のエイリアスはEsc␣|Escである.また,より頻繁に使われるのエイリアスはEsc|Escである.Wolfram言語では,似通った文字には似通ったエイリアスがよく与えられている.また,より一般的でない文字に対しては,エイリアスの先頭にスペースを加える,という有効な規約がある.
EscnnnEsc | 一般的な文字に使う組込み型のエイリアス |
Esc␣nnnEsc | 類似しているが一般的ではない文字に使う組込み型のエイリアス |
Esc.nnnEsc | Wolframシステムセッションで定義される大域的なエイリアス |
Esc,nnnEsc | 特定のノートブックで定義されるエイリアス |
ノートブック用フロントエンドを使っている場合,特殊文字に対してユーザ定義のエイリアスを与えることができる.必要ならば,組込み済みのエイリアスを上書きする形で定義してもよい.規約では,ユーザ定義のエイリアスはコンマで始まることになっている.
シンボル
|
名前
|
エイリアス
|
意味
|
π |
Esc
p
Esc
,
Esc
pi
Esc
| Piに等しい | |
∞ |
Esc
inf
Esc
| Infinityに等しい | |
|
Esc
ee
Esc
| Eに等しい | |
|
Esc
ii
Esc
| Iに等しい | |
|
Esc
jj
Esc
| Iに等しい |
StandardFormの入出力双方で, のような形式を用いることができる:
筆記的なメディアなら,特定な一文字の名前である場所で1つのものを表し,他の場所ではそれを別のものとして使っても説明文を付けるので問題ない.しかし,Wolfram言語では,別の文脈の箇所で使わない限り,特定な名前を持った大域的シンボルは常に同じものとして扱われる.
表示形
|
入力方法
|
対応する関数
|
xn | x Ctrl+_ n Ctrl+Space | Subscript[x,n] |
x+ | x Ctrl+_ + Ctrl+Space | SubPlus[x] |
x- | x Ctrl+_ - Ctrl+Space | SubMinus[x] |
x* | x Ctrl+_ * Ctrl+Space | SubStar[x] |
x+ | x Ctrl+^ + Ctrl+Space | SuperPlus[x] |
x- | x Ctrl+^ - Ctrl+Space | SuperMinus[x] |
x* | x Ctrl+^ * Ctrl+Space | SuperStar[x] |
x† | x Ctrl+^ EscdgEsc Ctrl+Space | SuperDagger[x] |
x Ctrl+& _ Ctrl+Space | OverBar[x] | |
x Ctrl+& EscvecEsc Ctrl+Space | OverVector[x] | |
x Ctrl+& ~ Ctrl+Space | OverTilde[x] | |
x Ctrl+& ^ Ctrl+Space | OverHat[x] | |
x Ctrl+& . Ctrl+Space | OverDot[x] | |
x Ctrl+$ _ Ctrl+Space | UnderBar[x] | |
x | Style[x,Bold] | x |
オプション
|
通常のデフォルト値
| |
SingleLetterItalics | False | 一文字のシンボル名を斜体化するかしないかの指定 |
MultiLetterItalics | False | 複数文字のシンボル名を斜体化するかしないかの指定 |
SingleLetterStyle | None | 一文字のシンボル名に使用するスタイル名あるいは指示子 |
MultiLetterStyle | None | 複数文字のシンボル名に使用するスタイル名あるいは指示子 |
伝統的な数学表記で慣用的に使われる,通常の英語一文字からなる名前は普通斜体化される.他の名前はそのようなことはない.Wolfram言語において慣用形(TraditionalForm)を使うと,これと同じことが規約として守られる.特別にオプションSingleLetterItalicsをセルに設定することで一文字変数を斜体化するよう指定できる.さらにオプションSingleLetterStyleおよびMultiLetterStyleの値を指定することにより,英語一文字あるいは複数文字を使った名前のスタイルを指定することができる.
ギリシャ文字
ギリシャ文字の中には∖[CapitalAlpha](大文字アルファ)のように英語のアルファベットに酷似したものがある.表示では同じように映っても式の中では別物として扱われる.慣用形(TraditionalForm)を使っているとき,組込み関数Betaの表記には∖[CapitalBeta]が使われる.
Wolframシステムの標準フォントを使っているなら,慣用表記に習ってギリシャ語小文字の表示には若干の斜体化が施される.大文字には斜体化は行われない.しかし,ギリシャ語のシステムでは,Wolframシステムは標準的なギリシャ語フォントが使えるように,ギリシャ文字を斜体にしないで描画する.
英語アルファベットに似ていないギリシャ文字は,そのほとんどが科学と数学で頻繁に使われている.大文字カイ は,カスケード型ハイパロン素粒子や大きなカノニカル分配関数,そして言語コンプレックスの記述の他はあまり使われない.大文字ウプシロンもあまり使われない.まれに 素粒子,そして季節の春分を表すのに使われる.
ギリシャ文字だけがよく特別な意味を持つものとされる.普通の英字はそのようなことはない.数学ではよく式に修飾的な文字と普通の形の文字を混ぜて使うことがある.修飾形のパイである は天文学を除いてまれにしか使われない.
ディガンマ ,コッパ ,スティグマ ,サンピ は古代ギリシャ文字であり,普通のギリシャ語文字セットを拡張するのに便利である.これらの文字はギリシャ文字を英語アルファベットに対応させるのに必要なことがある.ディガンマは英語のwに対応し,コッパはqに対応している.ディガンマはディガンマ関数PolyGamma[x]の表記で使われることもある.
英語の変形アルファベット
ノートブック用フロントエンドのメニューコマンドを使うことで,テキストのフォント等の書式スタイルを変更できる.ただし,テキスト要素が式の成分としてあるとき,式をWolfram言語カーネルに送ったら変更した書式設定情報は失われてしまう.
標準的な数学記述では,スクリプト体の大文字とゴシック体は交換が可能である.ときに縁取り文字やオープンフェース書体とも呼ばれる二重文字が慣用で集合を表すため使われる.例えば,は複素数の集合を,または整数の集合を表すのに使われる.
完全名
|
エイリアス
| |
EscscaEsc – EscsczEsc | スクリプト体小文字 | |
EscscAEsc – EscscZEsc | スクリプト体大文字 | |
EscgoaEsc – EscgozEsc | ゴシック体小文字 | |
EscgoAEsc – EscgoZEsc | ゴシック体大文字 | |
EscdsaEsc – EscdszEsc | 二重書体の小文字 | |
EscdsAEsc – EscdsZEsc | 二重書体の大文字 | |
Esc$aEsc – Esc$zEsc | 小文字の形式文字 | |
Esc$AEsc – Esc$ZEsc | 大文字の形式文字 |
形式文字
DifferentialRootは自動的に関数の引数の名前を選ぶ:
形式文字はProtectedなので,誤って値が割り当てられるということはない.
形式文字はBlockの内部で一時的に変更することができる.それはBlockがAttributesを含むシンボルに関連付けられたすべての定義をクリアするからである.Tableも実質的にBlockのように動作するため,一時的な変更が可能である.
ほとんどの場合,形式文字を変更する必要はない.形式文字はDifferentialRootの中で関数の形式パラメータを表す名前として使われるので,関数は引数の実際の値に対して評価されるだけである.
MakeBoxesにはフォーマット規則が付けられている.もとのフォーマットを復元する:
ヘブライ文字
単位と文字的な数学記号
StandardFormとしては と にはデフォルト値を割り振ってないので,Piとして自動的に扱われないpiを表すときに を使うことができる.なおTraditionalFormの はEulerGammaとして扱われる.
図形記号
テキスト的な要素
拡張ラテン文字
表示形
|
エイリアス
|
完全名
| |
' |
(キーボード文字)
| ' | 揚音アクセント |
′ |
Esc
| ′ | 揚音アクセント |
` |
(キーボード文字)
| ` | 抑音アクセント |
‵ |
Esc
`Esc
| ‵ | 抑音アクセント |
. . |
(キーボード文字)
| ウムラウトまたは分音 | |
^ |
(キーボード文字)
| ^ | アクセントまたはハット |
◦ |
Esc
esciEsc
| ◦ | リング |
. |
(キーボード文字)
| . | ドット |
~ |
(キーボード文字)
| ~ | ティルデ |
_ |
(キーボード文字)
| _ | 長音 |
ˇ |
EschckEsc
| ˇ | ハチェック |
˘ |
Esc
bvEsc
| ˘ | 短音 |
|
Esc
dbvEsc
| | タイアクセント |
″ |
Esc
| ″ | ロングウムラウト |
¸ |
Esc
cdEsc
| ¸ | セディラ |
基本的な数学の演算子
x×y | Times[x,y] | 乗算 |
x÷y | Divide[x,y] | 除算 |
√x | Sqrt[x] | 平方根 |
xy | Cross[x,y] | ベクトルの合成積 |
±x | PlusMinus[x] | (特別な意味は組み込まれていない) |
x±y | PlusMinus[x,y] | (特別な意味は組み込まれていない) |
∓x | MinusPlus[x] | (特別な意味は組み込まれていない) |
x∓y | MinusPlus[x,y] | (特別な意味は組み込まれていない) |
微積分学と代数の演算子
論理結合子とその他の結合子
演算子,,は組込み関数であるAnd,Or,Notにそれぞれ対応しており,また,キーボードで入力可能な演算子&&,,!に等しい.演算子,,は組込み関数のXor,Nand,Norにそれぞれ対応する.ここで,は前置演算子であることに注意する.
数学で見られる一般的な規約のほとんどはWolfram言語でも有効である.ただし,Wolfram言語では,数量化記号である,,に現れる変数は下付き文字として入力しなければならない.これらの記号の後に普通の形で入力すると,乗算の演算子と競合するかもしれない.
アクションを表すための演算子
ブラケット化演算子
⌊x⌋ | Floor[x] |
⌈x⌉ | Ceiling[x] |
m〚i,j,…〛 | Part[m,i,j,…] |
〈x,y,…〉 | AngleBracket[x,y,…] |
x,y,… | BracketingBar[x,y,…] |
x,y,… | DoubleBracketingBar[x,y,…] |
関係を表すための演算子
矢印記号とベクトル記号に基づいた演算子
|
|
パレットのボタンを編集するときによく,プレースホルダをあしらったテンプレートを設けることがある.プレースホルダは式の挿入点を表すのに加えられる.また,ボタン内容のペースト要求があると文書で選択した式が挿入されるが,その位置はで指定する.さらに,選択した式の挿入に続けて他の式も挿入するときはを使い挿入位置を指定しておく.二次式を挿入する際はTabキーを使うと,次の挿入点にジャンプできて便利である.
|
|
Wolframシステムへ式をどう入力するか説明するときは,どのキーを押したらよいかを説明しなければならないだろう.↵やの記号を使えばそのようなキーを表す記号を簡単に入力することができる.␣とはスペース文字として実際に処理されることに注意のこと.
Wolfram言語 は,その数値を次の行に続けて表示するときの文字を使う:
|
|
普通のキーボード文字をWolframシステム独自の書体で描画できるように,フォントがWolframシステムと一緒に配布されている.その理由はオペレーティングシステムの標準システムフォントでは必要な書体が得られないからである.例えば,標準フォントでは,^ や ~ の記号はよく小さめに描かれ,行の中心位置より上側に置かれる.Wolfram言語のフォントでは,分かりやすくするため,この記号を大きめにして中心位置に描く.