1 | initial version |
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]
)