Open EmilyBourne opened 5 months ago
It should be quasi-uniform. The first and last mesh step should be half the size of all other mesh steps
You are correct. There are missing evaluation points. For degree 2 with 10 cells on the domain [0,1] I obtain the points:
0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 0.95
I expected to obtain:
0.00 0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 0.95 1.00
I imagine that the outermost points have been absorbed into the boundary condition. This is not an unreasonable thing to do as specifying Hermite boundary conditions officially means specifying the value and the derivatives at the bounds. Thus the interpolation points are the Greville points, and the boundary conditions are any additional information required to solve the system. For degree 3 we obtain:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
which includes the points at the boundary as this time they are Greville points. We therefore have 2 options:
Add the points that I expected to see to the interpolation points. This way all values to be evaluated are available in one table, and it is not necessary to know the value of the Hermite boundary conditions at the boundary. The derivative is sufficient
Keep the current points. In this case we have a uniform mesh, however we must be able to provide the value of the function at the boundary
In any case this is not a vital point as it is rare that even degree splines are used. Indeed the stability proofs become much harder for even degrees due to this kind of asymmetry so it is usually safer to stick to odd degrees.
We need to investigate if this issue is still relevant for GrevilleInterpolationPoints
and KnotsAsInterpolationPoints
If I am not mistaken, we mentioned that in the case of even degree uniform splines along with Hermite boundary conditions the function
compute_interpolation_points_uniform
produces a non-uniform mesh. However when printing the mesh it seems to be uniform whatever the value of the degree.Originally created by @tpadioleau in gysela-developpers/gyselalibxx#89