Ask Your Question

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

asked 2017-06-21 02:36:32 -0500

ablmf gravatar image

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 flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2017-06-21 03:46:43 -0500

ndomes gravatar image

There are far more simplify methods. expr.simplify? gives a hint:

See also: "simplify_full()", "simplify_trig()", "simplify_rational()", "simplify_rectform()", "simplify_factorial()", "simplify_log()", "simplify_real()", "simplify_hypergeometric()", "canonicalize_radical()"

In this case simplify_trig will do the job.

expr = 1-cos(u)^2
edit flag offensive delete link 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()
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()

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()
dan_fulea gravatar imagedan_fulea ( 2017-06-21 12:29:38 -0500 )edit

answered 2017-06-21 08:30:29 -0500

calc314 gravatar image

Just for completeness -- another option is to use sympy. See for some simplification options.

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

1 follower


Asked: 2017-06-21 02:36:32 -0500

Seen: 171 times

Last updated: Jun 21