对角矩阵被定义为在主对角线之外具有零个条目的矩阵;即,D(i,j) == 0
如果i != j
.最常见的情况是,考虑正方形对角矩阵;然而,该定义同样适用于非正方阵,在这种情况下,我们通常称之为矩形对角矩阵。
置换矩阵被定义为在每行和每列中具有等于1的单个元素的方阵;所有其他元素都为零。也就是说,存在一个置换(向量)p
使得P(i,j) == 1
如果j == p(i)
和P(i,j) == 0
否则
Octave提供了实数和复数矩形对角化矩阵以及置换矩阵的特殊处理。它们被存储为特殊对象,使用高效的存储和算法,有助于用Octave语言编写可读和高效的矩阵代数表达式。可以通过使用函数禁用特殊治疗优化对角矩阵和优化术语矩阵.
val =
optimize_permutation_matrix ()
¶old_val =
optimize_permutation_matrix (new_val)
¶old_val =
optimize_permutation_matrix (new_val, "local")
¶查询或设置是否使用特殊的空间有效格式来存储排列矩阵。
默认值为true。如果此参数设置为false,Octave将置换矩阵存储为满秩矩阵。
当从具有的函数内部调用时"local"
参数,则会在本地更改函数及其调用的任何子程序的设置。退出函数时将恢复原始设置。
如以下代码所示,节省了大量空间。
x = diag (rand (10, 1)); xf = full (x); sizeof (x) ⇒ 80 sizeof (xf) ⇒ 800
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2