- 555 名前:132人目の素数さん [2013/11/10(日) 01:59:57.67 ]
- んでもって、>>551の問題の例として以下のような問題を考えてみた。
x*π+y*e=123.456 これを上記のコードにあてはめて v = {Pi, E, 123.456}; n = 10; c = Round[10^n v]; A = Join[IdentityMatrix[Length[v]], -Transpose[{c}], 2] B = LatticeReduce[A] A.Append[c, 1] B.Append[c, 1] B[[;; , ;; -2]] // MatrixForm r = B[[;; , ;; -2]].v N[r] を実行してみると -6747π+3256e+100*123.456≒0 が得られて、変形すると (6747/100)π-(3256/100)e≒123.456 となるんだけど、これは求めたい解じゃないよね? つまり、x,yは整数じゃないといけないんだよね? となるとLatticeReduceで解けなくない?
|

|