MathGroup Archive 2011

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

Search the Archive

Re: DiagonalizableQ

  • To: mathgroup at smc.vnet.net
  • Subject: [mg122109] Re: DiagonalizableQ
  • From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
  • Date: Fri, 14 Oct 2011 05:54:19 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <j765a1$2cg$1@smc.vnet.net>

On Thu, 13 Oct 2011 08:51:29 +0100, Jim Kochanski <jwkochanski at vcu.edu>  
wrote:

> When I cut and paste "DiagonalizableQ[{{0, 1}, {0, 0}}]"
>
>> From the following, which can be found under Applications at
> http://reference.wolfram.com/mathematica/ref/JordanDecomposition.html...
>
>>> Test if a particular matrix is diagonalizable:
>>> In[2]:= DiagonalizableQ[{{0, 1}, {0, 0}}]
>>> Out[2]= False
>
> I get... Out[2]= DiagonalizableQ[{{0, 1}, {0, 0}}] and not False
>
> Can anyone give me some direction on using DiagonalizableQ?
>
> Thanks!
>
> Sincerely,
>
> Jim

This is not a built-in. First define it, as shown in the cell directly  
above the one you are copying from:

DiagonalizableQ[m_?MatrixQ /; Apply[Equal, Dimensions[m]]] :=
  Module[{s, j},
   {s, j} = JordanDecomposition[m];
   Length[
     Cases[ArrayRules[j][[1 ;; -2, 1]], {i_, j_} /; j == i + 1]
   ] == 0
  ];

Then:

DiagonalizableQ[{{0, 1}, {0, 0}}]

False



  • Prev by Date: Re: Taking the Arg of a complex number
  • Next by Date: Help with manipulate and 3D plotting
  • Previous by thread: Re: DiagonalizableQ
  • Next by thread: CUDA XCompiler