You say that you are writing a program that solves systems of equations. This is quite a complicated problem. If you only want to use such a program, you are better off using a library written by somebody else. I will assume that you really want to write the program yourself, for fun and/or education.
你确定了主要问题:使用浮动点号码会导致四舍五入,从而导致无法取得结果。 这方面有两个解决办法。
第一个解决办法不是使用浮动点号码。 只使用分类,将矩阵降低到流层形式(而不是减少);这可以在没有各司的情况下进行。 由于所有计算都准确,本应为0的粉碎机(实际上,可能会出现超支问题)。 当然,这只有在你开始的矩阵由愤怒组成的情况下才会奏效。 你们可以通过与零点合作而不是进行分类来推广这种做法。
第二个解决办法是使用浮动点号码,非常谨慎。 这是一个称为数字分析的数学/计算机科学整个分支的主题。 这里的回答解释过于复杂,因此,你必须获得一份数字分析书。 简而言之,你想要说的是,如果Math.abs(pivot) <某种小价值,那么你就认为,这块ot子应当是零,但由于四舍五入的错误,它就等于0000001,因此,你就认为这块ot子是零。 问题在于找出“某种小价值”是什么。