我有形式的最小化问题
在所有中,是封闭的和有界的。
让我们忘记 ; 我对如何离散化范数感兴趣。在有限体积的情况下,有
所以
其中是质量矩阵和投影到离散空间。
从数值实验(见下文)看来,这也适用于有限元类型的函数(具有相应的质量矩阵;见下面的代码)。
有谁知道这是为什么?
import sympy
from dolfin import (
Expression,
FacetNormal,
Function,
FunctionSpace,
TestFunction,
TrialFunction,
UnitSquareMesh,
assemble,
dot,
ds,
dx,
grad,
project,
solve,
)
mesh = UnitSquareMesh(500, 500)
V = FunctionSpace(mesh, "CG", 1)
u = TrialFunction(V)
v = TestFunction(V)
n = FacetNormal(mesh)
A = assemble(dot(grad(u), grad(v)) * dx - dot(n, grad(u)) * v * ds)
M = assemble(u * v * dx)
f = Expression("sin(pi * x[0]) * sin(pi * x[1])", element=V.ufl_element())
x = project(f, V)
Ax = A * x.vector()
Minv_Ax = Function(V).vector()
solve(M, Minv_Ax, Ax)
val = Ax.inner(Minv_Ax)
print(val)
# Exact value
x = sympy.Symbol("x")
y = sympy.Symbol("y")
f = sympy.sin(sympy.pi * x) * sympy.sin(sympy.pi * y)
f2 = -sympy.diff(f, x, x) - sympy.diff(f, y, y)
val2 = sympy.integrate(sympy.integrate(f2 ** 2, (x, 0, 1)), (y, 0, 1))
print(sympy.N(val2))
输出:
97.75031146783857
97.4090910340024