/*
Funciones que debe incorporar el tipo de la expresión
abs, fact, exp, log, ln
sin, sinh, asin
cos, cosh, acos
tan, tanh, atan
ctg, actg, sec, asec, csc, acsc
Logaritmos.
Si N, x y b son tres cantidades ligadas por la relación
N=b^x, b>0, b!=1
entonces el exponente x se llama logaritmo de N en la base b y se escribe
x=logb N
El logaritmo de un número negativo no existe en el sistema de los reales; el
logaritmo de cero es indefinido.
Si M y N son dos números positivos, las tres siguientes relaciones son verdaderas:
*/
//suponemos la base de logaritmos es 10
log(x*y)=log(x)+log(y);
log(x)+log(y)=log(x*y);
log(x/y)=log(x)-log(y);
log(x)-log(y)=log(x/y);
log(x^n)=n*log(x);
n*log(x)=log(x^n);//, siendo n un número real
//***log(root(x,n))=(1/n)*log(x);
log(1)=0;
log(10)=1;
log(1/x)=-log(x);
-log(x)=log(1/x);
//suponemos la base de logaritmos es e
ln(x*y)=ln(x)+ln(y);
ln(x)+ln(y)=ln(x*y);
ln(x/y)=ln(x)-ln(y);
ln(x)-ln(y)=ln(x/y);
ln(x^n)=n*ln(x);
n*ln(x)=ln(x^n);//, siendo n un número real
//***ln(root(x,n))=(1/n)*ln(x);
ln(1)=0;
//***ln(e)=1;
ln(1/x)=-ln(x);
-ln(x)=ln(1/x);
//formula del binomio de newton? Granville
//hacer funcion binomio(x+y,n)=expresion nueva
//(x+y)^n=bin(x+y,n), n>0
//El logaritmo de un número en cualquier base puede obtenerse por la relación
//loga N=(logb N)/(logb a), donde a>0, a!=1, b>0, b!=1
//logaritmo base b de x; log significa log10
//logn(x,b)=log(x)/log(b)
//Trigonométricas
csc(x)=1/sin(x);
1/sin(x)=csc(x);
sec(x)=1/cos(x);
1/cos(x)=sec(x);
ctg(x)=1/tan(x);
1/tan(x)=ctg(x);
tan(x)=sin(x)/cos(x);
sin(x)/cos(x)=tan(x);
ctg(x)=cos(x)/sin(x);
cos(x)/sin(x)=ctg(x);
sin(x)^2+cos(x)^2=1;
1+tan(x)^2=sec(x)^2;
sec(x)^2=1+tan(x)^2;
1+ctg(x)^2=csc(x)^2;
csc(x)^2=1+ctg(x)^2;
//Hiperbólicas
/*
sinh(x)=(e^x-e^-x)/2;
cosh(x)=(e^x+e^-x)/2;
tanh(x)=sinh(x)/cosh(x)=(e^x-e^-x)/(e^x+e^-x);
ctgh(x)=1/tanh(x);
sech(x)=1/cosh(x);
csch(x)=1/sinh(x);
cosh(x)^2-sinh(x)^2=1;
e^x=cosh(x)+sinh(x);
e^-x=cosh(x)-sinh(x);
1-tanh(x)^2=sech(x)^2;
ctgh(x)^2-1=csch(x)^2;
sinh(-x)=-sinh(x);
cosh(-x)=cosh(x);
tanh(-x)=-tanh(x);
ctgh(-x)=-ctgh(x);
sech(-x)=sech(x);
csch(-x)=-csch(x);
*/
//...
//Adicion y sustracción
sin(x+y)=sin(x)*cos(y)+cos(x)*sin(y);
sin(x)*cos(y)+cos(x)*sin(y)=sin(x+y);
sin(x-y)=sin(x)*cos(y)-cos(x)*sin(y);
sin(x)*cos(y)-cos(x)*sin(y)=sin(x-y);
cos(x+y)=cos(x)*cos(y)-sin(x)*sin(y);
cos(x)*cos(y)-sin(x)*sin(y)=cos(x+y);
cos(x-y)=cos(x)*cos(y)+sin(x)*sin(y);
cos(x)*cos(y)+sin(x)*sin(y)=cos(x-y);
tan(x+y)=(tan(x)+tan(y))/(1-tan(x)*tan(y));
(tan(x)+tan(y))/(1-tan(x)*tan(y))=tan(x+y);
tan(x-y)=(tan(x)-tan(y))/(1+tan(x)*tan(y));
(tan(x)-tan(y))/(1+tan(x)*tan(y))=tan(x-y);
//Angulo doble
sin(2*x)=2*sin(x)*cos(x);
2*sin(x)*cos(x)=sin(2*x);
cos(2*x)=cos(x)^2-sin(x)^2;
cos(x)^2-sin(x)^2=cos(2*x);
cos(2*x)=1-2*sin(x)^2;
1-2*sin(x)^2=cos(2*x);
cos(2*x)=2*cos(x)^2-1;
2*cos(x)^2-1=cos(2*x);
tan(2*x)=(2*tan(x))/(1-tan(x)^2);
(2*tan(x))/(1-tan(x)^2)=tan(2*x);
//Angulo mitad
sin(x/2)=((1-cos(x))/2)^(1/2);
((1-cos(x))/2)^(1/2)=sin(x/2);
sin(x/2)=-(((1-cos(x))/2)^(1/2));
-(((1-cos(x))/2)^(1/2))=sin(x/2);
cos(x/2)=((1+cos(x))/2)^(1/2);
((1+cos(x))/2)^(1/2)=cos(x/2);
cos(x/2)=-(((1+cos(x))/2)^(1/2));
-(((1+cos(x))/2)^(1/2))=cos(x/2);
tan(x/2)=((1-cos(x))/(1+cos(x)))^(1/2);
((1-cos(x))/(1+cos(x)))^(1/2)=tan(x/2);
tan(x/2)=-(((1-cos(x))/(1+cos(x)))^(1/2));
-(((1-cos(x))/(1+cos(x)))^(1/2))=tan(x/2);
tan(x/2)=sin(x)/(1+cos(x));
sin(x)/(1+cos(x))=tan(x/2);
tan(x/2)=(1-cos(x))/sin(x);
(1-cos(x))/sin(x)=tan(x/2);
//cuadrado de seno y coseno
sin(x)^2=1/2-1/2*cos(2*x);
1/2-1/2*cos(2*x)=sin(x)^2;
cos(x)^2=1/2+1/2*cos(2*x);
1/2+1/2*cos(2*x)=cos(x)^2;
//Relaciones importantes
//a sen x+b cos x=sqrt(a^2+b^2)sen (x+y), donde y=arc tg (b/a)
a*sin(x)+b*cos(x)=(a^2+b^2)^(1/2)*sin(x+atan(b/a));
(a^2+b^2)^(1/2)*sin(x+atan(b/a))=a*sin(x)+b*cos(x);
//a sen x+b cos x=sqrt(a^2+b^2)cos (x-y), donde y=arc tg (a/b)
a*sin(x)+b*cos(x)=(a^2+b^2)^(1/2)*cos(x-atan(a/b));
(a^2+b^2)^(1/2)*cos(x-atan(a/b))=a*sin(x)+b*cos(x);
//para simplificar raíces en denominador
x/root(n,y)=(y^(1-1/n)*x)/y;
(y^(1-1/n)*x)/y=x/root(n,y);
//Transformación de sumas y diferencias de senos y cosenos en productos
sin(x)+sin(y)=2*sin((1/2)*(x+y))*cos((1/2)*(x-y));
2*sin((1/2)*(x+y))*cos((1/2)*(x-y))=sin(x)+sin(y);
sin(x)-sin(y)=2*cos((1/2)*(x+y))*sin((1/2)*(x-y));
2*cos((1/2)*(x+y))*sin((1/2)*(x-y))=sin(x)-sin(y);
cos(x)+cos(y)=2*cos((1/2)*(x+y))*cos((1/2)*(x-y));
2*cos((1/2)*(x+y))*cos((1/2)*(x-y))=cos(x)+cos(y);
cos(x)-cos(y)=-2*sin((1/2)*(x+y))*sin((1/2)*(x-y));
-2*sin((1/2)*(x+y))*sin((1/2)*(x-y))=cos(x)-cos(y);
/*
Granville, lehmann
*/