eVal function

Generate a sequence of simulated eigenvalues

Generate a sequence of simulated eigenvalues

This function generates MM decreasing eigenvalues.

eVal(M, type)

Arguments

  • M: An integer, the number of eigenvalues to be generated.
  • type: A character string specifying the type of eigenvalues that should be calculated. See Details.

Returns

A vector containing the M decreasing eigenvalues.

Details

The function implements three types of eigenvalues:

  • "linear": The eigenvalues start at 11 and decrease linearly towards 00:
νm=M+1mm.νm=(M+1m)/m. \nu_m = \frac{M+1-m}{m}.\nu_m = (M+1-m)/m.
  • "exponential": The eigenvalues start at 11 and decrease exponentially towards 00:
νm=exp(m12).νm=exp((m1)/2). \nu_m =\exp\left(-\frac{m-1}{2}\right).\nu_m = exp(-(m-1)/2).
  • "wiener": The eigenvalues correspond to the eigenvalues of the Wiener process:
νm=1(π/2(2m1))2.νm=(pi/2(2m1))(2) \nu_m = \frac{1}{(\pi/2 \cdot (2m-1))^2}.\nu_m = (pi/2 *(2m-1))^(-2)

Examples

oldpar <- par(no.readonly = TRUE) # simulate M = 10 eigenvalues M <- 10 eLin <- eVal(M = M, type = "linear") eExp <- eVal(M = M, type = "exponential") eWien <- eVal(M = M, type = "wiener") par(mfrow = c(1,1)) plot(1:M, eLin, pch = 20, xlab = "m", ylab = expression(nu[m]), ylim = c(0,1)) points(1:M, eExp, pch = 20, col = 3) points(1:M, eWien, pch = 20, col = 4) legend("topright", legend = c("linear", "exponential", "wiener"), pch = 20, col = c(1,3,4)) par(oldpar)