行列と配列のデータ構造は全く一致し,
複数のデータを1次元的または2次元的に保存するという性質は変わらない。
行列の演算では代数的な行列演算が行なわれるのに対し,
配列の演算では配列の各成分に対して演算が行なわれ,演算結果は
各成分の演算結果を成分とする配列となる。
計算の途中で一時的に行列を配列として扱う
配列演算子 .*
, ./
, .¥
, .^
や
スカラと行列や配列の演算においてスカラをその値で満たされた
行列として扱う演算子 .+
と.-
がある。
行列と配列はクラス変換関数Matrix()とArray()によって
相互変換できる。
便利な添字記法を使えば,行・列・成分・部分行列を簡単に参照できる。
指数は整数を1次元的に並べたものであり,部分行列の取り出しや代入といった 操作に使われる。 クラス変換関数Index()を使って行列や配列から指数を作れる。
[宣言]
Matrix A, B, C; // 実行列 CoMatrix CA, CB, CC; // 複素行列 PoMatrix PA, PB, PC; // 多項式行列 RaMatrix RA, RB, RC; // 有理多項式行列 Array D, E, F; // 実配列 CoArray CD, CE, CF; // 複素配列 PoArray PD, PE, PF; // 多項式配列 RaArray RD, RE, RF; // 有理多項式配列 Index II, JJ; // 指数
[例]
[[1 2][3 4]], [(1,2), (3,4)] // 行列 Array([[1 2][3 4]]), Array([(1,2), (3,4)]) // 配列 Index([1 2 3 4]), Index([10 8 6 4 2]) // 指数