TRIG_TRIGSIMP
This function simplifies trigonometric expressions by applying known identities and structural rewrites. It can reduce combinations of sine, cosine, tangent, and related functions into more compact equivalent forms.
Common identities used in simplification include:
\sin^2(x) + \cos^2(x) = 1
and angle/ratio rewrites such as \tan(x)=\frac{\sin(x)}{\cos(x)}.
The method option controls which simplification strategy SymPy applies.
Excel Usage
=TRIG_TRIGSIMP(expression, inverse, trigsimp_method)
expression(str, required): Trigonometric expression to simplify (expression string).inverse(bool, optional, default: false): Allow aggressive inverse-function cancellation (true/false).trigsimp_method(str, optional, default: “matching”): Simplification strategy name.
Returns (str): Simplified expression as a string, or an error message.
Example 1: Simplifies sine-cosine Pythagorean identity
Inputs:
| expression |
|---|
| sin(x)^2 + cos(x)^2 |
Excel formula:
=TRIG_TRIGSIMP("sin(x)^2 + cos(x)^2")
Expected output:
"1"
Example 2: Simplifies tangent as sine over cosine ratio
Inputs:
| expression | trigsimp_method |
|---|---|
| sin(x)/cos(x) | matching |
Excel formula:
=TRIG_TRIGSIMP("sin(x)/cos(x)", "matching")
Expected output:
"tan(x)"
Example 3: Allows inverse cancellation when requested
Inputs:
| expression | inverse |
|---|---|
| asin(sin(x)) | true |
Excel formula:
=TRIG_TRIGSIMP("asin(sin(x))", TRUE)
Expected output:
"x"
Example 4: Uses Fu strategy to simplify expression
Inputs:
| expression | trigsimp_method |
|---|---|
| sqrt(6)cos(x) + sqrt(2)sin(x) | fu |
Excel formula:
=TRIG_TRIGSIMP("sqrt(6)*cos(x) + sqrt(2)*sin(x)", "fu")
Expected output:
"2*sqrt(2)*sin(x + pi/3)"
Python Code
from sympy import sympify, trigsimp as sympy_trigsimp
def trig_trigsimp(expression, inverse=False, trigsimp_method='matching'):
"""
Simplify a trigonometric expression using identity transformations.
See: https://docs.sympy.org/latest/modules/simplify/simplify.html#sympy.simplify.trigsimp.trigsimp
This example function is provided as-is without any representation of accuracy.
Args:
expression (str): Trigonometric expression to simplify (expression string).
inverse (bool, optional): Allow aggressive inverse-function cancellation (true/false). Default is False.
trigsimp_method (str, optional): Simplification strategy name. Valid options: Matching, Groebner, Combined, Fu, Old. Default is 'matching'.
Returns:
str: Simplified expression as a string, or an error message.
"""
try:
expr_text = expression.replace("^", "**") if isinstance(expression, str) else expression
expr_obj = sympify(expr_text)
result = sympy_trigsimp(expr_obj, inverse=inverse, method=trigsimp_method)
return str(result)
except Exception as e:
return f"Error: {str(e)}"Online Calculator
Trigonometric expression to simplify (expression string).
Allow aggressive inverse-function cancellation (true/false).
Simplification strategy name.