CÁLCULO VARIACIONAL

Es un paquete, se carga con:

<<Calculus`VariationalMethods`

El problema básico del calculo de variaciones es determinar la función u(x) que hace que el funcional F = ∫_ (xmin)^(xmax) f[u (x), u^′ (x), x] x sea un extremo.
En general, puede haber más de una variable independiente y el integrando f puede depender de varias funciones y derivadas más altas.
Las funciones extremales son solución a las ecuaciones de Euler-Lagrange, estas ecuaciones se obtienen al hacer que las primeras derivadas variacionales del funcional F con respecto a cada función sean iguales a cero. Dado que muchas de las ecuaciones diferenciales ordinarias o parciales se pueden obtener como ecuaciones de Euler de funcionales apropiados los métodos variacionales se concideran de utilidad general.

VariationalD[f, u[x], x] VariationalD[f, u[x, y, ...], {x, y, ...}] primera derivada variacional del funcional F, definido por el integrando f
VariationalD[f, {u[x, y, ...], v[x, y, ...]}, {x, y, ...}] da una lista con las primeras derivadas variacionales de F
EulerEquations[f, u[x], x] EulerEquations[f, u[x, y, ...], {x, y, ...}] da las ecuaciones de Euler para f
EulerEquations[f, {u[x, y, ...], v[x, y, ...]}, {x, y, ...}] da una lista con las ecuaciones de Euler para f

VariationalD da la primera derivada variacional del funcional F definido por el integrando f. f puede depender de varias funciones u,v,w,…; sus derivadas de orden arbitrario; y variables x,y,z,… .
EulerEquations da las ecuaciones de Euler-Lagrange obtenidas del integrando f.

La primera derivada variacional de F = ∫_ (xmin)^(xmax) y (x) (1 + y^′ (x)^2)^(1/2) x

VariationalD[y[x] Sqrt[1 + y '[x]^2], y[x], x]

(1 + y^′[x]^2 - y[x] y^′′[x])/(1 + y^′[x]^2)^(3/2)

Aca f es el Lagrangiano (T-U) del péndulo simple. EulerEquations da la ecuación del péndulo.

EulerEquations[m l^2 theta '[t]^2/2 + m g l Cos[theta[t]], theta[t], t]

-l m (g Sin[theta[t]] + l theta^′′[t]) 0

Este paquete define varios sistemas de coordenadas y la función Grad (gradiente)

<<Calculus`VectorAnalysis`

Fijamos el sistema de coordenadas a cartesianas y las nombramos x, y, z

SetCoordinates[Cartesian[x, y, z]] ;

Con esto se pueden generar las ecuaciones de Laplace

EulerEquations[Grad[phi[x, y, z]] . Grad[phi[x, y, z]]/2, phi[x, y, z], {x, y, z}]

-phi^(0, 0, 2)[x, y, z] - phi^(0, 2, 0)[x, y, z] - phi^(2, 0, 0)[x, y, z] 0

FirstIntegrals[f, u[x], x] FirstIntegrals[f, {u[x], v[x], ...}, x] primeras integrales cuando f es independiente de una o más de {u[x, y, ...], v[x, y, ...]} o independiente de x
FirstIntegral[u] primera integral asociada con la variable u (aparece en la salida de FirstIntegrals)

Cuando solo hay una variable independiente x, FirstIntegrals da cantidades que se conservan en los sigientes casos:
    1) Si f no depende de la cordenada u (coordenada ignorable) explicitamente la ecuación de Euler correspondiente tiene una primera integral obvia (un momento generalizado que se conserva).
    2) Si f depende de u,v,… y sus primeras derivadas y no tiene dependencia explicita de x. En este caso FirstIntegrals da el Hamiltoniano del sistema

El Lagrangiano para el movimiento devido a una fuerza central tiene una cordenada ignorable φ (conservación del momentum angular) y no depende explicitamente del tiempo t (conservación de la energía). FirstIntegrals da la primera integral de la coordenada φ y la primera integral que corresponde al Hamiltoniano

FirstIntegrals[m (r '[t]^2 + r[t]^2 phi '[t]^2)/2 - U[r],  {r[t], phi[t]}, t]

{FirstIntegral[phi]  -m r[t]^2 phi^′[t], FirstIntegral[t] 1/2 (2 U[r] + m (r[t]^2 phi^′[t]^2 + r^′[t]^2))}

El principio variacional de Ritz da una técnica poderosa para aproximar soluciones de:
    1) Problemas de valores propios Au = λwu donde A es un operador y w(x,y,…) es una función de peso, o
    2) Problemas de la forma Bu(x,y,…) = h(x,y,…) donde B es un operador definido positivo y h es conocida.
