問題タブ [singular]

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.

0 投票する
1 に答える
1849 参照

c++ - C/C++ での特異複素正方行列の擬似逆行列 (SVD)

特異複素行列は 2 n x 2 nで、n は 3 です。4 または 5. C/C++ で特異値分解を計算するには?

入力行列 R の形式は Y*Y' で、()' はトランスジュゲートです。

U の固有ベクトルが主な出力です。次の Matlab コードを検討してください。

ほとんどの C/C++ ライブラリ (OpenCV など) は、実数行列に対してのみ逆行列と SVD をサポートしています。非特異の場合

解像度が役立ちます。反転の上半分

複素数の場合、R -1を与えます。ここでは数値的方法が重要であるため、多くの人が、エラーが発生しやすいカスタム ソリューションを実装する代わりに、Armadillo と Eigen を提案しました。

どう思いますか?どちらが良い選択で、その理由は何ですか?

0 投票する
2 に答える
357 参照

c++ - 特異イテレータの代入

「単数反復子」は次のように定義されます。

どのシーケンスにも関連付けられていない反復子。null ポインター、およびデフォルトで構築されたポインター (不定値を保持する) は特異です。

私の質問1は次のようになります。

第二に、私はここで次のように言われました。

ほとんどの式の結果は、特異値に対して未定義です。唯一の例外は、特異値を保持するイテレータの破棄、特異値を保持するイテレータへの非特異値の割り当て、および DefaultConstructible 要件を満たすイテレータの場合、値が初期化されたイテレータをソースとして使用することです。コピーまたは移動操作。

質問2 : 「未定義」の結果を処理することは、未定義の動作を構成しますか? それが本当なら、これは未定義の動作になるようです:

しかし、それはうまくいきます。


この質問をする私のより深い動機は、次のような構造体がある場合です。

これを行うのが未定義の動作であるかどうかを知りたいのですassignedが、 は値で構築されたFooオブジェクトです:

質問12の答えが「はい」の場合、デフォルトの代入演算子を呼び出すことで、未定義の動作が導入されます :(

0 投票する
1 に答える
393 参照

matlab - Matlab 特異行列ソルバー

行列AX=B, and A = 3x3, B=3x1, andAが特異で、B0 以外の数を持つ場合。解決するX

これは解決できますか?

XMATLAB でどのように解決できますか?これを手で解決することは可能ですか?

逆がないAので が特異であることは知っていますが、これらの問題は解けるのでしょうか、それとも単に解けないのでしょうか?det(A) = 0

0 投票する
3 に答える
876 参照

matlab - Matlab - ランダムな正則三角行列を生成する

ランダムな三角行列を生成するにはどうすればよいですか? (上も下も)

通常は使用しますrand(n)が、試しtril(rand(n))てみると単数形になり、それは望ましくありません。

0 投票する
2 に答える
9949 参照

r - 特異行列を解くには?

solveリストに1000を超える行列が必要です。ただし、エラーが発生しますLapack routine dgesv: system is exactly singular。私の問題は、入力データが特異でない行列であることですが、行列で行う必要がある計算に従って、それらのいくつかが特異になることです。ただし、データのサブセットを使用した再現可能な例は、長くなりすぎるため不可能です (既に試しました)。これが私の問題の基本的な例です(Aはいくつかの計算の後の行列であり、Rは次に行う必要がある計算です):

この問題を「解決」する方法、おそらく他の機能のアイデアはありますか? または、まったく異なる結果を作成しないように、特異行列を非常にわずかに変換する方法は? ありがとう

編集: @Roman Susiによると、私がしなければならない関数を(すべての計算で)含めます:

問題は、関数の計算の 8 行目solve(diag(length(p))-A)です。Zここでとの新しいサンプル データを提供できますpが、この例では、エラーを引き起こす例を再作成できなかったため、問題なく動作します。

だから、@Roman Susiによると、質問は次のとおりです:以前に計算を変更して、方程式のdet(diag(length(p))-A)順序で0にならないようにする方法はありますか? solve私が何を望んでいるのか理解していただければ幸いです:) アイデア、ありがとう。Edit2:より簡単に尋ねられるかもしれません: この関数内で特異点を回避する方法 (少なくとも 8 行目より前)?

0 投票する
0 に答える
560 参照

optimization - method="L-BFGS-B " の使用中に最適化でエラーが発生しました。L-BFGS-B には fn の有限値が必要です

3 変量データを使用して 3 変量対数正規分布のパラメーターを推定するために、メソッド L-BFGS-B で 'optim' を使用しています。以下は私が使用したコマンドです。

何回か繰り返した後、「L-BFGS-B には fn の有限値が必要です」というエラーが返されます。これは、パラメーターに対して定義された下限と上限に関係しています。分散共分散行列は特異なものになる傾向があるためだと思います。実行可能な上限と下限を定義して、特異な分散共分散行列を回避するために使用する必要がある一般的なロジックを誰かが提案できますか. したがって、誰かが一般的なルールを提案できれば非常に役に立ちます。よろしくお願いします。

0 投票する
0 に答える
918 参照

r - ハウスマン検定は R に特異点がある

私のデータは「Gap3」と呼ばれるデータフレームに保存され、構造は次のようになります。

欠損値の数は次のとおりです。

寸法は次のとおりです。

私の現在の目的は、固定効果またはランダム効果のどちらを使用するかを決定することです。私のモデル関数と私がしたことを以下に示します:

次に、1 未満の変数を 100 倍して、もう一度手順を実行しましたが、特異点はそのままでした。pGDP3回目の試行でandを削除しましたがI(pGDP^2)、今回はうまくいきました。

とが特異点pGDPを引き起こした理由を誰か教えてもらえますか?I(pGDP^2)

0 投票する
1 に答える
834 参照

unity3d - 特異値分解法 (SVD) を使用して、Unity で 2 セットの 3D ポイントを整列させます

輪郭上の参照点のセットを、対応するターゲット ポイントのセットに変換したいと考えていました。各輪郭には合計 8 つのポイントがあります。

参照点と対応する目標点

回転と平行移動のベクトルを計算するために、Math.Net Numerics ライブラリを使用して SVD 計算を実行しました。アイデアは次のURL から得られました(page 3-7):

しかし、どういうわけか、SVD 計算の結果を使用して行われた変換が不正確に見えることに気付きました。結果は次のとおりです。

SVD から計算された平行移動ベクトルを適用した後のユニティ結果

トランスフォームは、参照ポイントをできるだけ近いターゲット ポイントに移動するはずでしたが、強調表示されているように、ターゲット ポイントから遠く離れています。

さらに、両方の輪郭の重心を計算し、推論を実行する簡単なテストも行いました: (TargetCentroid - RefCentroid = 移動ベクトル)。最終的な変換結果は、SVD を通過した場合と同じです。

私は何か間違ったことをしましたか?参照点を目標点に変換するためのより良い解決策を提案できる人はいますか?

編集: 1.参照モデルからさまざまなターゲットモデルへの衣服の変換

衣替え