我在 Matlab 中创建了一个大的正定(因此是对称的)矩阵。为简单起见,我们假设矩阵具有以下形式:
.
现在我想以元素的方式将它提升为一种力量,让我们说.
自从是已知的,而是未知的,必须通过优化程序进行估计,我事先保存了矩阵. 在优化例程中,我必须在每次迭代中计算矩阵的值的幂.
我的问题如下:有没有办法通过利用矩阵的属性快速执行此操作?
到目前为止我所做的:
第一种方法:计算直截了当,也就是说,在matlab中使用命令“K.^\lambda”。
第二种方法:使用两个 for 循环,其中第一个从 i=1:n 迭代,第二个从 j=i:n 迭代。这将创建一个上对角矩阵,由于对称性,我可以使用 triu 命令取回完整矩阵。
尽管如此,由于矩阵的大尺寸,这两种方法都相当耗时。有人对我如何执行此操作有更好的了解吗?