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.