[Date Index]
[Thread Index]
[Author Index]
Matrix decomposition with NullSpace and QRDecomposit
*To*: mathgroup at smc.vnet.net
*Subject*: [mg64139] Matrix decomposition with NullSpace and QRDecomposit
*From*: Tobias Burnus <burnus at gmx.de>
*Date*: Thu, 2 Feb 2006 00:06:45 -0500 (EST)
*Sender*: owner-wri-mathgroup at wolfram.com
(Retried - this time w/o attachment; forget to de-attach it before
sending the mail - sorry.)
Hello,
I have a Hermitian matrix of the form
( A B )
( B' C ) =: M
(B' = Transpose[B]), of which I want to bring B (5×18) into this form
{D, O} =
d11 d12 d13 d14 d15 0 0 0 0 0 0 0 0 0 0 0 0 0
d21 d22 d23 d24 d25 0 0 0 0 0 0 0 0 0 0 0 0 0
d31 d32 d33 d34 d35 0 0 0 0 0 0 0 0 0 0 0 0 0
d41 d42 d43 d44 d45 0 0 0 0 0 0 0 0 0 0 0 0 0
d51 d52 d53 d54 d55 0 0 0 0 0 0 0 0 0 0 0 0 0
where O should be zero. For a simple case I succeeded using
Q = QRDecomposition[B]
L = NullSpace[Transpose[B]], (see below)
but it fails for a more complicated case - there not all (O)ij are zero.
(See http://www.physik.fu-berlin.de/~tburnus/tmp/MatrixDecomposition.nb )
This is with Mathematica 5.2.
It works if I set pds1=pds2=...=pds6 and pdp1=...pdp6.
Any ideas?
Besides, does anyone know a quick way to get D Hermitian, currently it
has triangular form.
Tobias
Excerpt from the notebook
--------
HC1 = (.... the matrix ...)
HC1C := HC1[[Range[1, 5], Range[6, 23]]]
Q = QRDecomposition[
Transpose[HC1C]][[1]]
L = NullSpace[HC1C]
T = IdentityMatrix[Length[HC1]];
T[[Range[6, 6 + Length[Q] - 1],
Range[6, Length[HC1]]]] = Q;
\!\(\(T\[LeftDoubleBracket]Range[6 + Length[Q], Length[HC1]],
Range[6, Length[HC1]]\[RightDoubleBracket]\ = \
Table[L\[LeftDoubleBracket]i\[RightDoubleBracket]\/\@\(\(Conjugate[L]\)\
\[LeftDoubleBracket]i\[RightDoubleBracket] . L\[LeftDoubleBracket]i\
\[RightDoubleBracket]\), {i, 1, Length[L]}];\)\)
T=Assuming[
pd\[Sigma]1<0&&pd\[Pi]1>0&&pd\[Sigma]2<0&&pd\[Pi]2>0&&pd\[Sigma]3<0&&
pd\[Pi]3>0&&pd\[Sigma]4<0&&pd\[Pi]4>0&&pd\[Sigma]5<0&&pd\[Pi]5>0&&
pd\[Sigma]6<0&&pd\[Pi]6>0,FullSimplify[T]];
myHC1 = T.HC1.Transpose[T] // FullSimplify
Prev by Date:
**Re: Trying to animate the rotation of a plane about an axis using dynamic visualizer - MoviePlot3D.nb (0/1)**
Next by Date:
**Re: Trying to animate the rotation of a plane about an axis using dynamic visualizer - MoviePlot3D.nb (0/1)**
Previous by thread:
**New MathCode Functionality Expands Options for Prototyping C++ and Fortran 90 Applications in Mathematica**
Next by thread:
**Re: Matrix decomposition with NullSpace and QRDecomposit**
| |