1

我想将矩阵乘积 AX-XB 转换为向量形式。

那是Cx哪里x=vec(X)

然而我发现最后一项(XB)很难向量化,它会非常稀疏。

有什么有效的方法可以做到这一点?

参阅此链接以转换为矢量形式

4

1 回答 1

1

如果您不需要C显式(例如迭代求解器),则可以定义一个抽象的线性运算符,该运算符返回矢量化乘积C*x。不确定,Matlab 中是否有像 SciPy's 这样的特定函数LinearOperator,但匿名函数也应该这样做:

C_x = @(X) vec(A*X-X*B);

其中vec'vectorises'矩阵,例如X(:)@Jonas指出的通过。

编辑:@Eitan T 在下面建议了一个封闭的表格!

有关如何使用匿名函数和函数句柄的信息,请参见Matlab 帮助。

这里C给出了显式的公式。

于 2013-04-30T07:53:27.977 回答