Learn R Programming

SpatioTemporal (version 1.1.2)

norm2: Computes Inner Product and Squared 2-norm

Description

dotProd computes the inner (or dot/scalar) product between two vectors. norm2 computes the squared 2-norm of all the elements in a matrix or vector. If the vectors are of unequal length dotProd will give a warning and then truncates the longer vector, discarding any excess elements before the computations.

Usage

norm2(v1)

dotProd(v1, v2)

Arguments

v1,v2
Two vectors

Value

  • dotProd returns the inner product of v1 and v2. norm2 returns the squared 2-norm of all elements in v1.

See Also

Other basic linear algebra: blockMult, crossDist, invCholBlock, makeCholBlock, solveTriBlock, sumLogDiag

Examples

Run this code
##Create two vectors of equal length
v1 <- rnorm(10)
v2 <- rnorm(10)

##compute the inner product between the vectors
dotProd(v1,v2)
##or
sum(v1*v2)

##compute the square 2-norm of v1
norm2(v1)
##or
dotProd(v1,v1)
##or
sum(v1*v1)

##If the vectors are of unequal length the longer vector
##gets truncated (with a warning). 
dotProd(v1,c(v2,2))
if( abs(dotProd(v1,v2)-sum(v1*v2)) > 1e-10 ){
    stop("dotProd: Results not equal")
  }
  if( (abs(norm2(v1) - dotProd(v1,v1)) > 1e-10) ||
     (abs(norm2(v1) - sum(v1*v1)) > 1e-10) ){
    stop("norm2: Results not equal")
  }

Run the code above in your browser using DataLab