問題タブ [mpmath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3010 参照

python - mpmath 関数が python float を返すようにする方法は?

mpmath 関数を numpy 配列で機能する関数に変換したいと思います。たとえば、次のようなものがあるとしましょう

ただし、配列 A の値は mpmath 型 mpf になります。では、mpmath で関数を取得し、それを numpy 配列に作用できる関数に変換する最速/最良の方法は何ですか? それとも、mpf の配列を numpy float に変換するだけですか? 関数 float() は数値の変換には機能しますが、配列の変換には機能しません。

0 投票する
1 に答える
4242 参照

python - mpmath 行列を numpy ndarray に適切にキャストする方法 (および mpmath.mpf を float に)

いくつかの計算中に精度を上げるために mpmath python ライブラリを使用していますが、結果を numpy ネイティブ型にキャストする必要があります。

より正確には、mpmath 行列 (mpf オブジェクト型を含む) を numpy.ndarray (float 型を含む) にキャストする必要があります。

私は生のアプローチで問題を解決しました:

私の質問は:

それを行うためのより良い/よりエレガントな/より簡単な/賢い方法はありますか?

アップデート:

mpmath のドキュメントを何度も読んで、この非常に便利なメソッドtolist()を見つけました。次のように使用できます。

少し良くてエレガントに見えます(forループは必要ありません)

それを行うより良い方法はありますか?私の 2 番目の解決策は、余分な桁を丸めたり切り捨てたりしますか?

0 投票する
1 に答える
723 参照

python - ヤコビ シータ関数の導関数の実装

Python のヤコビ シータ関数の導関数の実装を探しています。私はこれを見つけました

http://mpmath.googlecode.com/svn/trunk/doc/build/functions/elliptic.html#jtheta

ただし、導関数は間違った引数に対して計算されます。z ではなく、q に関する微分が必要です。これを取得する最良の方法を知っている人はいますか?微分を有限差分で数値的に取るだけではうまくいきません (これを行うと、私が使用している ODE ソルバーがクラッシュします)。

(実際には、可能であれば、z = 0の特別なケースでもそれが必要です。E4 Eisensteinシリーズの同じ質問でも十分です)

ありがとう!

0 投票する
0 に答える
93 参照

python - 関数による mp 配列

StackExchange の皆さん、こんにちは。

私はプロジェクトにライブラリ mpmath を使用していますが、配列に関する助けが必要です。つまり、配列を関数に渡す必要があります。

mpf 要素を含む配列の作成に問題はありません。このコードの抜粋により、まさにそれが可能になります。

ただし、次の行を呼び出すと:

エラーが発生します。関数を介して mpf 要素を持つ配列を渡す方法はありますか?

編集:次のように、各 r1 および r2 関数内でベクトル化を使用してみました:

しかし、それは機能しません。

0 投票する
3 に答える
775 参照

python - 効率的な多倍精度数値配列

Numpy は効率的な数値配列のライブラリです。

mpmath は、gmpy によってサポートされている場合、効率的な多倍数のライブラリです。

それらを効率的にまとめるにはどうすればよいですか?それとも、Numpy 配列と mpmath 番号を使用するだけですでに効率的ですか?

「ネイティブ フロートと同じくらい効率的」を要求するのは意味がありませんが、同等の C コード (または、それが失敗した場合は Java/C# コード) の効率に近づけるように要求することはできます。__add__特に、多倍長数の効率的な配列は、ベクトル化された操作を実行でき、Global Interpreter で 100 万回検索する必要がないことを意味します。

編集:親しい有権者へ:私の質問は、それらをまとめる効率的な方法についてです。可能な重複の答えは、単純なアプローチが効率的ではないことを具体的に指摘しています。

dtype=object の numpy 配列を使用すると、少し誤解を招く可能性があります。これは、標準の dtypes を使用した操作を超高速にする強力な numpy 機構が、デフォルト オブジェクトの python オペレーターによって処理されるようになったためです。つまり、速度が低下します。もう

0 投票する
1 に答える
240 参照

python - Mpmath.meijerg: 引数の順序

私は現在 Meijerg の mpmath ドキュメントを見ています。それは言う

mpmath.meijerg(a_s, b_s, z, r=1, **kwargs) ここに画像の説明を入力 等高線 L の適切な選択として定義された Meijer G 関数を評価します (参考文献を参照)。

  • p 個の要素 a_j があります。引数 a_s は 1 組のリストである必要があります。最初のリストには n 要素 a_1、...、a_n が含まれ、2 番目のリストには pn 要素 a_{n+1}、... a_p が含まれます。
  • q 個の要素 b_j があります。引数 b_s は 1 組のリストである必要があります。最初のリストには m 個の要素 b_1, ..., b_m が含まれ、2 番目のリストには qm 個の要素 b_{m+1}, ... b_q が含まれます。

そこに与えられた2 番目の例には、系列 a、b の 4 つの引数があります。

たとえば、最初の行の場合、これがそれぞれ 1 つの数値を含むセットのペアなのか、[[1],[1]]それとも 2 つの要素と空のセットを持つ 1 つのセットなのかは明確ではありません[[1, 1], []}

紛らわしいことに、言うまでもなく、彼らは混合を行います。2 番目の例の関数を次のように呼び出します。

つまり、最初の 2 つの数値は最初のセットに属しますが、次の 2 つの数値はそれぞれ 1 つのセットに属します。誰かが私に理由を説明できますか? この背後にあるロジックは何ですか?

0 投票する
1 に答える
865 参照

python - mpmath を使用した単純な多項式の根の検索

mpmath.polyroots整数係数 を持つ単純な多項式の根を見つけるために使用しようとしています。x*(x-4)**3これは、展開すると の係数ベクトルを持ち[1, -12, 48, 64, 0]ます。次のコードは失敗します。

エラーで:

ステップ数を増やしても効果がありません。予想される答えは明らかに[0,4,4,4]です。

多重度がある場合、mpmath は多項式の根を見つけることができませんか? どうすればこれを解決できますか?

0 投票する
1 に答える
252 参照

python - mpmath の浮動小数点精度の限界に遭遇しましたか?

mpmath「任意精度の浮動小数点演算」をサポートすると主張しています。

それでも。. .

何か不足していますか?それとも、これは基本的な制限mpmathですか?

@jonrsharpe は、問題は私が に提出したことだと示唆していfloatますerf。ただし、以下のコードは、これが問題ではないことを示しています。

0 投票する
1 に答える
2082 参照

python - Sympy.mpmath.plot で Figure のサイズを変更する

この質問が初歩的すぎないことを願っています。解決策を広範囲に検索しましたが、まだ発見していません。

私は最近、Sympy で Jupyter Notebook を使用してメモを取ったり、微積分 II のクラスで宿題をしたりし始めました (そして、これはなんと大きなメリットでしたか!)。

ただし、私の唯一の問題は、プロット図のサイズ (つまり、ピクセル単位の寸法) を構成する方法を理解できないことです。

matplotlib直接 (matplotlib.pyplot.figure()具体的には)使用するのは簡単ですが、このコースで行っているシンボリック操作にはるかに適しているSympy.mpmath.plotため、モジュールを使用しています。独自のプロットモジュールがあることはSympy知っていますが、これまでのところ、 のほうが使いやすいようです (もちろん、この 1 つの問題を除いて)。Sympympmath

ただし、mpmathドキュメントに目を通し、問題を繰り返しグーグル検索しましたが、解決策はありません。

mpmathAPIを使用して関数をプロットした結果の画像のサイズを変更するにはどうすればよいですか?