雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

分数での掃き出し法による行列式計算14

long でのFraction の実装だと、行列式の計算のときに簡単にサチってしまったので、BigInteger でBigFraction を作ってみました。
ソースコード
ソースコード
処理自体はlong でもBigInteger でも全く同じなので、特に繰り返しては説明しないことにします。
Fraction の時と同じようなテストコードも再作成。
ソースコード
実行結果は、以下のようになりました。

result: 1/2 [false, false]
result: 0/0 [true, true]
result: 0/1 [true, false]
result: 1/0 [false, true]
result: 1/1 [false, false]
result: 3/2 [false, false]
result: 1/-1 [false, false]
result: 0/1 [true, false]
result: 1/6 [false, false]
result: 1/-4 [false, false]
result: 1/0 [false, true]
result: 1/6 [false, false]
result: 3/2 [false, false]
72/256 --> 9/32
fraction1: 11/24 --> 55/120
fraction2: 7/15 --> 56/120
result: 5/6 [false, false]
result: 7/10 [false, false]
result: 1/6 [false, false]
result: 3/10 [false, false]

ちゃんとできているようですね。
次回は、これを使って行列式の計算を行ってみようと思います。