問題タブ [symbolic-math]
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.
wolfram-mathematica - 単純?Mathematica7でのメッセージパッシング
割り当て/.C1z[[1]]は、私が期待するように動作しません。この現象が何と呼ばれているのかさえわかりません(これはグーグルを非常に難しくします)。
C1zは、定数とA1[z]に関してC1[z]の正しい値を保持しますが、「それをeq2にプラグインしようとすると」機能しないようです。
ご協力ありがとうございました。
haskell - SymPy のような Haskell ライブラリ?
1 + sqrt(3) のような式を操作し、加算、減算、除算などの基本的な算術演算を行う必要があります。マップのキーとして使用できるように、結果を何らかの標準形式にしたいと考えています。丸めの問題により、1 + sqrt(3) を float に変換することはできません。
Python でのこのタスクには SymPy を使用しました。Haskell に相当するネイティブ ライブラリはありますか?
matlab - シンボリック ソルバーで特定の変数のみを解く
3 つの変数と 5 つの定数を使用して、MATLAB で連立方程式を解こうとしています。定数を記号として保持し、それらを数値に置き換えずに、solve を使用して 3 つの変数を解くことは可能ですか?
equation - 関連する方程式を解くアルゴリズム
私は、一般的な方程式ソルバーを作成するプロジェクトに取り組んでいます...これが、演算子とともにテーブル変数名に保存される25〜30の方程式の形をとると想像してください。
次に、変数が欠落している方程式を解くためにこのテーブルを呼び出し、演算子/他の部分を欠落変数の反対側に移動します
たとえば、2x+ 3y=z で、x に変数がない場合。y と z の値で方程式を呼び出し、x=(z-3y)/2 を解くように変換します。
方程式は、線形、多項式、バイナリ (はい/いいえの結果) の可能性があります...
利用可能な軽量ライブラリを入手できるかどうか、またはこれをゼロから構築する必要があるかどうかはわかりません...ポインタやガイダンスをいただければ幸いです
matlab - Matlabで区分的シンボリック関数を構築する
Matlabで区分的シンボリック関数を生成しようとしています。シンボリックでなければならない理由は、後で関数を統合/区別したり、実際の値を挿入したりできるようにするためです。私は次の機能を持っています:
たとえば、この関数を変数(たとえば、f)に入れてから、
(スカラー)結果2/3を取得します。
piecewise()関数やシンボリック比較など、さまざまなことを試しましたが、何も機能しませんでした...お手伝いできますか?:-)
math - Maple で -infinity から infinity への積分を実行する
Maple で次の積分を実行しようとしています。
しかし、Maple は答えを返す代わりに、積分ステートメント自体を返すだけです。
ただし、よりきれいな形式で(実際の積分記号などを使用して)。「simplify()」を削除しようとしましたが、違いはありません。
それはなぜですか?値を返す必要があります。
f# - ClojureとF#のシンボリック数学計算
次のF#サンプルに出くわし、興味をそそられました。
http://www.codeproject.com/KB/net-languages/SymbolicCalcInFS.aspx
Clojureには、このようなことを簡単に行うための言語/ライブラリ機能がありますか?数式が簡単になる場合は、数式にポーランド記法を強制してもかまいません。
ありがとう、そして質問があれば私に知らせてください。
wolfram-mathematica - mathematica の非可換変数の単純化と再配置
要するに、p1
、p2
、q1
およびの間の乗算を含む式があり、式を対称形式にするためにをq2
使用したいと思います。[qi,pi]=ii*hb
i={1,2}
(pi^a*qi^b+qi^b*pi^a)/2
たとえば、単純化といくつかの置換を使用しますp2*q2*p2^2
。しかし、ルールを指定し、1 と 2 の変数が通勤することを指定しましたが、(p2*q2^3+q2^3*p2)/2 + 1/2*ii*p2^2*hb
単純化することはできません。q2*q1^2*p2
q2*p2-> (p2*q2+q2*p2)/2 +ii/2*hb
詳細については、Mathematica のコードを次に示します ( quantum パッケージを使用しています)。
このコードは、インデックスが 1 または 2 の場合は機能しますが、両方のインデックスが使用されている場合は機能しません。
p2*q2*q1*q2
はさらに単純化できますが、 があるp2*q1*q2^2
のでMathematica はそれをしません。p2*q2*q2
q1
さらに詳しく:この論文の付録 (式 A2) の方程式を取得できる Mathematica コードを作成しようとしていますが 、これは私が使用しているコードです。後者のファイルのコードは、上記のコードも実行できなかったため、上記のコードとは少し異なりますが、理想的です。
最後に、4 乗またはそれ以上の他の種類のハミルトニアンの最終的なコードを使用したいと思います。
的を絞った単純化を行うことができるパッケージの書き方を学ぶ方法についてアドバイスをいただければ幸いです。
clojure - Clojure のための計算機代数
短いバージョン: x のシーケンスを効率的に生成できるように、関数 f(x) の値が不変である x の変換 (順列、回転など) を指定できる Clojure コードに興味があります。 r = f(x) を満たします。Clojure 用のコンピューター代数の開発はありますか? (些細な)例として
(preimage f #{0}) を呼び出すと、効率的に #{3 4 7} が返されます。当然、コドメインに正しく注釈を付けることもできます。助言がありますか?
より長いバージョン: Clojure 用のコンピューター代数の開発について知りたいと思わせる特定の問題があります。誰かが私にそのようなプロジェクトを教えてもらえますか? 私の特定の問題は、F(x) = r を満たす単語のすべての組み合わせを見つけることです。ここで、F はランキング関数であり、ra は正の整数です。私の特定のケースでは、 f は合計として計算できます
F(x) = f(x[0]) + f(x[1]) + ... f(x[N-1])
さらに、s の a、b、S の s に対して f(a)=f(b) となるように、素集合 S = {s_i} のセットがあります。したがって、F(x) = となるすべての x を生成する戦略r は、この F の因数分解と、各 s_i の下での f の不変性に依存する必要があります。つまり、合計が r になる S の要素を含むサイトのすべての順列を計算し、各 s_i の要素のすべての組み合わせでそれらを構成します。これは、次のように非常にずさんに行われます。
これにより、仕事は完了しますが、根底にある全体像が失われます。たとえば、連想演算が合計ではなく積である場合、一部を書き直す必要があります。
r - R で連立方程式を解く
方程式を記号的に解くことは、Ryacas ライブラリを使用して R で実現できます。例えば
与える
連立方程式を (記号的に) 解く方法を知っている人はいますか?
ありがとうございました。