1 | initial version |

The matrix you defined has coefficients in the Symbolic Ring.

```
sage: theta = SR.var('theta')
sage: assume(theta,'real')
sage: M = matrix([[1,0],[cos(theta),-i*sin(theta)]])/sqrt(2)
sage: M
[ 1/2*sqrt(2) 0]
[ 1/2*sqrt(2)*cos(theta) -1/2*I*sqrt(2)*sin(theta)]
sage: M.parent()
sage: M.parent()
Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring
```

The characteristic polynomial you compute has coefficients in the Symbolic Ring.

```
sage: cp = characteristic_polynomial((M.conjugate_transpose())*M)
sage: cp
x^2 + (-1/2*cos(theta)^2 - 1/2*sin(theta)^2 - 1/2)*x + 1/4*sin(theta)^2
sage: R = cp.parent()
sage: R
Univariate Polynomial Ring in x over Symbolic Ring
```

You can get the list of its coefficients:

```
sage: cp.coefficients()
[1/4*sin(theta)^2, -1/2*cos(theta)^2 - 1/2*sin(theta)^2 - 1/2, 1]
```

You apply `simplify_trig`

to each coefficient.

```
sage: [a.simplify_trig() for a in cp.coefficients()]
[1/4*sin(theta)^2, -1, 1]
```

You can then transform the list back into a polynomial.

```
sage: R([a.simplify_trig() for a in cp.coefficients()])
x^2 - x + 1/4*sin(theta)^2
```

Or you could define `x`

as the generator of the polynomial ring over the Symbolic Ring and do this:

```
sage: x = polygen(SR)
sage: sum(a.simplify_trig()*x^k for k,a in enumerate(cp.coefficients()))
x^2 - x + 1/4*sin(theta)^2
```

2 | No.2 Revision |

The matrix you ~~defined ~~define has coefficients in the Symbolic Ring.

```
sage: theta = SR.var('theta')
sage: assume(theta,'real')
sage: M = matrix([[1,0],[cos(theta),-i*sin(theta)]])/sqrt(2)
sage: M
[ 1/2*sqrt(2) 0]
[ 1/2*sqrt(2)*cos(theta) -1/2*I*sqrt(2)*sin(theta)]
```~~sage: M.parent()
~~sage: M.parent()
Full MatrixSpace of 2 by 2 dense matrices over Symbolic Ring

The characteristic polynomial you compute has coefficients in the Symbolic Ring.

```
sage: cp = characteristic_polynomial((M.conjugate_transpose())*M)
sage: cp
x^2 + (-1/2*cos(theta)^2 - 1/2*sin(theta)^2 - 1/2)*x + 1/4*sin(theta)^2
sage: R = cp.parent()
sage: R
Univariate Polynomial Ring in x over Symbolic Ring
```

You can get the list of its coefficients:

```
sage: coeffs = cp.coefficients()
sage: coeffs
[1/4*sin(theta)^2, -1/2*cos(theta)^2 - 1/2*sin(theta)^2 - 1/2, 1]
```

You apply `simplify_trig`

to each coefficient.

`sage: simp_coeffs = [a.simplify_trig() for a in `~~cp.coefficients()]
~~coeffs]
sage: simp_coeffs
[1/4*sin(theta)^2, -1, 1]

You can then transform the list back into a polynomial.

`sage: `~~R([a.simplify_trig() for a in cp.coefficients()])
~~R(simp_coeffs)
x^2 - x + 1/4*sin(theta)^2

Or you could define `x`

as the generator of the polynomial ring over the Symbolic Ring and do this:

```
sage: x = polygen(SR)
sage: sum(a.simplify_trig()*x^k for k,a in
```~~enumerate(cp.coefficients()))
~~enumerate(coeffs))
x^2 - x + 1/4*sin(theta)^2

All in one line from your definition of cp:

```
sage: cp.parent()([a.simplify_trig() for a in cp.coefficients()])
x^2 - x + 1/4*sin(theta)^2
```

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.