通常Mathematicaでは,変数名に下付きの文字を使うことができない.たとえば,以下のようにa_x
という変数に一時的に1を代入して式を評価するようなことはできない.
Block[{Subscript[a, x] = 1}, (Subscript[a, x] + 1)^2]
これは,a_x
がシンボルではなく,オブジェクトとして定義されている.つまりa_x
は
Subscript[a,x]
という命令の略記になっている.
どうしても変数名にa_x
を使いたい場合は,Notation
パッケージを読み込んで,Symbolize
すればよい.
Needs["Notation`"] Symbolize[Subscript[a,x]]
Notation
を読み込むとパレットが表示されて,そこからSymbolize
を入力すると黄色い枠が出てくるので,その中に記述するらしい.