問題タブ [symmetric]
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.
cuda - (A - B(D^-1)B^T)^-1 を CUDA で計算する
CUDA Cを使用して次の式を計算する最も効率的な方法は何ですか?
(A - B(D^-1)B^T)^-1
ここで、Dは非常に大きな対称行列で、Aは小さな対称行列です。これにより、BとB^Tは中サイズの長方形の非対称行列になります。もちろん、(^-1) と (^T) はそれぞれ逆演算と転置演算です。
python - Pythonの複雑な対称行列
Python で複雑な対称行列を対角化しようとしています。
numpy と scipy の linalg ルーチンを見てみましたが、それらはすべてエルミート行列または実対称行列のいずれかを扱っているようです。
私が探しているのは、最初の複雑な対称行列の高木因数分解を取得する方法です。これは基本的に標準の固有分解 S = VDV^-1 ですが、開始行列 S が対称であるため、結果の V 行列は自動的に直交する必要があります。つまり、VT = V^-1 です。
助けはありますか?
ありがとう
linear-algebra - 3x3 のみの対称正定線形システムの場合、Cholesky は Householder よりも高速ですか?
対称正定Ax=b
でA
ある線形システムを解こうとしています。3x3
規模は小さいですが、A
何百万回も繰り返す必要があります。したがって、効率は依然として重要です。
線形システム (C++、Eigen 経由) には多くのソルバーがあります。私は個人的に好きです:HouseholderQr().solve()
、llt().solve()
およびldlt().solve()
。
n
が非常に大きい場合、コレスキー分解に基づくソルバーはハウスホルダーのソルバーよりも高速であることを知っています。しかし、私の場合、n
が 3 しかない場合、それらの相対的な効率をどのように比較できますか? float operation
正確な分析のための公式はありますか?
ありがとう
r - R 対称行列に関数を適用
apply
関数セットの1 つを利用して計算を行いたいと思います。
まず、2 つの行列がmat1
ありmat2
ます。
mat1
:
mat2
:
mat2
ここでは無関係な関数を使用して計算されます。基本的に、データが少ない(したがって精度が低い)場合に結果にペナルティを課すmat1
重み関数を適用したいと思います。mat1
mat2
x,y
したがって、これを達成するために、 の座標についてmat2
、 の 2 つの列のペアごとの完全性を計算したいと考えていますmat1
。
例:mat2["a","b"]
またはmat2["b","a"]
(同じである必要があります) は、元の値 * ( および の完全な行/およびmat1
の合計行)になります。a
b
mat1
a
b
したがって、実際の問題は、すべての列に対してすべての列をループする行列 (二重ループ) に関数を適用し、これを重み行列に格納して別の行列に対して乗算するにはどうすればよいかということです。
rollapply
from packageを使用して、zoo
次のように2 つの行を比較できます。
私は得る:
のように、a と b を比較すると 2 行が完了し、b と c を比較すると 1 行が完了します。では、a と b、a と c、b と c を比較するにはどうすればよいでしょうか。
ありがとう。
r - Rの整数値が制限された対称行列で最大の行列式を見つける
R を使用して、対称 3x3 行列が持つ可能性のある最大の行列式を見つけようとしています。そのすべてのエントリは、整数のセット {1,2,3,4,5,6} に含まれていますか?
これについてどうすればいいですか?
r - Rは列のすべての組み合わせを取得し、それらに対して関数を実行して対称行列を返しますか?
mat
次のようなマトリックスがあります。
そして、関数 を適用して、これから対称行列を作成したいと思いますSum(Col1-Col2)
。最終結果は次のようになります。
空白が差の合計を表すように。すなわち[1,2] = Sum(A-B)
。
次のような方法を調査しました。
しかし、それは私に良い対称行列を与えません。
誰にもアイデアはありますか?
ありがとう。
編集 - トロイのおかげで上記の作品。Sum((Col1-Col2)^2)
しかし、その中で計算したい場合はどうですか(したがって、最初にSum(((A_1,A_2,..,A_n)-(B_1,B_2,..,B_n))^2)
合計してから減算することはできません。そうしないと、答えがオフになります)。A
B
r - R 正方行列のベクトル化を高速化
いくつかのコードをスピードアップするのを手伝ってくれる人:
観測とオブジェクトmat
のNxM
行列はどこにありますか。たとえば、次のとおりです。N
M
LinReg
と定義されている:
基本的に、のオブジェクト (つまりObj1, Obj2
と)のすべての組み合わせに対して回帰分析 (OLS) を実行し、パッケージの関数を使用して. 最終結果は、すべての対称行列です(ただし、実際には 100% 対称ではありません。詳細については、こちらを参照してください)。それでも十分です。Obj2,Obj3
Obj1, Obj3
mat
adf.test
tseries
p-value
sym.pr
p-values
上記のコードでは、600x300
マトリックス (600 個の観測と 300 個のオブジェクト) で、約 15 分かかります。
対称行列の上三角のみを計算することを考えましたが、どうやってそれを行うのかわかりません。
何か案は?
ありがとう。
r - R - 重複するリストの組み合わせ?
重複のあるリストのすべての組み合わせを取得するにはどうすればよいですか。重複とは、それ自体を持つ要素を意味します。対称行列を構築しています。
結果は次のとおりです。
私が欲しいとき:
あるいは:
しかし、私の行列は大きいので、より多くの組み合わせ=より多くの計算=より長い実行時間..
ありがとう。