MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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