Learn R Programming

ForeCA (version 0.2.7)

quadratic_form: Computes quadratic form x' A x

Description

quadratic_form computes the quadratic form \(\mathbf{x}' \mathbf{A} \mathbf{x}\) for an \(n \times n\) matrix \(\mathbf{A}\) and an \(n\)-dimensional vector \(\mathbf{x}\), i.e., a wrapper for t(x) %*% A %*% x.

fill_symmetric and quadratic_form work with real and complex valued matrices/vectors.

fill_hermitian fills up the lower triangular part (NA) of an upper triangular matrix to its Hermitian (symmetric if real matrix) version, such that it satisfies \(\mathbf{A} = \bar{\mathbf{A}}'\), where \(\bar{z}\) is the complex conjugate of \(z\). If the matrix is real-valued this makes it simply symmetric.

Note that the input matrix must have a real-valued diagonal and NAs in the lower triangular part.

Usage

quadratic_form(mat, vec)

fill_hermitian(mat)

Arguments

mat

numeric; \(n \times n\) matrix (real or complex).

vec

numeric; \(n \times 1\) vector (real or complex).

Value

A real/complex value \(\mathbf{x}' \mathbf{A} \mathbf{x}\).

Examples

Run this code
# NOT RUN {
 set.seed(1)
 AA <- matrix(1:4, ncol = 2)
 bb <- matrix(rnorm(2))
 t(bb) %*% AA %*% bb
 quadratic_form(AA, bb)
# }
# NOT RUN {

AA <- matrix(1:16, ncol = 4)
AA[lower.tri(AA)] <- NA
AA

fill_hermitian(AA)

# }

Run the code above in your browser using DataLab