Skip to content

JuliaApproximation/PiecewiseOrthogonalPolynomials.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PiecewiseOrthogonalPolynomials.jl

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

About

A Julia package for piecewise spectral methods such as p-FEM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages