INTERNAL function for finding an orthogonal re-parameterization which avoids "dominant machine zero leakage" between components of the square root penalty.
gam.reparam(rS, lsp, deriv)A list containing
S: the total penalty matrix similarity transformed for stability.
rS: the component square roots, transformed in the same way.
Qs: the orthogonal transformation matrix S = t(Qs)%*%S0%*%Qs, where S0 is the
untransformed total penalty implied by sp and rS on input.
det: log|S|.
det1: dlog|S|/dlog(sp) if deriv >0.
det2: hessian of log|S| wrt log(sp) if deriv>1.
list of the square root penalties: last entry is root of
fixed penalty, if fixed.penalty==TRUE (i.e. length(rS)>length(sp)).
The assumption here is that rS[[i]] are in a null space of total penalty already;
see e.g. totalPenaltySpace and mini.roots.
vector of log smoothing parameters.
if deriv==1 also the first derivative of the log-determinant of the penalty matrix
is returned, if deriv>1 also the second derivative is returned.
Simon N. Wood <simon.wood@r-project.org>.