[Date Index]
[Thread Index]
[Author Index]
Re: Diagonalizing a non-Hermitian Matrix
*To*: mathgroup at smc.vnet.net
*Subject*: [mg58831] Re: Diagonalizing a non-Hermitian Matrix
*From*: "Carl K. Woll" <carlw at u.washington.edu>
*Date*: Wed, 20 Jul 2005 00:29:28 -0400 (EDT)
*Organization*: University of Washington
*References*: <dbd0d3$2ni$1@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
"Ituran" <isturan at gmail.com> wrote in message
news:dbd0d3$2ni$1 at smc.vnet.net...
> Hi,
>
> I have the following problem. There is a given non-Hermitian matrix M.
> Let's take an example in 2x2 dimension M={{1,2+4*I},{2-5*I,1}}.
> To diagonalize it we need 2x2 unitary matrices U and V such that
>
> U.M.Vdag = Md =Diag(3.8304,6.0273).
>
As mentioned by Pratik Desai, it looks like you want the singular value
decomposition. To find the singular value decomposition in version 4, use
SingularValues
mat={{1,2+4I},{2-5I,1}};
In[4]:=
{u,d,v}=SingularValues[N[mat]]
Out[4]=
{{{0.540257 + 0.0182125 I, 0.31559 + 0.779868 I}, {0.84012 + 0.0446021
I, -0.193047 - 0.504918 I}}, {6.02729, 3.83038},
{{0.841303 + 0. I, 0.219544 + 0.493974 I}, {-0.540564 + 0. I, 0.341685 +
0.768792 I}}}
The output satisfies
In[5]:=
Conjugate[Transpose[u]] . DiagonalMatrix[d] . v == mat
Out[5]=
True
Note that the output of SingularValues (in version 4) is different from the
output of SingularValueDecomposition (in version 5). In version 5, we have
{u,d,v}=SingularValueDecomposition[N[mat]];
In[6]:=
(u.d.ConjugateTranspose[v] // Chop) == mat
Out[6]=
True
Carl Woll
Wolfram Research
[snip]
Prev by Date:
** Re: Extract Coefficients of Fourier Series**
Next by Date:
**Re: Functional equations for HermiteH[n,x]**
Previous by thread:
** Re: Diagonalizing a non-Hermitian Matrix**
Next by thread:
**Re: Diagonalizing a non-Hermitian Matrix**
| |