A Julia package for piecewise orthogonal polynomials which can be used in p-FEM
We can make piecewise integrated-Legendre bases using the quasi-matrix ContinuousPolynomial{1}
:
using PiecewiseOrthogonalPolynomials, Plots
๐ = range(-1,1; length=4)
C = ContinuousPolynomial{1}(๐)
plot(C[:,Block(1)])
plot(C[:,Block.(2:3)])
The mass matrix can be constructed via:
M = C'C
We can also construct the stiffness matrix:
ฮ = weaklaplacian(C)
We can truncate as follows:
N = 10
KR = Block.(Base.OneTo(N))
Mโ = M[KR,KR]
ฮโ = ฮ[KR,KR]
We can compute the reverse Cholesky in optimal complexity:
using MatrixFactorizations
L = reversecholesky(Symmetric(-ฮโ + Mโ)).L