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.