Mass-weighted Inner Product

Usage

inner.prod(x, y, mass=NULL)

Arguments

x
a numeric vector or matrix.
y
a numeric vector or matrix.
mass
a numeric vector containing the atomic masses for weighting.

Description

Inner product of vectors (mass-weighted if requested).

Details

This function calculates the inner product between two vectors, or alternatively, the column-wise vector elements of matrices. If atomic masses are provided, the dot products will be mass-weighted.

See examples for more details.

Value

Returns the inner product(s).

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

Examples

## Matrix operations x <- 1:3 y <- diag(x) z <- matrix(1:9, ncol = 3, nrow = 3) inner.prod(x,y)
[1] 1 4 9
inner.prod(y,z)
[1] 1 10 27
## Application to normal modes pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") ) ## Calculate (vibrational) normal modes modes <- nma(pdb)
Building Hessian... Done in 0.044 seconds. Diagonalizing Hessian... Done in 0.131 seconds.
## Check for orthogonality inner.prod(modes$U[,7], modes$U[,8])
[1] -9.829387e-15

See also

nma , normalize.vector

Author

Lars Skjaerven