21.1创建和操作对角/置换矩阵

对角矩阵被定义为在主对角线之外具有零个条目的矩阵;即,D(i,j)==0如果i!=j.最常见的情况是,考虑正方形对角矩阵;然而,该定义同样适用于非正方阵,在这种情况下,我们通常称之为矩形对角矩阵。

置换矩阵被定义为在每行和每列中具有等于1的单个元素的方阵;所有其他元素都为零。也就是说,存在一个置换(向量)</p>使得P(i,j)==1如果j==p(i)P(i,j)==0否则

Octave提供了实数和复数矩形对角化矩阵以及置换矩阵的特殊处理。它们被存储为特殊对象,使用高效的存储和算法,有助于用Octave语言编写可读和高效的矩阵代数表达式。可以通过使用函数禁用特殊治疗优化对角矩阵优化术语矩阵.

 
: val = optimize_diagonal_matrix ()
: old_val = optimize_diagonal_matrix (new_val)
: old_val = optimize_diagonal_matrix (new_val, "local")

查询或设置是否使用特殊的节省空间的格式来存储对角矩阵。

默认值为true。如果此参数设置为false,Octave将把对角矩阵存储为全矩阵。

当从具有的函数内部调用时地方的参数,则会在本地更改函数及其调用的任何子程序的设置。退出函数时将恢复原始设置。

详见: optimize_range, optimize_permutation_matrix.

 
: val = optimize_permutation_matrix ()
: old_val = optimize_permutation_matrix (new_val)
: old_val = optimize_permutation_matrix (new_val, "local")

查询或设置是否使用特殊的空间有效格式来存储排列矩阵。

默认值为true。如果此参数设置为false,Octave将置换矩阵存储为全矩阵。

当从具有的函数内部调用时地方的参数,则会在本地更改函数及其调用的任何子程序的设置。退出函数时将恢复原始设置。

详见: optimize_range, optimize_diagonal_matrix.

如以下代码所示,节省了大量空间。

x=diag(rand(10,1));xf=满(x);大小(x)⇒ 80尺寸(xf)⇒ 800

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-1