作者:多米音乐_34138178 | 来源:互联网 | 2023-02-03 11:52
到目前为止,我总是使用\
(= mldivide
)解决(常规)三角形系统.但是,在使用适当的求解器之前,此函数始终首先检查矩阵是否为三角形.对三角形的天真检查已经具有与求解本身相同的订单成本.(但因此只能通过一个常数因子来增加运行时间,因此通常不应该那么重要)我想知道:
如果您已经知道矩阵是三角形以避免这种检查,是否有可以使用的内置求解器?
1> 小智..:
您可以使用linsolve
,它具有各种矩阵类型的选项,包括三角矩阵.
https://www.mathworks.com/help/matlab/ref/linsolve.html
我尝试使用Mathworks的例子,两者都太快了.当扩展到5000x3000时,linsolve更快.并且也没用,因为得到的矩阵排名不足,并且该方法产生完全错误的结果,充满NaN.普通部门按预期工作 - 有一些错误,但大多数结果是1.