MATERNCHOL Cholesky decomposition of Matern and fBm covariances. [with A. Sykulski] MATERNCHOL is a low-level function called by MATERNOISE. T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA) returns the Cholesky decomposition of the N x N autocovariance matrix of a Matern process. T=MATERNCHOL(DT,N,A,ALPHA,0) returns the Cholesky decomposition for fractional Brownian motion. In this case, the third input argument is the spectral amplitude A, not the standard deviation SIGMA. __________________________________________________________________ Extensions Several extensions of the basic Matern form are supported, all of which are discussed in more detail in MATERNSPEC. Oscillatory Matern T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,NU) Generalized Matern (+ optional oscillations) T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,GAMMA,'general') T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,GAMMA,NU,'general') Extended Matern (+ optional oscillations) T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,MU,'extended') T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,MU,NU,'extended') Composite Matern T=MATERNCHOL(DT,N,SIGMA,ALPHA,LAMBDA,MU,NU,'composite') __________________________________________________________________ Non positive-definiteness adjustment It can be the case that the covariance matrix is not positive definite to numerical precision, owing to very small eigenvalues, and this will cause the Cholesky decomposition to fail. In such cases, an identity matrix with a very small amplitude is added to the covariance matrix in order to ensure numerical stability, and a notification is issued. The amplitude begins at 1e-16 and increases by powers of ten until positive definiteness is attained. __________________________________________________________________ 'maternchol --t' runs a test. Usage: T=maternchol(dt,N,sigma,alpha,lambda,nu); T=maternchol(dt,N,sigma,alpha,lambda,mu,nu,'extended'); __________________________________________________________________ This is part of JLAB --- type 'help jlab' for more information (C) 2013--2020 A.M. Sykulski and J.M. Lilly --- type 'help jlab_license' for details