数学

メモ_Pythonでグラフ構造のダミーデータを生成しjsonで保存して関係図を描画する

Pythonでグラフ構造のダミーデータを生成しjsonで保存して関係図を描画するまでの一連のメモです。コード例も。 ダミーデータ生成: 以下のような仕様でダミーデータを生成します。 ノード : User_idエッジ : relative、friend、acquaintanceプロパティ : 氏…

y-cruncherをUbuntu22で動かしてみた

y-cruncherという有名な円周率計算ソフトがあります。Windows版以外に、Linux版もあるので、試しにUbuntu22で動かしてみました。pythonで出来るだけ高速に大きな桁の円周率を求める方法を調べていたのですが、y-cruncherを実行して出力をそのまま利用するの…

メモ_4次魔法陣の全組み合わせ(880通り)のデータ(text,json)

個人的な取り組みで手元にて生成した4次魔法陣の全組み合わせ(880通り)のデータ一式 https://github.com/cicikero/my_data/tree/main/magic_square

メモ_Pythonでの小数点計算の計算速度を、float、decimal、fractionそれぞれで比較してみた。

Pythonに限った話ではありませんが、コンピューターで小数点の計算をさせると誤差が生じるため、期待通りの計算結果が得られないことがあります。 例えば、0.1+0.2 は 0.3 ではなく、0.30000000000000004 となります。 10進数小数を正確に計算するためにdeci…

メモ_Pythonで期待通りに四捨五入できない場合

pythonでround関数で小数点以下の数値を 四捨五入しようとすると、正確に計算されないケースがあります。 Round関数で四捨五入がうまくいかないケースを実際に試してみた結果: 下記の結果は、たしかに2.68ではなく、2.67になります。 f = 2.675 print(round(…

ChatGPTに、任意の桁数の円周率を計算するPythonコードを書いてもらった

ChatGPTに、任意の桁数の円周率を計算するPythonコードを書いてもらいました。 mpmathという高精度演算ライブラリを使って、非常にシンプルなコードになりました。 コード: import mpmath # 計算する桁数を指定 mpmath.mp.dps = 10000000 # 円周率を計算 pi …

ChatGPTに、ライプニッツ級数で円周率を計算しnumbaの有無を比較するPythonと、比較用にcでのコードを書いてもらった

ChatGPTに、numbaの有り無しでの処理速度を比較するため、ライプニッツ級数で円周率を計算するPythonとcのコードを書いてもらいました。 指示文(プロンプト): ライプニッツ級数を用いて、円周率を計算するPythonコードを提示してください。和の上限を10^9と…

ChatGPTにジュリア集合を描画するPythonコードを書いてもらった

ChatGPTにジュリア集合を描画するPythonコードを書いてもらいました。 指示文(プロンプト): ジュリア集合を描画するPythonプログラムを提示してください。できるだけ高速に描画するコードにしてください。 回答: Pythonプログラムを提示します。 このプログ…

ChatGPTに最大公約数と最小公倍数を求めるPythonコードを書いてもらった

ChatGPTに最大公約数と最小公倍数を求めるPythonコードを書いてもらいました。 世界最古のアルゴリズムとして知られている「ユークリッドの互除法」を使う有名な問題です。 指示文(プロンプト): 任意の2つの自然数の最大公約数と最小公倍数を求めるpythonコ…

ChatGPTにコラッツ予想を検証するプログラムを書いてもらった

ChatGPTにコラッツ予想を検証するプログラムを書いてもらいました。 コラッツ予想(コラッツ問題)は、「ある自然数について、偶数なら2で割る、奇数なら3かけて1足すという動作を繰り返すと、どんな自然数でもいつかは1になる」という予想で、数論の未解決…

ChatGPTにできるだけ高速にフィボナッチ数列を求めるコードを書いてもらった

ChatGPTにできるだけ高速にフィボナッチ数列を求めるコードを書いてもらいました。 これはよくプログラミングとかアルゴリズムの例題として取り上げられるテーマです。 ChatGPTへの指示文: Pythonでフィボナッチ数列を求めるプログラムを書いてください。で…

ChatGPTに「大学生でも間違える小学生の算数の計算」として有名な問題を解いてもらった。

ChatGPTに、「大学生でも間違える小学生の算数の計算」として有名な問題を解いてもらった。以下がその問題です。 ChatGPTへの問題 : 「40-16÷4÷2」の答えは? 最初の回答 : 「40-16÷4÷2」を計算する順序は、左から右ではなく、一定の優先順位に従います。…