Add conjugate() methods to functions cosh, sinh, tanh.
authorVladimir V. Kisil <kisilv@maths.leeds.ac.uk>
Sat, 9 Apr 2011 10:40:38 +0000 (12:40 +0200)
committerRichard Kreckel <kreckel@ginac.de>
Sat, 9 Apr 2011 10:40:38 +0000 (12:40 +0200)
ginac/inifcns_trans.cpp

index 0db69e8..da8b3b0 100644 (file)
@@ -1059,11 +1059,18 @@ static ex sinh_imag_part(const ex & x)
        return cosh(GiNaC::real_part(x))*sin(GiNaC::imag_part(x));
 }
 
+static ex sinh_conjugate(const ex & x)
+{
+       // conjugate(sinh(x))==sinh(conjugate(x))
+       return sinh(x.conjugate());
+}
+
 REGISTER_FUNCTION(sinh, eval_func(sinh_eval).
                         evalf_func(sinh_evalf).
                         derivative_func(sinh_deriv).
                         real_part_func(sinh_real_part).
                         imag_part_func(sinh_imag_part).
+                        conjugate_func(sinh_conjugate).
                         latex_name("\\sinh"));
 
 //////////
@@ -1136,11 +1143,18 @@ static ex cosh_imag_part(const ex & x)
        return sinh(GiNaC::real_part(x))*sin(GiNaC::imag_part(x));
 }
 
+static ex cosh_conjugate(const ex & x)
+{
+       // conjugate(cosh(x))==cosh(conjugate(x))
+       return cosh(x.conjugate());
+}
+
 REGISTER_FUNCTION(cosh, eval_func(cosh_eval).
                         evalf_func(cosh_evalf).
                         derivative_func(cosh_deriv).
                         real_part_func(cosh_real_part).
                         imag_part_func(cosh_imag_part).
+                        conjugate_func(cosh_conjugate).
                         latex_name("\\cosh"));
 
 //////////
@@ -1233,12 +1247,19 @@ static ex tanh_imag_part(const ex & x)
        return tan(b)/(1+power(tanh(a),2)*power(tan(b),2));
 }
 
+static ex tanh_conjugate(const ex & x)
+{
+       // conjugate(tan(x))==tan(conjugate(x))
+       return tanh(x.conjugate());
+}
+
 REGISTER_FUNCTION(tanh, eval_func(tanh_eval).
                         evalf_func(tanh_evalf).
                         derivative_func(tanh_deriv).
                         series_func(tanh_series).
                         real_part_func(tanh_real_part).
                         imag_part_func(tanh_imag_part).
+                        conjugate_func(tanh_conjugate).
                         latex_name("\\tanh"));
 
 //////////