TRIG_FU

This function applies the Fu et al. trigonometric transformation strategy to rewrite expressions into compact equivalent forms. It explores multiple transformation rules and prefers lower-complexity outcomes.

It commonly exploits identities such as:

\sin^2(x)+\cos^2(x)=1

and sum/product transformations to reduce expression complexity.

Excel Usage

=TRIG_FU(expression)
  • expression (str, required): Trigonometric expression to simplify with Fu rules (expression string).

Returns (str): Fu-simplified expression as a string, or an error message.

Example 1: Simplifies Pythagorean identity with Fu

Inputs:

expression
sin(x)^2 + cos(x)^2

Excel formula:

=TRIG_FU("sin(x)^2 + cos(x)^2")

Expected output:

"1"

Example 2: Combines weighted sine and cosine into shifted sine

Inputs:

expression
sqrt(3)*cos(x)/2 + sin(x)/2

Excel formula:

=TRIG_FU("sqrt(3)*cos(x)/2 + sin(x)/2")

Expected output:

"sin(x + pi/3)"

Example 3: Simplifies exact trigonometric angle value

Inputs:

expression
cos(4*pi/9)

Excel formula:

=TRIG_FU("cos(4*pi/9)")

Expected output:

"sin(pi/18)"

Example 4: Simplifies tangent expression with constants

Inputs:

expression
tan(7pi/18)+tan(5pi/18)-sqrt(3)tan(5pi/18)tan(7pi/18)

Excel formula:

=TRIG_FU("tan(7*pi/18)+tan(5*pi/18)-sqrt(3)*tan(5*pi/18)*tan(7*pi/18)")

Expected output:

"-sqrt(3)"

Python Code

from sympy import sympify
from sympy.simplify.fu import fu as sympy_fu

def trig_fu(expression):
    """
    Simplify trigonometric expressions using the Fu transformation pipeline.

    See: https://docs.sympy.org/latest/modules/simplify/fu.html#sympy.simplify.fu.fu

    This example function is provided as-is without any representation of accuracy.

    Args:
        expression (str): Trigonometric expression to simplify with Fu rules (expression string).

    Returns:
        str: Fu-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_fu(expr_obj)
        return str(result)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Trigonometric expression to simplify with Fu rules (expression string).