4.1.1 空行列
行列は、一方または両方の次元がゼロである可能性があり、空行列に対する演算は、Carl de Boor 著「 An Empty Exercise」(SIGNUM、第 25 巻、2 ~ 6 ページ、1990 年)、および CN Nett および WM Haddad 著「 A System-Theoretic Appropriate Realization of the Empty Matrix Concept」(IEEE Transactions on Automatic Control、第 38 巻、5 号、1993 年 5 月) で説明されているとおりに処理されます。簡単に言うと、スカラーs、m行 n列の行列M(mxn)、およびm行n列の空行列 [](mxn)(一方または両方の次元がゼロ) が与えられた場合、次のことが当てはまります。
s * [](mxn) = [](mxn) * s = [](mxn)
[](mxn) + [](mxn) = [](mxn)
[](0xm) * M(mxn) = [](0xn)
M(mxn) * [](nx0) = [](mx0)
[](mx0) * [](0xn) = 0(mxn)
デフォルトでは、空行列の次元は空行列のシンボル「[]'。組み込み変数が print_empty_dimensionsこの動作を制御します。
: val = print_empty_dimensions ()
: old_val = print_empty_dimensions (new_val)
: old_val = print_empty_dimensions (new_val, "local")
空行列の []次元を空行列記号とともに印刷するかどうかを制御する内部変数を照会または設定します。
例えば、
zeros (3, 0)
印刷されます
ans = [](3x0)
オプションを使用して関数内から呼び出されると"local"、関数とそれが呼び出すサブルーチンに対して変数がローカルに変更されます。関数を終了すると、元の変数値が復元されます。
See also: format.
空の行列は、行列の行または列を削除する便利な方法として、代入ステートメントで使用することもできます。代入式を参照してください
Octave は行列式を解析するときに、リストの要素を調べて、すべてが定数であるかどうかを判断します。定数である場合は、リストを単一の行列定数に置き換えます