行列
GeoGebraは実数行列をサポートしており,行列の各行が含まれるリストのリストとして表現される.
GeoGebraでは, \{\{1, 2, 3}, \{4, 5, 6}, \{7, 8, 9}} は3x3 行列 \(\begin{pmatrix}1&2&3\\ 4&5&6\\ 7&8&9 \end{pmatrix}\)を表す.
LaTeX書式を使用した行列を グラフィックスビュー に表示するには,FormulaText_コマンド を使用するか,行列定義を 数式ビュー から グラフィックスビュー に ドラッグ&ドロップする.
入力バーに FormulaText[{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}]
と入力すると,LaTeXフォーマットで行列が表示される.
行列の要素へアクセス
行列の特定の要素にアクセスするには,Element コマンドか,以下の例に示す簡略化された構文を使うことができる:
行列を`matrix={{1, 2}, {3, 4}}`とするとき:
-
matrix(1, 1)
は, (1, 1) 成分の 1 を返す. -
matrix(2, 2)
,matrix(-1,2)
,matrix(2,-1)
,matrix(-1,-1)
はすべて (2, 2) 成分の4 を返す.. -
一般に,
matrix(i, j)
, は行列の i 行, j 列の成分, ( i, j ) 成分を返す.
行列の演算
行列演算は リストによる演算 なので,以下の構文に従って記述された結果を得ることができる.
いくつかの構文は,行列の集合で同じ方法で定義されていない操作を表現することができる. |
加法・減法
-
Matrix1 + Matrix2
: 同じ型の2つの行列,つまり同じ数の行と列を持つ行列同士の対応する要素を加算する. -
Matrix1 – Matrix2
: 同じ型の2つの行列,つまり同じ数の行と列を持つ行列同士の対応する要素を減算する.
乗法と除法
-
Matrix * Number
: 行列 の各要素に指定された 数 を乗ずる. -
Matrix1 * Matrix2
: 結果の行列を得るために行列乗算を用いる.
\{\{1, 2}, \{3, 4}, \{5, 6}} * \{\{1, 2, 3}, \{4, 5, 6}} は行列 \{\{9, 12, 15}, \{19, 26, 33}, \{29, 40, 51}} を返す.
最初の行列 (Matrix1) の行と2番目の行列 (Matrix2) の列は同じ要素数でなければならない. |
-
2x2 Matrix * Point (or Vector)
: 2x2行列 と Point / Vector を掛け合わせ,点を生成する.
\{\{1, 2}, \{3, 4}} * (3, 4) は点 A = (11, 25) を返す.
-
3x3 Matrix * Point (or Vector)
: 3x3行列 と Point / Vector を掛け合わせ,点を生成する.
\{\{1, 2, 3}, \{4, 5, 6}, \{0, 0, 1}} * (1, 2) は点 A = (8, 20) を返す.
これは,同次座標を使用するアフィン変換の特別なケースである:点には (x, y, 1) を,ベクトルには (x, y, 0)
を使用する.したがって,この例は次のものと同等です: |
-
Matrix1 / Matrix2
: 同じ型の2つの行列,つまり同じ数の行と列を持つ行列同士の対応する要素を除算,Matrix1 の要素を Matrix2 の要素で割る.
しかし, GeoGebra は構文 `Matrix1 * Matrix2 ^(-1)`をサポートしている. |
その他の演算
Matrix コマンド のセクションには,行列に関連する以下のようなコマンドがある:
-
Determinant(行列): 与えられた行列の行列式を返す
-
Invert(行列): 与えられた行列の逆行列を返す
-
Transpose(行列): 与えられた行列を転置する
-
ApplyMatrix(行列,Object): 行列で与えられたアフィン変換をオブジェクトに適用する
-
ReducedRowEchelonForm(行列): 与えられた行列をEEWF(Reduced row echelon form)形式に変換する