問題タブ [quad]
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 - quadpy IntegrationError: Tolerances (abs: 1.49e-08, rel: 1.49e-08) は、指定された max_num_subintervals (= 50) で到達できませんでした
私は quadpy を使用して Python に関数を統合しています。
関数
関数は周期的で、これはそのプロットです:
問題
私はこの機能を統合しようとしています:
生産する
0 から 3 までの間隔で、すべて正常に動作します。ただし、間隔をたとえば 4 に増やしても、scipy は引き続き機能します。
生産する
しかし
生産する
質問
- このエラーを防ぐにはどうすればよいですか? という引数を追加しようとしました
max_num_subintervals
が、うまくいかないようでした。 - 私がやろうとしていることに正しく quadpy を使用していますか? scipy がサポートしていない複素数の導関数を取得したかったので、それを使い始めました。万能のソリューションが必要なため、scipy で十分なこれらの簡単な例には quadpy を使用します。
python - SymPy のシンボリック微分を SciPy の Quad Integration パッケージと接続する方法はありますか?
私は最近、SciPy のクワッド積分を使用して 2 変数関数を 1 つの変数に関して積分する方法を学びました。たとえば、関数 f(x,y) があるとします。f(y)を得るために、xについて積分しました。次に、f(y) と y 値の NumPy 配列をプロットしました。ここでは問題ありません。ただし、元の被積分関数をヤコビ行列 (ヤコビ行列の各エントリの各関数も x と y の関数) で乗算したいと考えています。
今は完全に概念化できない問題は、偏微分を元のコードに組み込む方法です。これにより、最初の 2 変数関数が非常にきれいに統合されました。SymPy がシンボリック積分の優れたオプションであることは承知していますが、別の関数で乗算された結果と互換性のある方法でヤコビアンを評価する方法がわかりませんでした (これには導関数が必要であるという事実のため)。 、その製品を統合します。SymPy 関数を対応する NumPy 関数に変換する代わりに、 SymPy 関数を SciPy のクワッド統合で使用できる関数に変換するlambdifyの形式はありますか? それとも彼らの別の一般的な慣行ですか?
提案に従って、私の苦境が何であるかを最もよく説明するサンプルコードを含めました。これが「最小限の例」のガイドラインに従わない場合は、コメントしてください。これを修正します。ご覧のとおり、最初のブロックでは、SciPy と NumPy を使用して、元の関数を統合してプロットしました。2 番目のブロックでは、SymPy を使用して 2 つの別個の関数を微分し、ヤコビアンを計算しました。最終的に、結果のヤコビ行列 (2 番目のブロック) を元の関数 (最初のブロック) で乗算したいと考えています。この新しい機能 (2 つの製品) を取得したら、同じ統合手順を簡単に実行したいと思います。ここに添付 --> 1は、このアイデアを実行しようとしたときに表示されるエラー メッセージのスクリーンショットです (これは予期されていたことです)。これをよりよく説明するために何かできることがあれば教えてください。ありがとうございました!
python - fsolve と quad の統合を含む Python コードでの数学ドメイン エラー
このコードで数学ドメイン エラーが発生します。しかし、同じ関数F
が別のプログラム (私は使用しませんでしたfsolve
) でもドメイン エラーなしで動作します。
次のエラーが表示されます。