Búsqueda de puntos crı́ticos y elaboración de gráficas de funciones de varias variables con Mathematica R Jorge Garza Universidad Autónoma Metropolitana. División de Ciencias Básicas e Ingenierı́a. Departamento de Quı́mica. San Rafael Atlixco 186. Col. Vicentina. Del. Iztapalapa. C.P. 09340. México, D. F. Como es sabido Mathematica es un programa que permite hacer múltiples operaciones y procedimientos de las matemáticas, uno de estos procedimientos es el de hacer gráficas de una o varias variables con instrucciones sencillas. Por supuesto que el uso de Mathematica no está restringido al uso solamente de los matemáticos ya que puede ser usado en cualquier rama de las ciencias básicas, ingenierı́as, economı́a, etc. Como veremos a lo largo de este trabajo, con unas cuantas instrucciones de este programa podemos generar gráficas que pueden llegar a ser un reto intentarlas hacer con papel y lápiz. Seguiremos la convención de muchos textos de Mathematica en donde el tipo de letra para las instrucciones de este software será en courier. En este trabajo decidimos usar Mathematica por varias razones: Recibido: 14 de febrero 2007 Aceptado: 23 de abril 2007 Resumen En este trabajo se presenta el uso del programa computacional Mathematica para analizar funciones que dependen de varias variables. En particular, se presenta la manera de elaborar gráficas de estas funciones y las gráficas que resultan de la búsqueda de sus puntos crı́ticos cuando se imponen restricciones. Se presenta también el uso de la técnica de multiplicadores de Lagrange y su fácil implementación con este programa. I. Introducción Algunas asignaturas de ciencias básicas e ingenierı́as involucran temas donde hay funciones de varias variables [1,2]. En muchas ocasiones no es sencillo elaborar y visualizar las gráficas de dichas funciones y, mucho menos hacer un análisis de la búsqueda de sus máximos y mı́nimos cuando hay restricciones impuestas por algún problema a resolver. Evidentemente la búsqueda de máximos y mı́nimos es un tema que se encuentra en muchas aplicaciones de las ciencias básicas e ingenierı́as, basta mencionar la búsqueda de pozos petroleros o la búsqueda de la estructura óptima de una proteı́na como ejemplos de actualidad en donde se presenta este tema. La intención de este trabajo es hacer uso de algunos comandos de Mathematica v5.2 para elaborar gráficas de funciones que dependen de dos variables y también gráficas en donde se intersectan las mencionadas funciones con funciones que representan restricciones en la búsqueda de puntos crı́ticos: máximos, mı́nimos o puntos silla. Ası́ como el de obtener los puntos crı́ticos cuando se imponen o no restricciones. De esta manera se pretende contribuir a tener una herramienta adicional para la exposición de estos temas en el salón de clase. 1. Es un programa que puede realizar gráficas en tres dimensiones de manera sencilla. 2. Puede trabajar de manera algebraica. 3. Se encuentra en desarrollo permanente. 4. La Universidad Autónoma Metropolitana ofrece cursos donde se usa este programa y lo pone a disposición de cualquier miembro de la comunidad universitaria para usarlo dentro de sus instalaciones. Sin embargo, es importante mencionar que existen programas que hacen cosas similares a Mathematica y que pueden ser usados para desarrollar el tema que aquı́ se presenta. II. Definición de funciones de dos variables y sus gráficas Lo primero que haremos será definir en Mathematica una función de dos variables, por ejemplo: In[1]:= f[x ,y ]=x∧ 2(x∧ 2-1)+y∧ 2(y∧ 2-1); 55 56 ContactoS 64, 55–60 (2007) 1 0.5 0 -0.2 1 -0.4 0.5 -1 0 0 -0.5 -0.5 0 -0.5 0.5 1 -1 Figura 1 -1 -1 Recordemos que para ejecutar una instrucción en Mathematica debemos de accionar la tecla Intro, en teclados extendidos, o simultáneamente las teclas Shift y Enter en teclados limitados. Cualquier duda sobre el uso de Mathematica puede ser disipada al consultar el libro que se encuentra incluido en la ayuda que proporciona el programa, en donde se puede encontrar una introducción básica o avanzada del paquete computacional. Para poder ver la gráfica asociada a esta función usaremos la instrucción Plot3D en el rango de y In[2]:= g1=Plot3D[f[x,y],{x,-1,1}, {y,-1,1}]; Otra forma de graficar a la función f (x, y) se puede obtener con el comando ContourPlot para poder ver las curvas de nivel de esta función In[3]:= ContourPlot[f[x,y],{x,-1,1}, {y,-1,1}] En esta última gráfica las zonas claras representan los valores más grandes de la función y las zonas obscuras los valores más pequeños. Es claro de estas dos gráficas que nuestra función de ejemplo exhibe un máximo en (0,0) y cuatro pozos alrededor de éste. III. Búsqueda de puntos crı́ticos en funciones de dos variables Para poder caraterizar los puntos crı́ticos de la función f (x, y) es importante recordar los criterios de máximos y mı́nimos de una función que depende de dos variables: En un punto crı́tico ∂f (x, y) ∂f (x, y) = =0 ∂x ∂y -0.5 0 0.5 1 Figura 2 Para poder saber si un punto crı́tico se encuentra en un máximo, mı́nimo o punto silla es necesario considerar los criterios de la Tabla 1. Apliquemos estos criterios a nuestra función. Lo primero que haremos será encontrar los puntos crı́ticos, para esto tenemos que encontrar las raı́ces de las funciones que resultan de derivar a la función con respecto a x y con respecto y. Para esto usaremos las instrucciones Solve[ ] y D[ ]. In[4]:= puntos = Solve[{D[f[x,y],x]==0, D[f[x,y],y]==0},{x,y}] n n o Out[4]= {x → 0, y → 0}, x → 0, y → − √12 , n o n o x → 0, y → √12 , x → − √12 , y → − √12 , o n o n x → − √12 , y → √12 , x → √12 , y → − √12 , n o n o x → √12 , y → √12 , y → 0, x → − √12 , n oo y → 0, x → √12 Del resultado anterior vemos que la función exhibe 9 puntos crı́ticos ya que encontramos nueve raı́ces. Ahora evaluemos las segundas derivadas en cada uno de estos puntos crı́ticos. Ya que las coordenadas de los puntos crı́ticos se han guardado en el arreglo puntos podemos hacer uso de ellos. Si deseamos la coordenada x del cuarto punto crı́tico tenemos que usar simplemente la instrucción: In[5]:= puntos[[4, 1]] Búsqueda de puntos crı́ticos y elaboración. . . Jorge Garza 57 Tabla 1. Criterios para determinar puntos crı́ticos en funciones de dos variables. Punto crı́tico Máximo Mı́nimo Punto silla ∂ 2 f (x,y) ∂x2 ∂ 2 f (x,y) ∂y 2 <0 >0 < 0 ó > 0 <0 >0 > 0 ó < 0 Out[5]= x → − √12 delta = ∂ 2 f (x,y) ∂ 2 f (x,y) ∂x2 ∂y 2 − ∂ 2 f (x,y) ∂x∂y 2 >0 >0 <0 Tabla 2. Puntos crı́ticos de la función y si queremos solamente el valor de x es necesario hacer uso del operador de reemplazo /. [3,4]. In[6]:= x /. puntos[[4,1]] Out[6]= − √12 2 Entonces para evaluar ∂ f∂x(x,y) en las coordenadas 2 del cuarto punto crı́tico tendremos que usar la instrucción In[7]:= D[f[x,y],{x,2}]/.x → x /. puntos [[4,1]] /.y→ y/.puntos[[4,2]] Out[7]= 4 Con este procedimiento también podemos obtener el valor de delta In[8]:= D[f[x,y],{x,2}] D[f[x,y],{y,2}](D[f[x,y],x,y])∧ 2/.x→x/. puntos[[4,1]]/.y→ y/.puntos[[4,2]] Out[8]= 16 en este caso se debe de escribir toda la instrucción en una lı́nea. Ası́ como hicimos el análisis para el cuarto punto crı́tico, se puede hacer para cualquier otro. A continuación se propone el mismo procedimiento definiendo la variable cont para cambiarla dependiendo del punto crı́tico a analizar: In[9]:= cont=2; segenx = D[f[x,y],{x,2}]/.x→ x/. puntos[[cont,1]]/.y→ y/. puntos[[cont,2]]; segeny= D[f[x,y],{y,2}]/.x→ x/. puntos[[cont,1]]/.y→ y/. puntos[[cont,2]]; cruzada = D[f[x,y],x,y]/.x→ x/. puntos[[cont, 1]]/.y→ y/. puntos[[cont,2]]; delta = segenx*segeny-(cruzada)∧ 2; Print["Punto crı́tico ", cont]; Print["Segunda derivada en x = ", f (x, y) = x2 (x2 − 1) + y 2 (y 2 − 1) Punto Crı́tico 1 2 3 4 5 6 7 8 9 ∂ 2 f (x,y) ∂x2 ∂ 2 f (x,y) ∂y 2 delta −2 −2 −2 4 4 4 4 4 4 −2 4 4 4 4 4 4 −2 −2 4 −8 −8 16 16 16 16 −8 −8 segenx]; Print["Segunda derivada en y = ", segeny]; Print["delta = ", delta ]; Out[9]= Punto crı́tico 2 Segunda derivada en x = −2 Segunda derivada en y = 4 delta =−8 Este procedimiento fue aplicado para el punto crı́tico 2 pero basta cambiar el valor de cont para obtener la Tabla 2. De esta tabla podemos concluir que existen 4 mı́nimos, 1 máximo y 4 puntos de silla. Lo que hemos discutido para nuestra función de ejemplo se puede aplicar a cualquier otra función de varias variables. Se pueden encontrar varios ejemplos de este tipo en la Referencia 4. IV. Búsqueda de puntos crı́ticos con restricciones En muchas ocasiones es necesario buscar los puntos crı́ticos de nuestra función de estudio imponiendo restricciones que demanda el problema en sı́. Un problema tı́pico es: Encuentre el volumen máximo de una caja sin tapa cuya área de la superficie sea de 40 cm2 [2]. Sabemos que el volumen de la caja es V = xyz, donde x representa el largo, y el ancho y 58 ContactoS 64, 55–60 (2007) 0 -0.2 -0.4 -0.6 -0.8 -1 -1 0 1 0.5 -0.2 1 -0.4 0.5 0 -1 0 -0.5 -0.5 -0.5 0 -0.5 0 0.5 0.5 1 -1 1 -1 Figura 4 Figura 3 z la altura. Además, el área de la superficie se obtendrá de: A = xy + 2xz + 2yz Evidentemente tenemos que maximizar a V pero debemos tomar en cuenta que A =constante. La solución de este problema la dejaremos para el final de esta sección y haremos un análisis similar para nuestra función f (x, y). 0 -0.2 -0.4 -0.6 -0.8 -1 -1 1 0.5 0 -0.5 IVa. Graficando una restricción y la función f (x, y) Geométricamente se puede plantear la restricción como la proyección de su gráfica sobre la superficie que describe la función f (x, y). Vamos a suponer que queremos encontrar los puntos crı́ticos de f (x, y) sobre la curva que describe la función x2 + y 2 = 1. Lo primero que vamos a hacer es la gráfica de la función x2 + y 2 = 1 en tres dimensiones, para poder proyectarla después sobre la función f (x, y). Para esto vamos a usar la instrucción ParametricPlot3D, lo que sı́ debemos tomar en cuenta es que en coordenadas polares la ecuación de una circunferencia puede ser escrita como cos2 t + sen2 t = 1, con t variando de 0 a 2π: In[10]:= x[t ] = Cos[t]; y[t ]=Sin[t]; g2 = ParametricPlot3D[{x[t],y[t],0}, {t, 0, 2Pi}, PlotRange→{-1,0}]; En este caso hemos hecho la gráfica de tal manera que la circunferencia quede ubicada en z = 0. La búsqueda de puntos crı́ticos en este caso es similar a ir siguiendo la trayectoria de la circunferencia pero sobre la superficie que describe f (x, y). -0.5 0 0.5 1 -1 Figura 5 Podemos sobreponer ambas gráficas con la instrucción Show In[11]:= Show[g1, g2]; Lo que pretendemos hacer con la búsqueda de estos puntos crı́ticos es similar a tratar de caminar sobre la circunferencia y observar los cambios en f (x, y). Otra manera de hacer el análisis es proyectar la circunferencia a lo largo del eje z y observar la intersección de esta gráfica con la función f (x, y). Para hacer esto usamos nuevamente ParametricPlot3D In[12]:= g3 = ParametricPlot3D[{x[t], y[t],v}, {t,0,2Pi},{v,-1,0}, PlotRange→{-1,0}] Finalmente podemos sobreponer ambas gráficas In[13]:= Show[g1,g3] Búsqueda de puntos crı́ticos y elaboración. . . Jorge Garza 59 parámetro t para ser enfáticos, pero no era necesario ya que se habı́an definido previamente. 0 -0.25 -0.5 -0.75 -1 -1 1 0.5 0 -0.5 -0.5 0 0.5 1 -1 Figura 6 Entonces la función que debemos de analizar es aquella que resulta de la intersección entre la proyección de la circunferencia sobre f (x, y). Por supuesto que hemos usado una forma de visualizar la intersección, sin embargo existe una forma mas sencilla de hacerlo. Simplemente tenemos que poner la dependencia explı́cita de y en x o de ambas variables en términos de un parámetro, en nuestro caso ese parámetro es t, y luego sustituir en f (x, y), lo cual es muy sencillo en Mathematica In[14]:= x[t ] = Cos[t]; y[t ] = Sin[t]; ParametricPlot3D[{x[t],y[t],f[x[t], y[t]]},{t,0,2Pi},PlotRange→{-1,0}]; 0 -0.2 -0.4 -0.6 -0.8 -1 -1 1 0.5 0 -0.5 -0.5 0 0.5 1 -1 Figura 7 Observando la Figura 7 podemos ver que existen 8 puntos crı́ticos: 4 máximos y 4 mı́nimos. En este caso definimos nuevamente a x y a y en términos del IVb. La técnica de los multiplicadores de Lagrange Podemos trabajar con la ecuación que resulta de sustituir x(t) y y(t) en la función f (x, y) y luego encontrar los puntos crı́ticos. Sin embargo, recordemos que la técnica de multiplicadores de Lagrange evita hacer este procedimineto ya que en muchas ocasiones no es fácil escribir a la función f (x, y) en términos de un parámetro. La técnica de multiplicadores de Lagrange está basada en los siguientes pasos: 1. Escribir una nueva función que combine a f (x, y) y a la restricción, o restricciones, que imponga el problema, de la siguiente manera g(x, y) = f (x, y) − λ(x2 + y 2 − 1) El parámetro λ es conocido como multiplicador de Lagrange y tendremos tantos multiplicadores como restricciones imponga el problema. 2. Derivar a g(x, y) con respecto a x y a y. 3. Resolver las ecuaciones simultáneas que resultan de igualar las primeras derivadas a cero, además de tomar en cuenta la restricción. Apliquemos estos pasos a nuestro problema. 1. Definición de g(x, y) In[15]:= g[x ,y ] =f[x,y]-lambda* (x∧ 2+y∧ 2-1); 2. Obtención de las primeras derivadas In[16]:= dgx = D[g[x,y],x]; dgy = D[g[x,y],y]; 3. Solución de las ecuaciones simultáneas, donde las primeras derivadas son igualadas a cero y la restricción es tomada en cuenta explı́citamente In[17]:= otros= Solve[{dgx==0,dgy==0, x∧ 2+y∧ 2==1},{x,y,lambda}] o nn Out[16]= lambda → 0, x → − √12 , y → − √12 , n o lambda → 0, x → − √12 , y → √12 , n o lambda → 0, x → √12 , y → − √12 , n o lambda → 0, x → √12 , y → √12 , {lambda → 1, x → 0, y → −1}, {lambda → 1, x → 0, y → 1}, {lambda → 1, y → 0, x → −1}, {lambda → 1, y → 0, x → 1}} 60 El resultado concuerda con lo que observamos en la Figura 7 ya que hemos encontrado 8 puntos crı́ticos que pueden ser caracterizados como lo hemos discutido con anterioridad. Para terminar resolvamos el problema de maximizar el volumen de la caja siguiendo los pasos anteriores In[17]:= vol[x ,y ,z ] = x*y*z; sup[x ,y ,z ] = x*y+ 2*x*z + 2*y*z; aux[x ,y ,z ] = vol[x,y,z]lambda(sup[x,y,z]-40); dvolx = D[aux[x,y,z],x]; dvoly = D[aux[x,y,z],y]; dvolz = D[aux[x,y,z],z]; resul = Solve[{dvolx==0,dvoly==0, dvolz==0, sup [x,y,z]==40}, {x,y,z,lambda }] Out[17]= q q n 5 , lambda → − {x → −2 10 3 6, q q y → −2 10 , z → − 10 3 }, q 3 q 5 {x → 2 10 , lambda → , q q 3 o 6 10 y → 2 10 3 ,z → 3 } El conjunto de raı́ces que debemos usar es aquél que genera x, y y z positivos ya que fı́sicamente es el que tiene sentido. V. Conclusiones En este trabajo se muestra el uso de algunas instrucciones de Mathematica para visualizar funciones de varias variables, las cuales en muchas ocasiones pueden ser dı́ficiles de generar con papel y lápiz para muchos estudiantes del primer año de licenciaturas en ciencias básicas o ingenierı́as. Además se muestra un procedimiento para hacer uso de la técnica de los multiplicadores de Lagrange. La cantidad de problemas del cálculo diferencial de varias variables que se pueden abordar con este software queda a la imaginación de profesores y estudiantes ya que el número de instrucciones que se deben de usar son reducidas. Agradecimientos Agradezco a la Dra. Rubicelia Vargas sus comentarios sobre el manuscrito para que tuviera una presentación adecuada hacia los lectores de la revista CONTACTOS. Bibliografı́a 1. Kaplan, W. Advanced Calculus. Addison Wesley, 5th Edition. USA, 2002. ContactoS 64, 55–60 (2007) 2. Haasser, N. B.; Lasalle, J. P.; Sullivan, J. A. Análisis Matemático 2. Editorial Trillas. México, 1985. 3. Wellin, P.; Gaylord, R.; Kamin, S. An Introduction to Programming with Mathematica. Cambridge University Press, United Kingdom, 2005. 4. Don, E. Mathematica. Schaum’s Outlines Series. McGraw Hill. USA, 2001. cs