【发布时间】:2010-11-16 00:21:45
【问题描述】:
当运算符是自定义运算符而不是标准算术运算符时,实现高斯消元的好方法是什么?
这里是运算符:
加法:
0 + 0 = 0
0 + 1 = 1
1 + 1 = 0
减法:
0 - 0 = 0
0 - 1 = 1
1 - 1 = 0
乘法:
0 * 0 = 0
0 * 1 = 0
1 * 1 = 1
部门:
0 / 0 = illegal
0 / 1 = 0
1 / 1 = 1
这是一组作为增广矩阵的示例方程,RHS 在最右边的列中:
1, 1, 0, 1, 0, 0, 0, 0, 0, 1
0, 1, 0, 1, 1, 0, 0, 0, 0, 1
0, 1, 1, 0, 0, 1, 0, 0, 0, 1
1, 0, 0, 1, 0, 0, 0, 0, 0, 1
0, 1, 0, 1, 1, 0, 0, 0, 0, 1
0, 0, 0, 0, 0, 1, 0, 0, 0, 1
0, 0, 0, 1, 0, 0, 1, 0, 0, 1
0, 0, 0, 1, 1, 0, 1, 1, 0, 1
0, 0, 0, 0, 0, 1, 0, 0, 1, 1
这一套的解决方法是:
x1 = 1
x2 = 0
x3 = 0
x4 = 0
x5 = 1
x6 = 1
x7 = 1
x8 = 1
x9 = 0
我在这个集合上尝试过高斯消除失败。
方程将有 9、16、25 或 36 项。如果该算法很容易扩展到更大的正方形(最多 100 个),那就太好了。 我正在寻找一种算法,最好是伪代码或 JavaScript。
【问题讨论】:
-
请注意,由于新的运算符,一些方程组变得无法求解,因为它们的结果将是分数。我对可解性问题特别感兴趣。
标签: javascript algorithm math