Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2013

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

Search the Archive

Re: MathSource Notebook Smith Normal Form Error - How to Correct?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg131568] Re: MathSource Notebook Smith Normal Form Error - How to Correct?
  • From: amzoti <amzoti at gmail.com>
  • Date: Tue, 3 Sep 2013 02:25:44 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-outx@smc.vnet.net
  • Delivered-to: mathgroup-newsendx@smc.vnet.net
  • References: <kvhino$n1b$1@smc.vnet.net> <kvmpbj$56h$1@smc.vnet.net>

On Wednesday, August 28, 2013 11:22:43 PM UTC-7, daniel.l... at gmail.com wrote:
> On Tuesday, August 27, 2013 1:59:04 AM UTC-5, amzoti wrote:
>
> > Hi
>
> >
>
> > I am trying to do Rational Canonical Forms for matrices and there are no built-in things for this and Smith Normal Forms.
>
> >
>
> > I want to calculate the rational canonical matrix and the P such that A = PRP^(-1). This is a generalized variant of the Jordan Form (which I know how to do).
>
> >
>
> > I found this notebook on Math Source from V6: http://library.wolfram.com/infocenter/MathSource/7081/
>
> >
>
> > It would be great if this package could show how the invariant canonical decomposition of [xI - A] was done (row and column operations).
>
> >
>
> > When I download this and try using it, it does not work and I cannot figure out why.
>
> >
>
> > Is there a way to correct this package so it works in Mathematica Version 9?
>
> >
>
> > Did I miss some other command in Mathematica V9 that can do all of this stuff?
>
> >
>
> > Thanks
>
>
>
> What did you actually try? I show a simple example below that appears to give a plausible result (but it's late and I'm not going to check it).
>
>
>
> In[81]:= PolynomialSmithForm[x*IdentityMatrix[3] - {{1,2,3},{3,-1,6},{2,7,1}},x]
>
>
>
> Out[81]= {{{1, 0, 0}, {0, 1, 0}, {0,
>
>    0, -44 - 55 x - x^2 + x^3}}, {{{0, -(1/3), 0}, {4/167, 14/
>
>     167, -(23/167) + (2 x)/167}, {23 + 2 x, -3 + 7 x, -7 + x^2}}, {{1,
>
>      1/3 + x/3, -(929/501) + (98 x)/501 + (23 x^2)/501 - (2 x^3)/
>
>      501}, {0, 1, 73/167 + (25 x)/167 - (2 x^2)/167}, {0, 0, 1}}}}
>
>
>
> Mathematica 9 does not have this type of function. I expect there to be a well hidden way to do it in version 10. That is to say, it will not be in System` context. ControlTheory`, perhaps. That's for the polynomial version. I need to check whether we will also have the integer version there.
>
>
>
> Daniel Lichtblau
>
> Wolfram Research

Thank you Daniel! I got it working.

Is there anyway to coax P^(-1)AP = R (R = rational canonical form) from this?

Thanks



  • Prev by Date: Re: Unprotect[] Protect[] redefining builtin but keep original available
  • Next by Date: Problem with change of variables in an integral
  • Previous by thread: Re: Unprotect[] Protect[] redefining builtin but keep original available
  • Next by thread: Re: MathSource Notebook Smith Normal Form Error - How to Correct?