到目前为止,我总是使用\
(= mldivide
)解决(常规)三角形系统。但在使用适当的求解器之前,此函数始终为checks whether the matrix is triangular。对三角形的天真检查已经具有与求解本身相同的订单成本。 (但因此只能通过一个常数因子来增加运行时间,所以它通常不应该那么重要)我想知道:
如果您已经知道矩阵是三角形以避免这种检查,是否有可以使用的内置求解器?
答案 0 :(得分:5)
您可以使用expected_text = 'Date of first registration of the product'
file = File.open(my_pdf, "rb")
PDF::Reader.open(file) do |reader|
reader.pages.each do |page|
expect(page.text.match(/#{expected_text}/)).to be true
end
,其中包含各种矩阵类型的选项,包括三角矩阵。
https://www.mathworks.com/help/matlab/ref/linsolve.html
我试过使用Mathworks'例如,两者都太快了。当扩展到5000x3000时,linsolve会快得多。并且也没用,因为得到的矩阵排名不足,并且该方法产生完全错误的结果,充满NaN。普通部门按预期工作 - 有一些错误,但大多数结果是1。