問題タブ [determinants]
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.
matlab - Matlab:ベクトルの行列式
私は2x2の行列を持っており、その各要素は1x5のベクトルです。このようなもの:
今、私は行列式を見つけたいのですが、これは起こります
これで、なぜこれが発生するのかがわかります。MATLABは、Aをdoubleの2x10行列と見なします。xをベクトルではなく要素として扱えるようにしたい。私が欲しいのはdet(A) = x^2 - x^4
、それからB = det(A)
1x5ベクトルとして取得することです。
どうすればこれを達成できますか?
computational-geometry - 平面ベースの幾何学の記号摂動
縮退したケースの処理を避けるために、「 Simplicity of Simplicity」(SoS) のようなシンボリック摂動スキームを 4 点オリエントのような幾何学的述語に適用できることを私は知っています。ポイントが3つの平面の交点によって暗黙的に定義される平面ベースのジオメトリでも同じことを行うことも有効であると想定しているため、ポイントが定義された4番目の平面のどちら側にあるかを示す同様の方向述語を使用できます最初の3つの嘘で。点のデカルト座標ではなく、平面方程式の係数を乱します。
問題は、点が多くの異なる平面によって定義される可能性があることです。立方体の各頂点は 3 つの平面で定義されますが、ピラミッドの頂点には 4 つの平面があります。SoS のようなスキームでは一貫性がすべてのように見えますが、ポイントを定義するためにどの 3 つの平面を選択するかが重要かどうかわかりません。そのポイントを参照するたびに、同じ 3 つのプレーンを使用する限り、そうではないかもしれません。
では、質問: 点を表すために任意の 3 つの平面を選択できますか?
前もって感謝します。
matrix - 行列式を計算する
次のアルゴリズムが私に示している理由に驚いています、その行列は可逆ではありません、私は入力単位行列を持っています、これが決定因子を計算するための私のコードです
c - パイプ関数を介してCで計算する行列式行列。リビジョンコード
プログラムの開発は、次の問題の1つであるIPCメカニズムを使用して実行されます。方法-「チャネル」。正方行列の行列式の計算を、低次の行列式に展開して実装します。「マスター」プロセスはジョブ「ドリブン」プロセスを送信しますが、後者は決定要因の計算を実行してから、メインプロセスの結果を計算します。つまり、パイプ関数を使用する必要があります。私は動作中のプログラムを持っていますが、IPCメカニズムがありません。パイプの機能とその仕組みについてはわかりません。
java - ジャマ-行列式を見つけるとき、行列は正方形の例外でなければなりません
行列にJamaを使用するのは初めてです。私の問題は、det()
(クラスに関連する)メソッドを使用しているときにLUDecomposition
それが与えること"Matrix must be square"
です。さて、私の行列は三角形ですが、それでLUDecomposition
正方行列が得られるはずです。このような私のコード
c++ - 多次元配列の再帰と動的メモリ割り当てを使用して、NxN 行列の行列式を見つける
サイズに関係なく NxN 行列の行列式を計算できるプログラムを作成しようとしていますが、プログラムに問題があり、サイズが 1 より大きい行列でクラッシュします。
私が間違っていることを教えてくれる人にはとても感謝しています。私はC++と動的メモリが初めてなので、気楽にやってください(:.
これが私のプログラムです:
build - SDK/libs などを使用せずにアプリ (x86 または x64) のビルドを決定する方法
プログラムのビルドを決定したい。実行されているかどうかはわかりません。また、SDKや.net fwなどの準備が整ったものを使用せずに、コードでそのようなことを正確に判断したいと考えています...
どうやってするの?
質問は正確な言語に関するものではありません。プレーン/ピュアC、Lisp、Basicなどへの参照があります...
私が知りたいのは「sdkなどのヘルプを使わない判断」です。
PSお願いします!注意を払う。「dmesg」、「dumpbin」などのコンソールとユーティリティを使用して、「sdk のような準備ができていない」ことを強調しました... また、この Q では意味がありません。他のプログラムからの助け。
c++ - 任意のサイズの行列の定行列と逆行列を見つける C++ プログラムを作成するにはどうすればよいですか?
1x1 2x2 および 3x3 でこれらを見つける方法は知っていますが、マトリックスの次元を入力してから、マトリックスに入る数値を入力できるプログラムを作成したいと考えています。数値を入力した後、行列の定値 (取得できる場合) と逆行列を指定したいのですが、次元部分をどのように移動するかわかりません。これを始める良い方法は何ですか?どのヘッダーを使用すればよいですか? 私は Linux で実行しているので、Windows のようなヘッダーはありません。:)
algorithm - nの行列式を取る効率的な方法!xn!Mapleのマトリックス
私は大きな行列nを持っています!xn !、行列式を取る必要があります。nの順列ごとに、関連付けます
- 長さ2nのベクトル(これは計算上簡単です)
- in 2n変数の多項式(nで再帰的に計算された線形因子の積)
行列は、ベクトルでの多項式の評価行列です(点として考えられます)。したがって、行列のsigma、tauエントリ(順列によってインデックス付けされます)は、tauのベクトルで評価されたシグマの多項式です。
例:n=3
の場合、i
th多項式が(x1 - 4)(x3 - 5)(x4 - 4)(x6 - 1)
で、j
thポイントが(2,2,1,3,5,2)
、の場合(i,j)
、行列のthエントリは。になります(2 - 4)(1 - 5)(3 - 4)(2 - 1) = -8
。ここn=3
で、ポイントはにR^(3!) = R^6
あり、多項式には3!=6
変数があります。
私の目標は、行列が正則であるかどうかを判断することです。
今の私のアプローチはこれです:
- 関数
point
は順列を取り、ベクトルを出力します - 関数
poly
は順列を取り、多項式を出力します - 関数
nextPerm
は辞書式順序で次の順列を与えます
私のコードの要約された擬似コードバージョンはこれです:
組み込み関数を使用してMapleで作業していLinearAlgebra[Determinant]
ますが、それ以外はすべて、低レベルのMaple関数(、、など)を使用するカスタムビルドseq
関数convert
ですcat
。
私の問題は、これには時間がかかりすぎることです。つまりn=7
、辛抱強く立ち上がることができますが、取得にn=8
は数日かかります。理想的には、に到達できるようにしたいと思いますn=10
。
誰かが私が時間を改善する方法についてのアイデアを持っていますか?私はMatlabやCなどの別の言語で作業することを受け入れていますが、Maple内でこれを高速化する方法を見つけたいと考えています。
これはすべての厄介な詳細なしでは答えるのが難しいかもしれませんが、各関数のコード、たとえば、、point
はpoly
すでに最適化されているので、ここでの本当の問題は、行列式を構築することによって行列式を取得するより速い方法があるかどうかです。飛ぶ、またはそのようなもの。
更新:これは私がいじった2つのアイデアが機能しないものです:
多項式を長さのベクトルに格納し(計算に時間がかかるため、やり直したくない)、
n!
その場で点を計算し、これらの値を順列式に代入することができます。行列式の場合:ここでの問題は、これが
O(N!)
行列のサイズにあることです。したがって、私の場合、これはになりますO((n!)!)
。いつn=10
、(n!)! = 3,628,800!
それはやることを検討するのにさえ大きな方法です。LU分解を使用して行列式を計算します。幸い、私の行列の主対角線はゼロ以外なので、これは実行可能です。これは
O(N^3)
マトリックスのサイズであるため、O((n!)^3)
実行可能にはるかに近いものになります。ただし、問題は、マトリックス全体を保存する必要があることです。これにより、メモリに深刻な負担がかかり、実行時間を気にする必要がありません。したがって、これも機能しません。少なくとももう少し賢くなければ機能しません。何か案は?
c# - n*n行列の決定要素
私はここにあるコードとアルゴリズムを実装しようとしています:
行列式 とここ: 行列式を計算する方法は?n*nまたは単に5*5
しかし、私はそれに固執しています。
私の最初の質問は、このアルゴリズムが実際にどのルールを使用するかです(数学には行列式を計算できるルールがいくつかあるので)-アルゴリズムが正しく適用されているかどうかを最初に確認したいと思います。
私の2番目の質問は、3x3と4x4の場合は正常に機能するように見えますが、5x5の場合はNaNが得られるため、私が間違ったこと(つまり、実装)またはアルゴリズム自体の問題です。結果は、いくつかのオンライン行列式計算機でチェックされ、5x5を除いて問題ありません。
これは私のコードです: