# How to simplify 1-cos(u)^2.

I have tried

sage: assume(0<u<pi/2)


But I still get

sage: simplify(1-cos(u)^2)
-cos(u)^2 + 1

edit retag close merge delete

Sort by » oldest newest most voted There are far more simplify methods. expr.simplify? gives a hint:

In this case simplify_trig will do the job.

var('u')
expr = 1-cos(u)^2
expr.simplify_trig()

more

Note that sometimes the "degree reduction" (of the involved trigonometric polynomial) is the wanted and/or needed "simplification".

The corresponding method is called reduce_trig.

The following sample code shows some differences.

sage: var('u');
sage: a = 1 - cos(u)^2
sage: a.simplify_trig()
sin(u)^2
sage: a.reduce_trig()
-1/2*cos(2*u) + 1/2
sage: a.simplify_trig().reduce_trig()
-1/2*cos(2*u) + 1/2
sage: a.reduce_trig().simplify_trig()
sin(u)^2


With an other example...

sage: b = sin(u)^4 - cos(u)^4
sage: b.simplify_trig()
-2*cos(u)^2 + 1
sage: b.reduce_trig()
-cos(2*u)

more

Just for completeness -- another option is to use sympy. See http://docs.sympy.org/latest/tutorial/simplification.html for some simplification options.

more