设A,B为R^n空间的矩阵,b属于R^n。描述一个计算A^-2*B*A的快速算法^-3*b.算法将进行多少次计算?
这是一道数值分析题。我试过暴力破解算法,但我相信答案更数学化。
我们还没有讨论大 O 符号,所以这个问题严格要求算法的 Action 。你会如何回答这个问题?
最佳答案
我会从右到左解决问题,在处理 A 的逆时使用线性求解器,在处理 B 时使用矩阵乘法:
x1 = linsolve(A, b)
x2 = linsolve(A, x1)
x3 = linsolve(A, x2)
y = B*x3
z1 = linsolve(A,y)
result = linsolve(A,z1)
通过将 A 的 LU 分解保留在内存中,您可以按常量乘数减少操作数,但除非为 A 和 B 提供更多结构,否则二次复杂度似乎是您可以达到的最佳目标。
关于algorithm - 向量乘法算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54388418/