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