Description Usage Arguments Value References See Also Examples
The function generates a Splinets
object which contains the first order
derivatives of all the splines from the input Splinets
object.
The function also verifies the support set of the output to provide the accurate information about
the support sets by excluding regions over which the original function is constant.
1  deriva(object, epsilon = 1e07)

object 

epsilon 
positive number, controls removal of knots from the support; If the derivative is smaller than this number, it is considered
to be zero and the corresponding knots are removed from the support.The default value is 
A Splinets
object of the order k1
that also contains the updated information about the support set.
Liu, X., Nassar, H., Podgorski, K. (2019) "Splinets – efficient orthonormalization of the Bsplines." <arXiv:1910.07341>.
Podgorski, K. (2021)
"Splinets
– splines through the Taylor expansion, their support sets and orthogonal bases." <arXiv:2102.00733>.
integra
for generating the indefinite integral of a spline that can be viewed
as the inverse operation to deriva
;
dintegra
for the definite integral of a spline;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41  ##
# Generating the deriviative functions of splines #
##
n=13; k=4
set.seed(5)
xi=sort(runif(n+2)); xi[1]=0; xi[n+2]=1
spl=construct(xi,k,matrix(rnorm((n+2)*(k+1)),ncol=(k+1))) #constructing three splines
spl=gather(spl, construct(xi,k,matrix(rnorm((n+2)*(k+1)),ncol=(k+1))))
spl=gather(spl, construct(xi,k,matrix(rnorm((n+2)*(k+1)),ncol=(k+1))))
# calculate the derivative of splines
dspl = deriva(spl)
plot(spl)
plot(dspl)
##
# Examples with different support ranges #
##
n=25; k=3
xi=seq(0,1,by=1/(n+1));
set.seed(5)
#Defining support ranges for three splines
supp=matrix(c(2,12,4,20,6,25),byrow=TRUE,ncol=2)
#Initial random matrices of the derivative for each spline
SS1=matrix(rnorm((supp[1,2]supp[1,1]+1)*(k+1)),ncol=(k+1))
SS2=matrix(rnorm((supp[2,2]supp[2,1]+1)*(k+1)),ncol=(k+1))
SS3=matrix(rnorm((supp[3,2]supp[3,1]+1)*(k+1)),ncol=(k+1))
spl=construct(xi,k,SS1,supp[1,]) #constructing the first correct spline
nspl=construct(xi,k,SS2,supp[2,])
spl=gather(spl,nspl) #the second and the first ones
nspl=construct(xi,k,SS3,supp[3,])
spl=gather(spl,nspl) #the third is added
der_spl = deriva(spl)
oldpar < par(no.readonly = TRUE)
par(mar=c(1,1,1,1))
par(mfrow=c(2,1))
plot(der_spl)
plot(spl)
par(mfrow=c(1,1))
par(oldpar)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.