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