As seen in DOLFINx in general, we use the unified form language (UFL) to
define variational forms.
The power of this domain specific language is that it resembles mathematical
syntax.

We will start with a standard problem, namely a projection:

(3)#\[\begin{align}
u &= \frac{f(x,y,z)}{g(x,y,z)} \qquad \text{in } \Omega\subset \mathbb{R}^3.
\end{align}\]

where \(\Omega\) is our computational domain, \(f\) and \(g\) are two known functions

To solve this problem, we have to choose an appropriate finite element space to represent the function \(k\) and \(u\).
There is a large variety of finite elements, for instance the Lagrange elements.
The basis function for a first order Lagrange element is shown below