問題タブ [gmpy]

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 投票する
2 に答える
747 参照

python - gmpy2.mpz を numpy ブール配列に効率的に変換する

gmpy2.mpz から numpy ブール配列に変換しようとしましたが、うまくいきません。(gmpy2: https://gmpy2.readthedocs.io )

その他のテスト:

ところで、実際には、gmpy2.mpz のすべてのセット ビットのインデックスのリスト、配列、または numpy 配列をすばやく取得したいと考えています。私がそれぞれ変換しようとしている実際の 4,777,000 gmpy2.mpz は、760,000 ビットで、約 2,000 ビットが 1 です。コンピューター上の gmp ライブラリーは、インテル icc でコンパイルされました。

ありがとう

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

python - Python - gmpy2 で x のベース y**log ベース y の不一致を回避する方法

次のコード例は、10 乗 10 と 10 乗 11 の間では発生しない問題ですが、コードとその上の例では発生します。

元の値の取得を適切に処理していないコードの場所がわかりません。簡単なことを見逃したのかもしれません。

さまざまな基地xから回復できることを確認する必要があります。log xなどのライブラリ関数に依存するのではなく、たとえばそれが を与えることを保証するgmpy2アンチログアルゴリズムはありますか?2**log2(x)x

ログを直接展開する方法はわかりますが、元に戻す方法はわかりません。たとえば、テイラー級数には多くの項が必要です...どうすればべき乗関数を自分で書くことができますか? と @dan04 返信。コードは次のとおりです。

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

python - Python の多精度有理比較: Fraction、mpq、mpfr

浮動小数点計算はその性質上、正確ではないことを理解しています。多精度配給比較を行うための最良のライブラリ/方法を見つけようとしています。Fraction、mpq、mpfr を比較しています。後の 2 つは gmpy2 ライブラリからのものです。最初のものは分数パッケージからのものです。私はpython3.3を使用しています

これは私が比較に使用したスクリプトです。あまりうまく書かれていませんが、非常に単純なものです。

結果は次のとおりです。

つまり、基本的に Fraction が最も正確であるという結果を得ましたが、非常に遅いです。この質問に対して、私が聞きたかったのは、

  1. 私も試してみるべきだと思う他のケースはありますか?
  2. 他のライブラリ?
  3. 速度が重要な場合、gmpy2 ライブラリを使用して精度を向上させる方法はありますか?
0 投票する
2 に答える
890 参照

python - gmpy2 はインストールされますが、libmpc.so.3 が見つかりません

Python 2.7 で gmpy2 を使用したいのですが、インポートしようとすると次のようになります。

pip: を使用して gmpy2 をpip install -user gmpy2インストールしました。

しかし、その後、インストールは成功したと表示されます。

MPC (1.0.3)、GMP (6.1.1)、および MPFR (3.1.4) をインストールしましたが、それらはすべて動作します。つまり、and を呼び出すことができgcc foo.c -lmpcgcc bar.c -lmpfrコードがコンパイルされ、期待どおりに動作します。pip install を使用して gmpy も動作しています。問題は、sudo権限がないため、デフォルトのディレクトリにインストールされていないことに関係していると思います。

が配置されているディレクトリは、libmpc.so.3pip が吐き出す gcc 呼び出しにCPATHあります。CPPFLAGSmy_prefix/includeLDFLAGSmy_prefix/lib

私は本当にMPCの機能を使いたくないので、gmpy2のその部分をインストールしないという簡単なオプションがあれば、私はそれに満足します.

私は本当に混乱しています.pipがライブラリの構築に失敗し、離れて依存関係をインストールしましたが、通常、ライブラリがpipに渡されると動作します.

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

python-3.x - gmpy2 mpz を bigendian バイト配列 (バイト) に変換する最速の方法は?

私はいくつかの異なるアプローチを試しました。

または x を 256 でダイビングbytearrayし、ループ内で新しいものを構築しますが、通常の python int または gmpy2 c++ の変換と比較して遅く感じます。

mpz_exportc++ にan のようなものはありませんか? これを達成するための最速の方法は何ですか?

編集:変換する必要がある理由bytesは、hashlibハッシュできないためmpzです。mpzの強力な暗号化 (sha256) ハッシュを最初に変換することなく取得する別の高速な方法があれば、それbytesも役立つかもしれません!