祝大家新年快乐 !
と、行政を刺激する様な中国語での挨拶であります。まあ、2025年の内からスカな事を書き綴っているので、御容赦戴きたく。
電卓と言えども、今時のスマートフォンに導入されている電卓 Apps で、高度な計算が出来る事は、皆様ご存知の通りであります。
関数電卓でも、こうした計算は十分こなす所であり、スマートフォンの電卓も関数電卓としての機能を具備していて、「有効桁数切り落とし問題」の一部は解決されている様でありますが、
翻って、フツーの電卓の計算における有効桁切り落としは、社会通念として厳然と存在するかの様ではあります。
電卓にも採用されている upython でも、内部の double float 計算では有効桁切り落としがあり、0.1×1 != 1.0 でありました。
0.1 の2進数表現が無限小数となり、コレを途中で切り捨てているのが計算誤差の原因との事。
sum = 0
for i in range(10) :
sum += 0,1
print(sum-1)
スマートフォン Apps では、このあたりまでシッカリ考えられているので、万人が所望する答え、利便をスパッと返して呉れる様でもあります。
スマートフォンの電卓Appsについては、他にも色々と考えさせられる所があります。
例えば、「いわゆる計算式の演算子の順番をうまく処理してくれる」という所もあります。
例えば 23+4*8 = という計算でありますネ。いわゆる事務用の電卓で計算すると、216になってしまう計算でありますが、四則計算の手順通りならば、55 になります。
四則演算では、加減算よりも乗除算の方が優先される、というアレ。関数電卓では、内部にスタックを抱えていて加減乗除の優先度を考えた計算式の通りに計算できるのでありますが、普通の電卓では、其処までのメカは持っていないのでありました。
代わりに、事務用の電卓ではメモリー機能を使って、数値の集計をすばやく出来るように工夫されておりますが、詳細はここで触れません。
HP 電卓の RPN では、ユーザーがスタックを明示的に操作する事で計算プロセスを外部化し、計算ミスをしにくくなるという利便もありましたが、同時に計算のためのスタックを少なくする事からメモリ資源の節約にもつながるという、開発側にとっての利便もあったという見方ができそうですネ。電卓で扱うような計算式の多くは二項演算でしたから、二項演算の二項演算として、スタックを4段用意すれば、かなり広い計算に対応できたのだと。
他にも、スマートフォン電卓Appsでは、関数電卓機能を具備する事で「大抵の関数電卓より大きい階乗の計算もこなす」のであります。
19515! の計算が出来ると知り、ちょっとした驚きではあります。
ココまでは、関数電卓でもなかなか計算出来ません。気が触れている具合でしょうか。「気触れ大サーカス」
ちなみに、関数電卓でも階乗計算機能を持っておりますが、計算内容が微妙に差があったり、など。
階乗の計算は、整数を1から始めて順次掛け合わせていくのですが、数学の知見とは驚くものがあり、Γ(ガンマ)関数による表現という拡張が為されているそうで、x! = Γ(x-1) とか。そこで、海外の電卓では、x! で Γ(x-1) の値を返すという風にしておりますネ。
Γ関数では、Γ(5.5) という計算ができますが、これを 6.5! として計算出来るといいます。
Γ価数の様な「特殊関数」が必要な場面は、それほど多くなさそうですが、最近のグラフ電卓では、t分布などの計算をスパッとこなしてくれるそうで、其の計算の背景では、Γ関数の計算などが入り用になっていて、内部に用意されているらしい。
余計なお世話ながら、python を使ってやれば、整数の階乗計算の「概数」(およその値)を計算する事はできそうです。
次の様なスクリプトを用意しておきます。
def ifac(n):
r=0
for i in range(n):
r=r+math.log(i+1,10)
print(pow(10,r-math.floor(r)),"e",int(r))
return r
ifac(19515)
このまま実行すると 19515! の値を出力します。
Androidスマートフォンの電卓Appsでは、コレ以上の値は「計算できません」でした。
しかし、このスクリプトは概数を計算するだけなので、20000! といった馬鹿げた値も計算可能。
時間さえ掛ければ、もっと大きな値の計算が出来るはずですが、まあ、ココらへんで止めておくのが賢明ではあります。
(余談ですが、最初、log() の所でlog10() を使った所、Python Extra には log10() が無かった、と知り、変更した次第。log() で底を指定できるので、log10() は不要、という割り切りでありましょうか )
今時のスマートフォンは 64bit processor, OS であり、PCでの作業まで代替できるほど、とも言われております。
コンピュータでは CAS が稼働し、数式の計算ですら機械がハンドル可能となっております。
更に生成AIの援用で、実に様々な知見に対する解を即座に得られる利便があります。Cost, Time performance 向上の具として、実に心強いものではありますが、同時に、下手をすると「労働強化」の具にされている様な不審を抱いてしまうのは「生成AIとは無縁な生き方をしているから」ではありましょうか。
2025年は、CASIO fx-CG100 が発売されました。
fx-CG100 は、従来の BASIC 言語を排し、upython 一本に絞った恰好ながらも、同時に 外部 Apps が出来ない構成したそうです。
しかし、世界の Calc Hackers は「風穴」を開ける手段を研究し、今では MPM という成果が公開されております。
2026年は、どうなってくるのでしょうか ?
世界が平和、平穏無事であります様に。( 「そんな事を言う前に、何かオモロイネタでも書けヤ !」と言われれば、仰るとおりではあります。ハンセイ )
そういや、この post が 400本目になっておりました。あーあ。
0 件のコメント:
コメントを投稿