C Library Functions  - newnot (3)

from * a practical guide to splines * by c. de boor
returns
  lnew+1 knots in brknew which are equidistributed on (a,b)
= (break(1),break(l+1)) wrto a certain monotone fctn
  g related to
the k-th root of the k-th derivative of the pp function
  f whose pp-
representation is contained in
  break, coef, l, k .
****** i n p u t ****** break, coef, l, k.....contains the pp-representation of a certain
function
  f of order k . Specifically,
d**(k-1)f(x) = coef(k,i)
  for break(i).le. x .lt.break(i+1) lnew.....number of intervals into which the interval (a,b) is to be
sectioned by the new breakpoint sequence
  brknew .
****** o u t p u t ******
brknew.....array of length
  lnew+1 containing the new breakpoint se- quence
coefg.....the coefficient part of the pp-repr.
  break, coefg, l, 2
for the monotone p.linear function
  g wrto which brknew will be equidistributed.
****** optional p r i n t e d o u t p u t ******
coefg.....the pp coeffs of
  g are printed out if iprint is set
.gt. 0 in data statement below.
****** m e t h o d ******
The k-th derivative of the given pp function
  f does not exist (except perhaps as a linear combination of delta functions). Never-
theless, we construct a p.constant function
  h with breakpoint se-
quence break which is approximately proportional to abs(d**k(f)).
Specifically, on
  (break(i), break(i+1)),
     abs(jump at break(i) of pc)    abs(jump at break(i+1) of pc)
h = --------------------------
  + ----------------------------
break(i+1) - break(i-1)
  break(i+2) - break(i)
with pc the p.constant (k-1)st derivative of f .
Then, the p.linear function
  g is constructed as
g(x) = integral of h(y)**(1/k) for y from a to x
and its pp coeffs. stored in
  coefg .
then brknew is determined by
        brknew(i)  =  a + g**(-1)((i-1)*step) , i=1,...,lnew+1

where step = g(b)/lnew and (a,b) = (break(1),break(l+1)) .
In the event that
  pc = d**(k-1)(f) is constant in (a,b) and
therefore
  h = 0 identically, brknew is chosen uniformly spaced.


Nemo Release 3.1 newnot (3) June 29, 2025
Generated by manServer 1.08 from df6d780c-0e4c-4234-bd40-194323e78eb0 using man macros.