sumouter

0th

Percentile

Compute Quadratic Forms

Calculates certain quadratic forms of matrices.

Keywords
array
Usage
sumouter(x, w=NULL)
  quadform(x, v)
  bilinearform(x, v, y)
Arguments
x,y
A matrix, whose rows are the vectors in the quadratic form.
w
Optional vector of weights
v
Matrix determining the quadratic form
Details

The matrix x will be interpreted as a collection of row vectors. The command sumouter computes the sum of the outer products of these vectors, weighted by the entries of w: $$M = \sum_i w_i x_i x_i^\top$$ where the sum is over all rows of x (after removing any rows containing NA or other non-finite values). If w is missing, the weights will be taken as 1. The result is a $p \times p$ matrix where p = ncol(x). The command quadform evaluates the quadratic form, defined by the matrix v, for each of the row vectors of x: $$y_i = x_i V x_i^\top$$ The result y is a numeric vector of length n where n = nrow(x). If x[i,] contains NA or other non-finite values, then y[i] = NA.

The command bilinearform evaluates the more general bilinear form defined by the matrix v. Here x and y must be matrices of the same dimensins. For each of the row vectors of x and corresponding row vector of y, the bilinear form is $$z_i = x_i V y_i^\top$$ The result z is a numeric vector of length n where n = nrow(x). If x[i,] or y[i,] contains NA or other non-finite values, then z[i] = NA.

Value

  • A vector or matrix.

Aliases
  • sumouter
  • quadform
  • bilinearform
Examples
x <- matrix(1:12, 4, 3)
  dimnames(x) <- list(c("Wilma", "Fred", "Barney", "Betty"), letters[1:3])
  x

  sumouter(x)

  w <- 4:1
  sumouter(x, w)
  v <- matrix(1, 3, 3)
  quadform(x, v)

  # should be the same as quadform(x, v)
  bilinearform(x, v, x)

  # See what happens with NA's
  x[3,2] <- NA
  sumouter(x, w)
  quadform(x, v)
Documentation reproduced from package spatstat, version 1.36-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.