En ambos casos se debe dar una propuesta para una función de prueba u_t (x, y, …) que satisface las condiciones de frontera del problema y depende de parametros variacionales {a,b,…}.
Para el problema (1)
VariationalBound[{ f, g }, u[x, y, … ], { { x, xmin, xmax }, { y, ymin, ymax }, … }, u_t, { a, amin, amax }, { b, bmin, bmax }, …]
extremiza (∫_ (xmin)^(xmax) x∫_ (ymin)^(ymax) y…f)/(∫_ (xmin)^(xmax) x∫_ (ymin)^(ymax) y…g) donde f = uAu y g = uwu.
El resultado es una cota superior para los valores propios correspondientes y valores óptimos de los parámetros.
Para (2)
VariationalBound[f, u[x, y, … ], { { x, xmin, xmax }, { y, ymin, ymax }, … }, u_t, { a, amin, amax }, { b, bmin, bmax }, …]
extremiza el funcional F = ∫_ (xmin)^(xmax) x∫_ (ymin)^(ymax) y…f con f = uBu - 2uh y da el valor del funcional y los valores óptimos.
VariationalBound se puede utilizar también para extremizar funciones generales dada una función de prueba apropiada.
NVariationalBound hace lo mismo que VariationalBound numéricamente.

VariationalBound[{f, g}, u[x, y, ...], {{x, xmin, xmax,} {y, ymin, ymax}, ...},  u_2, {a, amin, amax}, {b, bmin, bmax}, ...] da una cota superior para los valores propios, y los valores óptimospara a, b, ... en el rango {{amin, amax}, {bmin . bmax}, ...}
VariationalBound[f, u[x, y, ...], {{x, xmin, xmax,} {y, ymin, ymax}, ...},  u_2, {a, amin, amax}, {b, bmin, bmax}, ...] da el valor del funcional y los valores óptimos de a, b, ...
NVariationalBound[{f, g}, u[x, y, ...], {{x, xmin, xmax,} {y, ymin, ymax}, ...},  u_2, {a, amin, amax}, {b, bmin, bmax}, ...] evalua numéricamente la cota superior de los valores propios
NVariationalBound[f, u[x, y, ...], {{x, xmin, xmax,} {y, ymin, ymax}, ...},  u_2, {a, amin, amax}, {b, bmin, bmax}, ...] evalua numéricamente el valor del funcional y los valores óptimos de a, b, ...

Una función de onda de prueba para el estado 2s del átomo de hidrogeno con un nodo en a da el valor exacto de la energía en unidades de Rydbergs.
Notar que el elemento de volumen r^2es incluido dentro de los parámetros del funcional f y g, y el rango por defecto de los parámetros es (-∞,∞).

VariationalBound[ {(-u[r] D[r^2 u '[r], r]/r^2 - 2u[r]^2/r) r^2, u[r]^2 r^2}, u[r],  {r, 0, Infinity},  (a - r) E^(-b r),  {a}, {b}]

{-0.25, {a2., b0.5}}

El problema de torsión de una barra de sección trasversal cuadrada incluye solucionar ∇^2u = -1 donde u se hace cero en la frontera.
VariationalBound da valores óptimos para los parámetros de una solución aproximada

VariationalBound[-u[x, y] (D[u[x, y], {x, 2}] + D[u[x, y], {y, 2}]) - 2u[x, y], u[x, y ...  -a, a}, {y, -a, a}},  (x^2 - a^2) (y^2 - a^2) (a1 + a2 (x^2 + y^2)),  {a1}, {a2}]

{-0.561572 a^4, {a10.292193/a^2, a20.0592283/a^4}}


Created by Mathematica  (August 9, 2004)