Index Functions

DESCRIPTION:
Index functions for wavelet analysis. Not intended for high level use.

USAGE:
crystal.index(j, b, n)
node.index(j, b)
subband.index(j)
crystal.name.index(nms)
get.parents.quad(nms)
qnode.index(d, x, y)
quad.bound(index, nr, nc, dual=F, fodd=F, sequency.order=T)
wavesubscript.to.index(i, nms, type="crystal.vector")

REQUIRED ARGUMENTS:
j:
level.
b:
block number.
n:
sample size.
nms:
1D or 2D crystal names.
index:
a vector of length 3.

VALUE:
crystal.index returns an integer sequence of length n*2^(-j).

node.index returns the integer (2^j)+b.

subband.index returns the sequence integers (2^j):(2^(j+1)-1).

crystal.name.index returns a matrix of length(nms) rows. If nms are 1D crystal names, the matrix has two columns; If nms are 2D crystal names, the matrix has four columns.

qnode.index returns an integer.

get.parents.quad returns a matrix with 3 columns and row.names as parent names of nms.

quad.bound returns a matrix of 4 columns.

wavesubscript.to.index returns a vector of subscript indices.


DETAILS:
crystal.index is the indeces of the coefficients in the (j,b)-crystal, when sample size is n, defined as crystal.index(j, b, n) = ((b*n)/2^j + 1):(((b+1)*n)/2^j).

node.index is the index of the (j,b)-crystal in a packet table.

subband.index is the indeces of level j crystals in a packet table.

crystal.name.index computes the indices from crystal names.

qnode.index computes the quad tree index of 2D crystal (d, x, y), where d is the depth in spliting and x, y are coordinates at depth d.

get.parents.quad computes parent crystals of given crystals nms.

quad.bound computes the bounds of 2D crystal index=(d, x, y) in an nr by nc matrix.

wavesubscript.to.index maps a user subscript to an integer to be used for subscripting a crystal.vector object.