我们都熟悉解决标准线性系统的多种计算方法
A m 1 × n 1 B m 2 × n 2 L m 1 × n 1 m 2 × n 2
我问的原因是我需要为解以下方程式:
更一般而言,阵列呢?例如,求解,其中和是3D数组(在某些时候,我也需要使用Radon变换进行此操作)。L A = B A B
谢谢,如果您有需要,可以随时将我运送到另一个StackExchange。
我们都熟悉解决标准线性系统的多种计算方法
A m 1 × n 1 B m 2 × n 2 L m 1 × n 1 m 2 × n 2
我问的原因是我需要为解以下方程式:
更一般而言,阵列呢?例如,求解,其中和是3D数组(在某些时候,我也需要使用Radon变换进行此操作)。L A = B A B
谢谢,如果您有需要,可以随时将我运送到另一个StackExchange。
Answers:
是的,您做对了,升级到3-D时确实可以正常工作。实际上,最简单的部分是内积-只需对等效的展开的向量执行标准点积。由于您仍然可能会连续存储数据,因此可以就地执行此操作。这甚至适用于复数向量空间-只需将复数值视为实数对即可。这是因为对于CG,您需要真正的内积。 ⟨ÿ,X⟩≜回复( Ý ħ X)
使用通用线性运算符实现CG(或类似的迭代方法)时,必须注意的一件事是正确实现线性运算符的伴随。也就是说,人们经常正确地理解,但是实现犯错误。z = F ∗(y )
我建议实施一个利用以下身份的简单测试:对于任何符合和, 因此,您要做的是生成和随机值,分别通过正向和伴随运算运行它们,然后计算上面的两个内积。确保它们在合理的精度内匹配,并重复几次。ÿ ⟨ Ý ,˚F (X )⟩ = ⟨ ˚F *(Ý ),X ⟩ 。X ÿ
编辑:如果您的线性算子应该对称,该怎么办?好吧,您也确实需要验证对称性。因此,使用相同的测试,只是注意 ---对和应用相同的操作。当然,OP具有不对称运算符和对称运算符来处理... x y
linop_test.m
例程。该软件包还支持向量空间中的矩阵,数组和笛卡尔积。