1

嗨,我正在尝试用数学求解线性方程组。我有 18 个方程和 18 个未知数,系数矩阵有满秩。所有条目都是象征性的,因为我试图分析解决问题。不幸的是,Mathematica 从未停止评估。我准备了一个最小的工作示例:

n = 18
A = Table[AA[i, j], {i, 1, n}, {j, 1, n}];
A // MatrixForm
x = Table[xx[i], {i, 1, n}]
b = Table[bb[i], {i, 1, n}]
MatrixRank[A]
sol = Timing[Solve[{A.x == b}, x, Reals]]
A.x == b //. sol[[2]][[1]] // Simplify

对于 n=2,3,4,.. 一切都很好。但是在 n=10 的情况下......没有任何效果了。为什么mathematica 这样的问题能够解决这个问题?有没有办法解决这个问题?

感谢帮助,

安德烈亚斯

4

1 回答 1

2

您只需要更多内存:

符号解涉及 n+1 个行列式,这是对所需内存的估计。

 bc[n_] := (A = Det[Array[a, {n, n}]];ByteCount[A])
 ListLogPlot[
     t = Table[ {n, (n + 1) bc[n] /1024^3 // N} , {n,2,10}], Joined -> True]

在此处输入图像描述

推断 n=18 我们可以看到你只需要大约 10^8 GB ..

(对于任何不明白这一点的人来说,这比最大的超级计算机多 1000 倍)

于 2014-09-19T14:38:29.537 回答