問題タブ [pari]
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.
python - Python パリ ライブラリ?
Pari/GPは、数論に関連する関数の優れたライブラリです。問題は、Python の最新のラッパーがどこにもないように見えることです ( pari-pythonは古いバージョンの pari を使用しています)。 pari または pari を使用するもの。
SAGE のことは知っていますが、私のニーズには大きすぎます。GMPY も優れていますが、私が見逃しているいくつかの固有の pari 関数があり、提供されている GP 環境よりもむしろ Python を使用したいと考えています。NZMATH、mpmath、scipy、および sympy もすべて考慮されました。
関連するメモとして、pari dll 自体をロードし、そこに含まれる関数を使用することについて何か提案はありますか? それをロードして関数ポインターについて学ぶこと以外は、ほとんど成功しませんでした。
python - Python c_types .dll 関数 (pari ライブラリ)
よし、というわけで、数日前に PARI ライブラリのプリミティブ ラッパーを書いてみることにしました。それ以来、私はctypes
dllをロードし、次のようなコードを使用して含まれている関数にアクセスする際にライブラリをいじっています:
したがって、関数はそこにあり、アクセスできる可能性がありますが、何をしようとしても常にアクセス違反が発生します。例えば:
argtypes
ポインタを受け取るため の設定を含む、そのバリエーション。
Pari .dll は C で記述されており、ライブラリ内のフィボナッチ関数の構文はGEN fibo(long x)
.
これらのエラーを引き起こしているのは戻り値の型でしょうか?それは標準ではなくint
、PARI ライブラリに固有long
の型なのでしょうか? GEN
どんな助けでも大歓迎です。誰かがライブラリを正常にロードし、Python 内から任意の関数を使用できる場合は、教えてください。私はこれで何時間も過ごしました。
編集:ライブラリを初期化するのを忘れていたようです。すぐpari.pari_init(4000000,500000)
にエラーがなくなりました。今私の問題は、それが GEN オブジェクトを返すという事実にあります。これは問題ありませんが、それが指すアドレスを参照しようとすると、常に 33554435 であり、これはまだアドレスであると推測されます。さらにコマンドを試しています。何かの正しい値を取得できたら更新します。
c - paricライブラリを使用したビット演算の実装
私はPARICライブラリを初めて使用します。
GEN型変数に対してビット単位('および'または'または')演算を実行するにはどうすればよいですか?
math - パリ図書館の累乗関数
C 用の PARI ライブラリを使用しようとしています。関数を使用しようとすると、セグメンテーション違反またはスタック オーバーフロー エラーが発生します。PARI のすべての構成要素と関数の詳細な機能のリンクを教えてください。セットとベクトルも使いたいです。xのべき乗のような関数はありますか?
c - C 用の PARI ライブラリを使用する
PARI のすべてのソース コードを入手しましたが、その使用方法や pari ライブラリの生成方法がわかりません。これまで、 を使用して複素数などのヘッダー ファイルをいくつか追加する必要があった#include <complex.h>
ため、PARI を使用する場合も同じ考えだと思います。
コンパイラに pari.h のパスを追加して動作し#include <pari.h>
ますが、ほとんどの場合、「数値定数の前に期待される ')'」を含む他のエラーの膨大なリストを作成しますparicfg.h
。
私は間違いなく間違っています。Linuxコマンドを使用してインポートするライブラリファイルを作成する半自動化された方法があることは知っていますが、私はWindowsを使用しており、cmdを介して必要なファイルを実行できるかどうかわかりません.
PARIを利用するにはどうすればよいですか?
c - WindowsでCode::Blocksを使用してCで多精度数学ライブラリをコンパイルする
私はこれを行う方法を理解するのに多くの問題を抱えています。Cでの数学には、任意精度のライブラリが必要です。インストールしたCLNまたはPARI/GPのどちらでも問題ありません。私はWindowsを使用しているので、Cygwinを介してこれを実行し、。/ Configureファイルを実行してから、makeinstallを実行する必要がありました。
すべてが構築されていますが、すべてをリンクして使用する方法がわかりません。Code :: Blocksを使用していますが、必要なヘッダーファイルをインクルードしようとすると、エラーが大量に発生します。また、.aファイルをライブラリにリンクしますが、ヘルプもありません。ヘッダーファイルは非常に多くのエラーを作成します。
誰かが私にこれをどのように機能させることができるかについての概要を教えてもらえますか?
build - PARI/GP と gcc
PARI/GP をインストールしようとしていますが、構成ステップで次のようになります。
ドキュメントに次のように記載されているため、これは奇妙です。
g++ でも試してみましたが、同じ結果が得られました。
Linux x86_64 でコンパイルしようとしています。
何か案は?前もって感謝します、
M;
perl - perl @INC でモジュール Math::Pari のロード可能なオブジェクトが見つかりません
私の環境では正常に実行される perl スクリプトを作成しましたが、クライアント環境では失敗します。
use lib 'Math'; を追加しようとしました。Math-Pari-2.0305_01080605 モジュールのコンテンツが含まれていますが、うまくいきません:/
クライアントが自分で cpan パッケージをインストールすることを望んでいません。完全に環境に依存しない製品でなければなりません。
私のコードの大部分は Net-SSH-Perl-1.35 に依存しているため、「Net-SSH-Perl-1.35」からの切り替えは避けたいと思っています。
10倍前倒し!
更新:私は物事を明確にするために更新を書き直しています:
私の出発点は、次のライブラリでした。
以下を出力します。
BEGIN が失敗しました -- コンパイルが中止されました ...
それを修正するために、次のステートメントを追加しました。
lib 'Math-Pari-2.010709' を使用します。
そしてエラーは次のように変わりました:
これは Math-Pari-2.010709 の内容です:
数学-Pari-2.010709/数学:
Math-Pari-2.010709 にはもともとフォルダ Math が存在しなかったので、それを作成し、Perl が探していた場所に Math-Pari-2.010709 のコンテンツを移動しました。
この段階で追加しました: Math::Pari を使用
しかし、違いはないようです:
これまでのすべての試みをまとめたものです。
助けていただければ幸いです!
exception - パリ/GP 例外/ブレーク ループ
ellpow(E, P, m) は常に例外をスローします。
ここで、x と y は整数です。
後で使用するために、プログラムを終了せずに値 x をトラップしたい。
コードのスニペットは次のとおりです。
プログラム全体は次のとおりです。