行列
|
説明
|
|
•
|
Maple の行列 (matrix) は、添字が 1 から始まる行と列を持つ 2 次元配列として表されています。
|
•
|
行列への入力は、2 次元配列として直接に行うか、線形代数パッケージの matrix コマンドを用いて行うことができます。たとえば、 array(1..m,1..n); は空の m × n 行列を生成します。詳細については、array および linalg[matrix] を参照して下さい。
|
•
|
行列 A の i, j 成分へのアクセスや割り当ては、添字を用いた表記 A[i,j] により行います。たとえば、A[i,j] := 1/B[i,j]; により、行列 A の i,j 成分に行列 B の i,j 成分の逆数を割り当てます。
|
•
|
linalg (線形代数) パッケージには、多数の行列操作が含まれています。詳細については、linalg を参照して下さい。
|
•
|
evalm 関数は行列に対する四則演算を実行します。詳細については、evalm を参照して下さい。
|
•
|
map 関数を用いて、行列の各成分に対して関数を適用することができます。たとえば、 map(simplify,A) とすれば行列 A の各成分を簡単化でき、map(diff,A,x) とすることにより行列 A の各成分を x に関して微分できます。詳細については、map を参照して下さい。
|
•
|
次の添字関数を、行列入力のために利用することができます。antisymmetric (交代行列)、diagonal (対角行列)、identity (単位行列)、sparse (疎行列)、symmetric (対称行列)。たとえば、 array(1..10,1..10,identity) は 10 × 10 の単位行列を作成します。
|
•
|
linalg パッケージには多数の特殊な行列が含まれています。たとえば、ベズ行列、フィボナッチ行列、ヒルベルト行列、ヤコビアン、シルベスター行列、 テプリッツ行列、ファンデルモンド行列などがあります。詳細については、linalg パッケージを参照して下さい。
|
•
|
行列に対してテストを行うには、type[matrix] を参照して下さい。たとえば、type(A,'matrix(integer)') は整数成分による行列かどうかをテストします。
|
注意: Maple に関するオンラインドキュメントは、matrix (小文字の "m") は linalg パッケージのプログラムで用いられている配列 array に基づいた行列を、Matrix (大文字の "M") は LinearAlgebra パッケージのルーチンで用いられている rtable に基づいた行列を表すという約束を用いています。 Maple の線形代数計算の詳細については、LA_general を参照して下さい。
|
|
例
|
|
>
|
linalg[matrix](2,3,[x,y,z,a,b,c]);
|
| (2.1) |
>
|
array(1..2,1..2,[[1,2],[3,4]]);
|
| (2.2) |
| (2.3) |
>
|
array(0..1,0..1,[[a,b],[c,d]]):
type(%,matrix);
|
| (2.4) |
>
|
A:=linalg[matrix](2,2,[sin(x), x^2+x+3, exp(x), cos(x^2)]);
|
| (2.5) |
| (2.6) |
|
|
参照
|
|
Array, Matrix, Vector, linalg[matrix], linalg, type[matrix], array, vector, evalm, print, map, type
|
|