- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Hi
Can anyone help in determining the function call in IMKL 10.1 (using C and Visual Studio 2008) to do a polar decomposition of a deformation gradient matrix F that is 3 by 3.
I need to determine the rotation matrix such that F = RU
If anyone knows please advice,
Thanks
Marcias
コピーされたリンク
1 返信
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Given the SVD (singular value decomposition)
A = W S V*
you can obtain the left polar decomposition
A = U P
using
P = V S V*
U = W V*
Similarly, you can obtain the right polar decomposition (which is what you sought)
A = P U
using
P = W S W*
and
U = W V*
as before. Please note that the factors P in the left and right polar decompositions are different.
MKL/Lapack provides routines to perform the SVD. You may consider the intended application of the polar decomposition to see if you can use P and U in factorized form instead of forming them explicitly. In particular, if you are going to multiply some vector by P or U, you can accomplish that with two or three matrix-vector multiplications, avoiding the more costly matrix-matrix multiplications that are involved in explicitly forming P and U.
A = W S V*
you can obtain the left polar decomposition
A = U P
using
P = V S V*
U = W V*
Similarly, you can obtain the right polar decomposition (which is what you sought)
A = P U
using
P = W S W*
and
U = W V*
as before. Please note that the factors P in the left and right polar decompositions are different.
MKL/Lapack provides routines to perform the SVD. You may consider the intended application of the polar decomposition to see if you can use P and U in factorized form instead of forming them explicitly. In particular, if you are going to multiply some vector by P or U, you can accomplish that with two or three matrix-vector multiplications, avoiding the more costly matrix-matrix multiplications that are involved in explicitly forming P and U.