Windows用高精度電卓アプリを作ったんだが需要あるか?最終更新 2024/10/09 19:401.132人目の素数さんSy9Us10^1000桁(数値で10^10^1000)まで計算可能。10^17桁(数値で10^10^17)まで検算可能。ただし有効桁数は2000桁まで。小数点以下を含む値を扱うと17桁目から誤差が出るときがある。+-*/^()0123456789.が使える。複数の項があっても可。^も複数段使える。関数は使えない。10億桁までの高精度演算なら多倍長電卓LMを使えばよいので、それ以上の桁数の整数の計算の場合に意義が出る。高精度で計算できる。計算速度は速い。コンマ何秒。9^10^1000なんて計算も可能。こんな桁数の値を扱える電卓は一般化されていない。2024/03/03 16:53:0138コメント欄へ移動すべて|最新の50件2.132人目の素数さんSy9Us父親(数学科修士卒で私大名誉教授)に報告したら、「そんなもの誰が何に使うんだ?」と言われてショボーン。とりあえず2^256倍精度浮動小数点数の最大値の計算に使えたが、確かに何に使うのか思いつかない。計算してみたいような式があったらぜひここに書いてくれ。1日1回くらいは見るので、計算してみて計算結果を書くよ。2024/03/03 17:06:003.132人目の素数さんSy9Us高精度電卓アプリをChatGPTで聞いたところ、MathematicaとMapleとMATLABを提示された(多倍長電卓LMは知らないらしい)。しかしMathematicaの無料WEB版はN[10^10^8,2000]程度まで処理可能(遅い)で、https://www.wolframcloud.com/10^10^8程度まで、Maple無料スマホアプリ版はNoxでPCでテストしてみたところ、10^10^2程度までだった。MATLABを使える人に聞きたいんだが、MATLABはどの程度の値まで計算可能?もしくは1秒未満で計算できる桁数を知りたい。MATLABが大した桁数でもなくオーバーフローもしくは計算時間がかかるとすれば、もしかして俺の作った電卓アプリは世界一の計算可能桁数?2024/03/03 20:34:194.132人目の素数さんcueE6MATLAB 無料onlineで試してみたところ、https://matlab.mathworks.com/10^10^30程度までだった。これは世界一の計算可能桁数を持つ電卓アプリケーションと豪語しても良さそう?2024/03/05 00:10:425.132人目の素数さんcueE6>>4MATLABに関して、嘘でした。MATLABは古いシステムらしく、左結合で指数を計算してしまう。10^10^30は10^(10^30)が現在の標準だが、MATLABは(10^10)^30で計算してしまうので、全然優秀じゃない。MATLABの計算可能桁数は(10^10)^30程度まで。2024/03/05 09:02:256.132人目の素数さんcueE6つまりMATLABは10^(10^2)程度まで。2024/03/05 09:05:487.132人目の素数さんcueE6ウルフラム・リサーチhttps://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%AB%E3%83%95%E3%83%A9%E3%83%A0%E3%83%BB%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%81The MathWorkshttps://ja.wikipedia.org/wiki/The_MathWorks企業としてはいずれも優秀と補足。2024/03/05 09:48:468.132人目の素数さんcueE6>>7この2社に匹敵するのが多倍長電卓LMの作者高橋英明氏。2024/03/05 09:52:289.132人目の素数さんX63mdCASIOのKEISANサイトのフリー計算ページではhttps://keisan.casio.jp/calculator10^10^7程度まで。ただし有効桁数は130桁まで。2024/03/15 18:03:2110.132人目の素数さんwhxnc>>1piが使えるように改良した。2024/03/20 20:49:1311.132人目の素数さんwhxnc>>10と思ったらテスト環境だけで、実行環境ではまだできていない。2024/03/20 21:11:0912.132人目の素数さんwhxnc>>1ついでにLog,Log2,Log3,Log4,Log10等もできるようになったがテスト環境だけ。2024/03/20 21:37:3913.132人目の素数さんwhxnc>>1ついでにsin,cos,tan,arcsin,arccos,arctanができるようになったがテスト環境だけ。2024/03/20 21:46:2014.132人目の素数さんwhxncちなみにsin(pi)は計算できるが誤差があり0にならない。有効桁数+1桁くらいで誤差が出る。2024/03/20 21:55:3515.132人目の素数さんwhxncMATLAB無料版でもsin(pi)は1.2246e-16と出るのでまだマシ。2024/03/20 22:03:3716.132人目の素数さんwhxncsin(pi)+1が1となるのでとりあえずいいかな?2024/03/20 22:14:4317.132人目の素数さんlwQ0k>>1テストしたところ有効桁数が1700桁までなら実行環境でも関数も使用可能に。これで100種類ほどの関数が使えるようになった。計算可能桁数は10^10^1000まで、自動検算可能な桁数も10^10^17までのまま。2024/03/21 09:48:5218.132人目の素数さんlwQ0k>>17関数によって有効桁数に指定可能な桁数が変わるようだ。sinは有効桁数700桁程度までしか利用できなかった。piは1700桁程度。2024/03/21 09:55:0819.132人目の素数さんlwQ0k>>17logも有効桁数700桁程度まで。2024/03/21 12:01:3220.132人目の素数さんlwQ0k>>17訂正。計算可能桁数は10^1000まで、値では10^10^1000まで、検算可能な桁数は10^17まで、値では10^10^17まで。2024/03/21 22:45:1621.132人目の素数さん3SltI>>1>+-*/^()0123456789.が使える。他に関数名と関数で使用する,(カンマ)が使えることになる。2024/03/22 01:06:4222.132人目の素数さんsrfJJビルド方法を変えたら有効桁数2000桁でも関数が使えるようになった。2024/05/18 12:19:5323.132人目の素数さんLFICPそのアプリくれよ2024/06/10 02:14:0424.132人目の素数さんpaIxI>>23まだ試作品なので公開はしていない。小数点以下を含めると17桁から誤差も出るときがある。それ以前にスキャンソフトによってはマルウェアの判定をされてしまうので、これを対処しないといけない。計算したい計算式を書いてくれたら結果を載せるよ。2024/06/11 22:58:5525.132人目の素数さんpaIxI関数はとりあえず{}内はオプションpiroot(x{, Nth})log(x{, Base})sin(x)cos(x)tan(x)が使える。2024/06/11 23:20:5226.132人目の素数さんpaIxI他に、剰余fmod(x,y)が使える。これは例えばfmod(2^2^2^2^2,10^100)とすれば2^2^2^2^2の末尾100桁が出る。2024/06/11 23:35:3927.132人目の素数さんqgcHg整数論に出てくる関数を装備したら面白いのでは?素数判定とか素因数分解とか…は時間がかかりすぎて無理か、でも「計算中、あと10億年かかる予定」とかメッセージが出れば楽しいかも。2024/08/12 16:24:3428.132人目の素数さん9iNgd>>27素数判定isprimeと、素因数分解factorintは小改造で実装できるが、いかんせん実行時間がかかりすぎるので実装していない。これをこの計算アプリのコンセプトである1秒以内に実行完了できるようになればいいけどな。2024/08/12 17:07:5429.132人目の素数さん9iNgd計算時間予測については実装方法が見当もつかない。ちなみにfactorintがどれくらい遅いかと言うと、2つの素数からなる309桁の値の素因数分解が数時間たっても終わらないレベル。2024/08/12 17:19:4330.132人目の素数さん9iNgd25桁の素数2つの49桁の合成数をfactorintで素因数分解したところ、1分57秒もかかってしまった。今のままでは使い物にならない。2024/08/12 18:17:0731.132人目の素数さん9iNgd指摘があったので、素数判定isprime・素因数分解factorintを使えるようにした。感謝。ただし処理速度が遅い(>>29>>30)。2024/08/12 19:05:5732.132人目の素数さん9iNgd>>31テスト環境では動いたが、ビルドしたら上手く動かなかったりビルド自体出来なかったりした。再調整が必要なようだ。2024/08/12 20:26:2333.132人目の素数さん6E9AO>>32無事ビルドできて上手く動いた。相変わらず関数の使用に関して>>18のように有効桁数の限界が低いという問題があるが。素数判定も素因数分解も上手くいくようだ。大きな桁数の素数2つを掛け合わせた合成数とかだとむちゃくちゃ遅いが。あとは>>24の問題がまだ残っている。2024/09/21 23:32:4734.132人目の素数さんUn66e素因数分解は、10^10+1~10^80+1程度まではサクサク一瞬で処理できるが、10^90+1程度から急に重くなった。あくまでおまけ機能だと割り切るべきか?2024/09/22 16:33:2435.132人目の素数さんDnpu6>>22はビルドごとに出たり出なかったりしたが、対処法が分かったので全く問題が無くなった。あとは>>24の2つの問題と、sin(pi)が0にならずに有効桁数以降で誤差が出るという問題も。2024/09/24 20:40:4736.132人目の素数さん6tSyxFull Precision Calculatorhttps://www.mathsisfun.com/calculator-precision.htmlは、数万桁以上の有効桁数と10^10^15程度までの計算可能桁数を持っている。さらに一瞬で計算処理をする。俺のアプリは計算可能桁数では勝っているが、計算速度と計算精度で劣っているようだ。げんなり。2024/10/09 18:25:4237.132人目の素数さん6tSyx>>36このサイトでもsin(pi)が0にならない。できることとできないことがあるな。2024/10/09 19:36:3438.132人目の素数さん6tSyx>>36LMでも有効桁数を増やせば計算できる2テトレーション6の先頭からの値の計算式、10^(((2^65536)*log10(2))-floor((2^65536)*log10(2)))もNaNになってしまう。2024/10/09 19:40:46
【埼玉栄高校】涙ぐむ人…高2死亡、窓から身を乗り出して車が横転 深夜グラウンドで 高校が説明会、保護者「ずさんであり得ない」 頭を下げてあいさつし、真面目な生徒が多い学校「いたたまれない」ニュース速報+6231266.22024/11/21 22:20:26
【国民民主党】玉木代表 加熱する不倫報道に「家族の心理的負担は極めて大きい」「テレビや週刊誌やネットも見てしまって、その都度傷ついている」ニュース速報+162982.22024/11/21 22:29:58
10^17桁(数値で10^10^17)まで検算可能。
ただし有効桁数は2000桁まで。
小数点以下を含む値を扱うと17桁目から誤差が出るときがある。
+-*/^()0123456789.が使える。
複数の項があっても可。^も複数段使える。
関数は使えない。
10億桁までの高精度演算なら多倍長電卓LMを使えばよいので、
それ以上の桁数の整数の計算の場合に意義が出る。
高精度で計算できる。
計算速度は速い。コンマ何秒。
9^10^1000なんて計算も可能。
こんな桁数の値を扱える電卓は一般化されていない。
「そんなもの誰が何に使うんだ?」
と言われてショボーン。
とりあえず2^256倍精度浮動小数点数の最大値の計算に使えたが、
確かに何に使うのか思いつかない。
計算してみたいような式があったらぜひここに書いてくれ。
1日1回くらいは見るので、計算してみて計算結果を書くよ。
Mathematicaと
Mapleと
MATLAB
を提示された(多倍長電卓LMは知らないらしい)。
しかしMathematicaの無料WEB版はN[10^10^8,2000]程度まで処理可能(遅い)で、
https://www.wolframcloud.com/
10^10^8程度まで、
Maple無料スマホアプリ版はNoxでPCでテストしてみたところ、
10^10^2程度までだった。
MATLABを使える人に聞きたいんだが、MATLABはどの程度の値まで計算可能?
もしくは1秒未満で計算できる桁数を知りたい。
MATLABが大した桁数でもなくオーバーフローもしくは計算時間がかかるとすれば、
もしかして俺の作った電卓アプリは世界一の計算可能桁数?
https://matlab.mathworks.com/
10^10^30程度までだった。
これは世界一の計算可能桁数を持つ電卓アプリケーションと豪語しても良さそう?
MATLABに関して、嘘でした。
MATLABは古いシステムらしく、左結合で指数を計算してしまう。
10^10^30は10^(10^30)が現在の標準だが、
MATLABは(10^10)^30で計算してしまうので、全然優秀じゃない。
MATLABの計算可能桁数は(10^10)^30程度まで。
10^(10^2)程度まで。
https://ja.wikipedia.org/wiki/%E3%82%A6%E3%83%AB%E3%83%95%E3%83%A9%E3%83%A0%E3%83%BB%E3%83%AA%E3%82%B5%E3%83%BC%E3%83%81
The MathWorks
https://ja.wikipedia.org/wiki/The_MathWorks
企業としてはいずれも優秀と補足。
この2社に匹敵するのが多倍長電卓LMの作者高橋英明氏。
https://keisan.casio.jp/calculator
10^10^7程度まで。
ただし有効桁数は130桁まで。
piが使えるように改良した。
と思ったらテスト環境だけで、実行環境ではまだできていない。
ついでにLog,Log2,Log3,Log4,Log10等もできるようになったがテスト環境だけ。
ついでにsin,cos,tan,arcsin,arccos,arctanができるようになったがテスト環境だけ。
有効桁数+1桁くらいで誤差が出る。
1.2246e-16
と出るのでまだマシ。
が
1
となるのでとりあえずいいかな?
テストしたところ有効桁数が1700桁までなら実行環境でも関数も使用可能に。
これで100種類ほどの関数が使えるようになった。
計算可能桁数は10^10^1000まで、自動検算可能な桁数も10^10^17までのまま。
関数によって有効桁数に指定可能な桁数が変わるようだ。
sinは有効桁数700桁程度までしか利用できなかった。
piは1700桁程度。
logも有効桁数700桁程度まで。
訂正。
計算可能桁数は10^1000まで、値では10^10^1000まで、
検算可能な桁数は10^17まで、値では10^10^17まで。
>+-*/^()0123456789.が使える。
他に関数名と関数で使用する,(カンマ)が使えることになる。
まだ試作品なので公開はしていない。
小数点以下を含めると17桁から誤差も出るときがある。
それ以前にスキャンソフトによってはマルウェアの判定をされてしまうので、これを対処しないといけない。
計算したい計算式を書いてくれたら結果を載せるよ。
{}内はオプション
pi
root(x{, Nth})
log(x{, Base})
sin(x)
cos(x)
tan(x)
が使える。
剰余
fmod(x,y)
が使える。
これは例えば
fmod(2^2^2^2^2,10^100)
とすれば2^2^2^2^2の末尾100桁が出る。
「計算中、あと10億年かかる予定」とかメッセージが出れば楽しいかも。
素数判定isprimeと、素因数分解factorintは小改造で実装できるが、
いかんせん実行時間がかかりすぎるので実装していない。
これをこの計算アプリのコンセプトである1秒以内に実行完了できるようになればいいけどな。
ちなみにfactorintがどれくらい遅いかと言うと、
2つの素数からなる309桁の値の素因数分解が数時間たっても終わらないレベル。
1分57秒もかかってしまった。
今のままでは使い物にならない。
感謝。
ただし処理速度が遅い(>>29>>30)。
テスト環境では動いたが、ビルドしたら上手く動かなかったりビルド自体出来なかったりした。
再調整が必要なようだ。
無事ビルドできて上手く動いた。
相変わらず関数の使用に関して>>18のように有効桁数の限界が低いという問題があるが。
素数判定も素因数分解も上手くいくようだ。
大きな桁数の素数2つを掛け合わせた合成数とかだとむちゃくちゃ遅いが。
あとは>>24の問題がまだ残っている。
10^90+1程度から急に重くなった。
あくまでおまけ機能だと割り切るべきか?
はビルドごとに出たり出なかったりしたが、対処法が分かったので全く問題が無くなった。
あとは>>24の2つの問題と、
sin(pi)が0にならずに有効桁数以降で誤差が出るという問題も。
https://www.mathsisfun.com/calculator-precision.html
は、数万桁以上の有効桁数と10^10^15程度までの計算可能桁数を持っている。
さらに一瞬で計算処理をする。
俺のアプリは計算可能桁数では勝っているが、計算速度と計算精度で劣っているようだ。
げんなり。
このサイトでもsin(pi)が0にならない。
できることとできないことがあるな。
LMでも有効桁数を増やせば計算できる2テトレーション6の先頭からの値の計算式、
10^(((2^65536)*log10(2))-floor((2^65536)*log10(2)))
もNaNになってしまう。