計算機の中間計算の過 - 数学@ふたば保管庫

数学@ふたば保管庫 [戻る]



36277 B


計算機の中間計算の過程で誤差なく数値を表現することを考えていたら以下の問題に当たりました

弱代数的数を帰納的に以下のように定義する
・整数は弱代数的数
・弱代数的数は(ゼロ割りを除き)加減乗除の二項演算で閉じる。
・a(≠0),bが弱代数的数の時 べき乗 a^b も弱代数的数

2つの弱代数的数が整数と四則演算とべき乗の組み合わせで与えられた時
それが等しいかどうかを判定するアルゴリズムは?削除された記事が2件あります.見る

GNU MPとか多倍長整数演算ライブラリ入れて計算すればいいんじゃないの

要するに冪の含んだ無理数の計算を桁落ち無しでやりたいわけね
mathematicaとかmaximaとかではどうなってるか確かめてみたら?

書き込みをした人によって削除されました

加減がなければ両辺logをかけて、冪と割り算掛け算を展開すれば、とも思ったけど、
素因数分解入っちゃうからどのみち実時間では終わらないかなあ

ようわからんが比較対象a, bを両方規約分数にすれば済むのでは…

2^(1/2)
たぶんこういうのがあるんじゃね
でもお題自体に割り算で有理数になるとも切り捨てとも書いてないから
上のがsqrt(2)なのか1なのかはわからん

まぁた
>ようわからんが
かよ
自己主張だけは強いんだな

書き込みをした人によって削除されました

外すことが可能な多重根号について、それを分類して外した結果を求めることが出来るアルゴリズムが既にあるらしい
多分この問題は多重根号の簡単化より難しいからここで聞いて答えが帰ってくるようなもんじゃないと思う
https://www.computer.org/csdl/proceedings/focs/1989/1982/00/063496.pdf

>No.79385
なんで名乗るの?
かっこいいと思ってるの?

(-1)^(1/2)
これも含むから複素数も含むのか

このアルゴリズムが完成すると超越数の判定が簡単に出来そう