eVal: Generate a sequence of simulated eigenvalues

View source: R/simulation.R

eValR Documentation

Generate a sequence of simulated eigenvalues

Description

This function generates M decreasing eigenvalues.

Usage

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.

Details

The function implements three types of eigenvalues:

  • "linear": The eigenvalues start at 1 and decrease linearly towards 0:

    \nu_m = \frac{M+1-m}{m}.

  • "exponential": The eigenvalues start at 1 and decrease exponentially towards 0:

    \nu_m = \exp\left(-\frac{m-1}{2}\right).

  • "wiener": The eigenvalues correspond to the eigenvalues of the Wiener process:

    \nu_m = \frac{1}{(\pi/2 \cdot (2m-1))^2}.

Value

A vector containing the M decreasing eigenvalues.

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)

funData documentation built on May 29, 2024, 6:08 a.m.