Calculate TV-norm by FEM

Mathematical definition

Let \Omega\subset\mathbb{R}^{n} be a domain with Lipschitz boundary, u(x) is a scalar function, total-variaional norm is defined as follow
\|u\|_{TV} := \int_{\Omega} \sqrt{\nabla u(x)\cdot\nabla u(x)} dx.
Instead of the above definition, we can introduce the norm with fractional derivative operator
\|u\|_{TV^{s}} := \int_{\Omega} \sqrt{A^{s}u(x) A^{s}u(x)} dx,
where A := \sqrt{Id - \Delta}. Let f(u) := \|u\|_{TV^{s}}, we calculate f'(u) in the following. Taking \epsilon > 0 be a small positive real number, v(x) is a perturbation of the function u(x), then we have
\begin{align} f'(u)v = & \lim_{\epsilon \rightarrow 0} \frac{f(u+\epsilon v) - f(u)}{\epsilon} \\ = & \lim_{\epsilon\rightarrow 0}\frac{1}{\epsilon}\int_{\Omega} \sqrt{A^{s}(u+\epsilon v) A^{s}(u+\epsilon v)} - \sqrt{A^{s}u A^{s}u} dx \\ = & \int_{\Omega}\frac{1}{\sqrt{A^{s}u A^s u}} A^{s}u A^{s}v dx \end{align}
Hence, we obtain
f'(u)\cdot = \int_{\Omega}\frac{1}{\sqrt{A^{s}u A^s u}} A^{s}u A^{s}\cdot dx
Since A^s u(x) is in the denominator, we, instead, usually use the following functional
f(u) := \int_{\Omega}\sqrt{A^s u(x) A^s u(x) + \epsilon}dx.
We easily know that
f'(u)v = \int_{\Omega}\frac{1}{\sqrt{A^{s}u A^s u + \epsilon}} A^{s}u A^{s}v dx.

Computer code

In the following, we use bold font to represent the finite-dimensional vectors and matrixes. Let \mathbf{M}\in \mathbb{R}^{N\times N} be the matrix such that
\int_{\Omega}u(x)v(x)dx = \lim_{N\rightarrow \infty} (\mathbf{u}, \mathbf{v})_{\mathbf{M}} = \lim_{N\rightarrow \infty} \mathbf{u}^{T}\mathbf{M}\mathbf{v}.
We can assemble to formulate the corresponding matrix \mathbf{A}^{s} and
\int_{\Omega}\frac{1}{\sqrt{A^{s}u A^s u + \epsilon}} A^{s}u v dx \approx \mathbf{u_f}^{T}\mathbf{M},
where v is the test function, \mathbf{u_f} is finite-dimensional approximation of the function
\frac{1}{\sqrt{A^{s}u A^s u + \epsilon}} A^{s}u.
Here, \epsilon is a small number which prevent the division zero error.
Then, we can calculate the following matrix
\mathbf{u_f}^{T}\mathbf{M}\mathbf{A}^{s}
which is an approximation of the operator f'(u), and this approximation maps \mathbb{R}_{\mathbf{M}}^{N} to \mathbb{R}. \mathbb{R}_{\mathbf{M}}^{N} means N-dimensional Euclidean space with inner product (\mathbf{u}, \mathbf{v})_{\mathbf{M}} = \mathbf{u}^{T}\mathbf{M}\mathbf{v}.


2020

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。