eigfun: ~~function to do ... ~~

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/quaddisc.R

Description

~~ A concise (1-5 lines) description of what the function does. ~~

Usage

1
eigfun(vX, fnH, iN, sMethod, bPoints = FALSE, vZ = NULL, vW = NULL, lExtraArgsKernel = NULL, vJ = 1)

Arguments

vX

~~Describe vX here~~

fnH

~~Describe fnH here~~

iN

~~Describe iN here~~

sMethod

~~Describe sMethod here~~

bPoints

~~Describe bPoints here~~

vZ

~~Describe vZ here~~

vW

~~Describe vW here~~

lExtraArgsKernel

~~Describe lExtraArgsKernel here~~

vJ

~~Describe vJ here~~

Details

~~ If necessary, more details than the description above ~~

Value

~Describe the value returned If it is a LIST, use

comp1

Description of 'comp1'

comp2

Description of 'comp2'

...

Note

~~further notes~~

~Make other sections like Warning with Warning .... ~

Author(s)

~~who you are~~

References

~put references to the literature/web site here ~

See Also

~~objects to See Also as help, ~~~

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (vX, fnH, iN, sMethod, bPoints = FALSE, vZ = NULL, vW = NULL, 
    lExtraArgsKernel = NULL, vJ = 1) 
{
    lH <- matH(fnH, iN, sMethod, bPoints = FALSE, vZ = NULL, 
        vW = NULL)
    vZ <- as.matrix(lH$nodes)
    mResult <- matrix(nrow = length(vX), ncol = length(vJ))
    vW <- as.matrix(lH$weights)
    mEigVec <- as.matrix(lH$eigvecnorm[, vJ])
    if (sMethod %in% c("MC", "QMC", "TR", "GL")) {
        mH <- matrix(nrow = length(vX), ncol = length(vZ))
        for (j in 1:length(vZ)) {
            for (i in 1:length(vX)) {
                mH[i, j] <- fnH(vX[i], vZ[j], lExtraArgsKernel)
            }
        }
        vEigVal <- as.matrix(lH$eigval[vJ])
        mResult <- mH %*% ((vW %*% t(1/vEigVal)) * mEigVec)
    }
    else if (sMethod == "CC") {
        vI1 <- matrix(1:iN, iN, 1)
        vI0 <- vI1 - 1
        vD <- c(1, rep(2, iN - 1))/iN
        vK <- matrix(2 * vI0 + 1, 1, iN)
        mCt <- cos(pi * (vI0 %*% vK)/(2 * iN))
        mTt <- matrix(nrow = length(vX), ncol = iN)
        mTt <- cos(acos(2 * vX - 1) %*% matrix(vI0, 1, iN))
        mResult <- mTt %*% diag(as.vector(vD)) %*% mCt %*% mEigVec
    }
    return(mResult)
  }

quaddisc documentation built on May 2, 2019, 4:50 p.m.