Ask Your Question

Smith-McMillan Form of a polynomial matrix

asked 2013-11-06 09:24:44 +0200

gundamlh gravatar image

updated 2013-11-06 09:57:19 +0200

tmonteil gravatar image
sage: s = var('s')
sage: G = matrix([[1,-1],[s^2+s-4,2*s^2-s-8],[s^2-4, 2*s^2-8]])

G is a symbolic matrix, each entry of which is a polynomial of variable s.

How can we calculate the Smith McMillan Form of the matrix G?

NOTE: G.smith_form() doesn't work.

Thanks in advance!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-11-06 10:11:52 +0200

tmonteil gravatar image

You should avoid symbolic expressions as possible and work with genuine polynomials instead:

sage: R.<s> = PolynomialRing(QQ) ; R
Univariate Polynomial Ring in s over Rational Field
sage: G = matrix([[1,-1],[s^2+s-4,2*s^2-s-8],[s^2-4, 2*s^2-8]])
sage: G.parent()
Full MatrixSpace of 3 by 2 dense matrices over Univariate Polynomial Ring in s over Rational Field
sage: G.smith_form()
[         1          0]  [           1            0            0]
[         0 3*s^2 - 12]  [-s^2 - s + 4            1            0]
[         0          0], [           s           -1            1],

[1 1]
[0 1]
edit flag offensive delete link more


Thanks! I haven't taken a math course like "computer algebra" or "abstract algebra". Can I extend the smith_form() to "basic ring := Complex Field", i.e., R. = PolynomialRing(CC), G = the same expression, G.smith_form() (it doesn't work)... ERROR: NotImplementedError: Smith form over non-exact rings not implemented at present

gundamlh gravatar imagegundamlh ( 2013-11-06 12:29:23 +0200 )edit

As explained in the error message, you need to use an exact ring, not a numerical ring, probably because of uncontrolled roundings in such a case. What you can do is to use `QQbar`, the field of (complex) algebraic numbers. It is exact and quite huge.

tmonteil gravatar imagetmonteil ( 2013-11-06 17:28:34 +0200 )edit

Thanks a lot! I should read a lecture book about basic computer/abstract algebra.

gundamlh gravatar imagegundamlh ( 2013-11-07 03:15:26 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-11-06 09:24:44 +0200

Seen: 1,211 times

Last updated: Nov 06 '13