B-spline
SemiLagrangian.BSpline
— Typeabstract type BSpline{T, edge, order} <: AbstractInterpolation{T, edge, order}
BSpline{T, edge, order} <: AbstractInterpolation{T, edge, order}
Abstract supertype for all bspline interpolation type
SemiLagrangian.BSplineLU
— Typestruct BSplineLU{T, edge, order} <: SemiLagrangian.BSpline{T, edge, order}
BSplineLU{T, edge, order} <: AbstractInterpolation{T, edge, order}
Type containing spline coefficients for b-spline interpolation
Type parameters
T
: the type of data that is interpolateedge::TypeEdge=CircEdge
: true if function is circularorder::Int
: order of lagrange interpolation
Implementation :
ls::LuSpline{T}
: the LU matrixtabfct::Vector{Polynomial{T}}
: function table for interpolation
Arguments :
n
: size of the matrixorder
: the order of interpolation[T::DataType=Float64]
: The type values to interpolate
SemiLagrangian.LuSpline
— Typestruct LuSpline{T}
struct LuSpline{T}
LuSpline(n, t::Vector{T}; iscirc=true, isLU=true) where{T}
Structure of a LU decomposition of circular banded matrix, a LU decomposition can be stored in a Matrix which is equal to L + U - I. For a circular Banded matrix all non zero coefficients are in the band and in the last columns and lines
Implementation
- band::Matrix{T} : matrix of size (kl+ku+1, n-kl)
- ku : size of the band upper the diagonal
- kl : size of the band lower the diagonal
- iscirc : true if and only if original matrix is circular
- isLU : true if LU decomposition has been perform
- lastcols : only in circular case, Matrix of size (n-ku, kl) that represents teh last columns of matrix
- lastrows : only in circular case, Matrix of size (n, ku) that represents the last rows of matrix
Arguments
- 'n' : size of the matrix
- 't::Vector{T}` : vector of all values, the size is order+1, where order is the order of the spline.
SemiLagrangian.decLULu
— MethoddecLULu(iscirc, band, lastcols, lastrows)
SemiLagrangian.sol!
— Methodsol!(X, bsp, Y)
SemiLagrangian.sol!
— Methodsol!(X, spA, Y)
SemiLagrangian.sol
— Methodsol(bsp, b)
SemiLagrangian.sol
— Methodsol(spA, b)
SemiLagrangian.BSplineFFT
— Typestruct BSplineFFT{T, order} <: SemiLagrangian.BSpline{T, SemiLagrangian.CircEdge, order}
BSplineFFT{T, order} <: AbstractInterpolation{T, CircEdge, order}
BSplineFFT( order::Int, n::Int, T::DataType=Float64)
Type containing spline coefficients for b-spline interpolation based on fft, using the fact that b-spline matrix is a circulant matrix
Type parameters
T
: the type of data that is interpolateorder::Int
: order of lagrange interpolation
Implementation :
c_fft::Vector{Complex{T}}
: fft transform of coefficientsparfft::PrepareFftBig
: fft precomputed datatabfct::Vector{Polynomial{T}}
: function table for interpolation
Arguments :
n
: size of the matrixorder
: the order of interpolation[T::DataType=Float64]
: The type values to interpolate
SemiLagrangian.sol!
— Methodsol!(Y, bsp, b)
SemiLagrangian.sol
— Methodsol(bsp, b)