問題タブ [maxima]
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.
matrix - Maxima(wx)で行列を操作する
wxMaximaでいくつかの簡単な行列操作を行いたいです。私が直面している問題は、Maximaが常に行列の個々の要素に関して答えを提供することです。次に例を示します。
(A + B)(A + B) `を拡張したいのですが、AとBは2x2の行列です。次に、出力を確認します。
AA` + AB` + BA` + BB`、
しかし、私が得るものは次のような行列です:
[(b2 + a2)^ 2 +(b1 + a1)^ 2 .......]
[.................................. .......](ドットを入れただけですすべての要素を入力する代わりに)
それで、とにかくMaximaにそれらの内部の要素を見ずに行列を操作するように強制することはありますか?
ありがとう
matrix - Maximaで与えられた行列を対角的に支配的にする方法
(配布資料より) ガウス・ザイデル法とヤコビ法が収束するためには、係数行列が対角優勢であるかどうか、つまり、対角要素がその列のすべての要素の中で最大の値を持つ必要があるかどうかを確認する必要があります。 . 対角線がまだ支配的でない場合は、ピボットを使用します。行列が対角優勢であるためには、次の条件が満たされている必要があります: (これは収束とも呼ばれます)
収束を実装するためにマキシマで使用できる定義済みの関数はありますか、またはスワッピングでループを実行する必要があり、どの制約を使用する必要がありますか? 行列のサイズが 3x3 で、要素がゼロでないと仮定します。
関連する質問をいくつか見ましたが、答えはmatlabにあります。
リンク:行列が対角優勢(行優勢)かどうかをチェックする機能はありますか
では、どうすればマキシマでそれを行うことができますか?
maxima - Maxima は、integrate(exp(x^2)) に対してクレイジーな答えを返します
Maxima の使い方を学ぼうとしています。統合で何かがうまくいかない:
どう思いますか?
maxima - Maximaで行列を平坦化する
Maximaで他の行列で構成される行列を平坦化するにはどうすればよいですか?
これが意味するのは、マトリックスを新しいマトリックスの要素として配置すると、基礎となる要素に直接到達できないということです。外側の行列の次元は変わりません!
maxima - 長さ: 引数をシンボルにすることはできません
私は次のコードを持っています:
prob_exp
の具体的な値を指定して呼び出そうとするとs
、たとえば次のようになります。
次のエラー メッセージが表示されます。
強制的に値として渡す方法はありs
ますか?
maxima - maxima のリストに %union を作成します
to_poly_solve
maximaの関数は a を返します%union
が、リストを操作したいです。
うまくいかないので、どうすれば%union
リストに変えることができますか?listify
lambda - 最大値でクロージャを返す関数
最大値でクロージャを返す関数を定義するにはどうすればよいですか?
私の具体的な例:フォームのリストがあります:
等号の前の部分に基づいて要素を抽出したいと思います。
これが私の試みです:
これは私が意図したとおりに機能しました。
実際のリストははるかに長く、コードをコピーして貼り付けたくないので、次のように使用します。
しかし、すでに最初の部分は機能しません:
maxima - Maxima - 変数名に角括弧を使用する
Maxima では、関数を使用して、任意の数の変数x[1]
...で微分方程式系を数値的に解きたいと思い ます。for ループで変数にインデックスを付けることができるように、変数名に角かっこを使用します。n = 2 の場合の呼び出しの例を次に示します。x[n]
rk
rk
残念ながら、次のエラーが表示されます。
とを手動で置き換えるX[1]
とx1
、エラーはなくなります。X[2]
x2
rk
変数名の角括弧が気に入らないようですが、for ループで変数にインデックスを付けるために角括弧が必要です。私は何をすべきか?
lisp - 抽象関数のフレシェ/ガトー微分を計算する言語はどれですか?
完全に明示的ではない関数のフレシェ/ガトー微分を計算するつもりです。私の質問は次のとおりです。それを行うための最も効率的な方法は何でしょうか。どの言語を使用することをお勧めしますか?
正確に言えば、私の問題は、多次元関数のペア(つまり、R^nからR^k)の積の合計のユークリッドノルムの2乗である関数Fなどがあることです。
AFAIK、MapleまたはMaximaを使用する場合、数式に含まれる関数を明示するように求められますが、抽象化したいと思います。次に、式を単純に保つために、フレシェ/ガトー微分を計算する必要があります。実際、私が標準的な方法を進めると、ユークリッドノルムの二乗を二乗和として展開し始め、多くのインデックスがあります。私の目標は、3次までの整数余りを持つテイラー開発を行うことであり、私によれば、式は人間的に実行不可能になります(式は1ページ以上のA4ページです)。
したがって、フレシェ/ガトー微分を使用することをお勧めします。これにより、特に、合計ではなく内積を保持できます。
invloved関数は、それらの導関数といくつかの類似点があるため(指数関数が存在するため)、知っておくべきルールはごくわずかです。ですから、このような数式処理システムを自分で作るのではないかと思いました。
そして、LISPは自分の問題に効果的だと読んだので、学び始めましたが、この言語は非常に異なり、C / Python / Perlの観点から考えることに慣れているため、今は少し迷っています。 ..
ここに別の質問があります:記号計算のための代数システムがどのように作られるかについてのコースや記事へのリンクがありますか(できればLISPで)?どんな提案でも大歓迎です。
ご回答ありがとうございます。
maxima - Maxima: モジュール ezunits は毎回コンパイルが必要です
変換やその他の優れた機能をサポートするユニット パッケージがあることに気付いた今日まで、私は Maxima で偽のユニットを使用してきました。私は ezunits がそのファミリの中で最も完全なパッケージであることを発見しましたが、それに問題があることを発見しました。
使用するたびに、コンパイルする必要があります。つまり、この行を実行するload(ezunits)
と、コンパイル プロセスが開始され、ezunits.mac
ファイルの場所が出力として出力されます。しかし、新しい maxima セッションを開いてload(ezunits)
実行すると、コンパイルが再度実行されます。コンパイルは 1 回だけで、その後はコンパイル済みのファイルをロードするだけで済みます。
これを回避する方法はありますか?