# Límites, derivadas y diferenciales

## Límites en una variable

limit( 1/(1+x^2), x, inf);
limit( (1+sin(x) - %e^x)/(atan (x)*atan (x)), x, 0); 
limit( %e^(1/cos(x)), x, %pi/2,plus);
limit( %e^(1/cos(x)), x, %pi/2,minus);

tlimit( 1/(1+x^2), x, inf); /* le forzamos a usar desarrollos de Taylor */
tlimit( (1+sin(x) - %e^x)/(atan (x)*atan (x)), x, 0);
tlimit( %e^(1/cos(x)), x, %pi/2,plus);

## Derivadas y diferenciales

### Derivadas y derivadas parciales

print("Derivadas respecto de una variable")$
diff( sin(x),  x);
diff( cos(x),x,3);      /* derivada de orden 3 respecto de x */
diff( y*cos(x),x,2);    /* derivada de orden 2 respecto de x */ 

print("Derivadas parciales")$
'diff( y^3*cos(x)^2,x,1,y,2) = diff( y^3*cos(x)^2,x,1,y,2);

También es posible realizar derivación simbólica

kill(f)$    
diff( f(x,y),x,1,y,2 );   
diff( exp(f(x)), x,2);

print("Maxima representa a dx como:   del(x). Lo mismo las otras")$
print("Derivación de un símbolo indicando la dependencia de variables")$
depends(F,[x,y])$    
'diff( F ) = diff( F );

Una función vectorial de R² en R³

g(x,y):=[x^3,x^2+y^2,exp(x+y)];
diff(g(x,y));

print("Algunas derivadas simbólicas y su evaluación")$
'diff(x^2*cos(x^3),x)= ''diff(x^2*cos(x^3),x);
'diff(x^2*cos(x^3),x,3)=''diff(x^2*cos(x^3),x,3);
'diff(exp(x^2+y),x,2,y,1)= diff(exp(x^2+y),x,2,y,1);

## Jacobiano y hessiano

print("Jacobiano para f de R² en R, concreta y una abstracta")$
f(x,y):= -(x^2+y^2); 
jacobian([f(x,y)],[x,y]); 
ev(%,[x=1/2,y=1/2]);
kill(f)$ jacobian([f(x,y)],[x,y]); 


print("Jacobiano para f de R² en R²: concreta y abstracta")$
jacobian ([sin (u - v), sin (u * v)], [u, v]);
jacobian ([F(x,y), G(x,y)],[x,y]);


print("Hessiano para una función concreta y una abstracta")$
hessian  (x * sin (y), [x, y]);
depends (F, [x,y]); 
hessian (F, [x, y]);