给定理论Q上的可逆矩阵M,逆矩阵M ^( - 1)再次是Q上的矩阵。它们的(有效)库是否精确计算逆?
我知道高性能线性代数库,例如BLAS / LAPACK,但这些库基于浮点运算,因此不适合计算精确(分析)解决方案。
动机:我想使用absorbing Markov chain来计算大fundamental matrix的吸收概率。我想这样做。
详细信息:我认为最好的情况是1000x1000矩阵,最坏情况下是数百万维矩阵。我可以进一步扩展事情。 (我意识到最糟糕的情况可能远非遥不可及。)
答案 0 :(得分:1)
您可以使用Eigen matrix library,它可以轻松地处理任意标量类型。文档中有一个示例如何将其与GMP mpq_class
from ctypes import POINTER, WINFUNCTYPE, windll
from ctypes.wintypes import BOOL, HWND, RECT
# get our window ID:
hwnd = pygame.display.get_wm_info()["window"]
# Jump through all the ctypes hoops:
prototype = WINFUNCTYPE(BOOL, HWND, POINTER(RECT))
paramflags = (1, "hwnd"), (2, "lprect")
GetWindowRect = prototype(("GetWindowRect", windll.user32), paramflags)
# finally get our data!
rect = GetWindowRect(hwnd)
print "top, left, bottom, right: ", rect.top, rect.left, rect.bottom, rect.right
# bottom, top, left, right: 644 98 124 644
一起使用:http://eigen.tuxfamily.org/dox/TopicCustomizing_CustomScalar.html
当然,正如@btilly指出的那样,大多数时候你不应该计算逆,而是计算矩阵分解并用它来求解方程组。对于有理数,您可以使用任何LU分解,或者如果矩阵是对称的,则使用LDLt分解。请点击此处查看catalogue of decompositions。