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).