# wrong answer from solve?

```
var('t')
test3 = -4*cos(t)^4 + 4*cos(t)^2 - 1
sage: solve(test3==0,t)
[]
```

When actually the equation is equivalent to (cos(t))^2 = 1/2 and it does have solutions.

wrong answer from solve?

```
var('t')
test3 = -4*cos(t)^4 + 4*cos(t)^2 - 1
sage: solve(test3==0,t)
[]
```

When actually the equation is equivalent to (cos(t))^2 = 1/2 and it does have solutions.

add a comment

1

```
sage: solve(test3==0,t,to_poly_solve=True)
[t == 1/4*pi + 1/2*pi*z35]
```

You do have to read the documentation of `solve?`

to see this option. It's not default because sometimes it will not return exact solutions.

So then, if solve returns [], that does not mean "there are no solutions". It means, "I didn't find any solutions". Similarly, if it does return a list of solutions, I guess that means "Here are the solutions I found", rather than, "Here are all the solutions." If this is the case, the documentation should say so up front. It says, "if there are no solutions it returns an empty list" but says nothing about the converse.

Asked: **
2016-01-22 10:03:04 -0600
**

Seen: **79 times**

Last updated: **Jan 22 '16**

Solution of ODE expressed with hyperbolic trigonometric function

use output of solve() without 'var == '

Find linear combinations that meet certain criteria

cannot evaluate symbolic expression numerically

obtaining all numerical roots of a function in an interval

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.