runlmc.linalg.diag module

class runlmc.linalg.diag.Diag(v)[source]

Bases: runlmc.linalg.matrix.Matrix

Creates a diagonal matrix. :param v: main diagaonal :raises ValueError: if v is not a non-empty vector

as_numpy()[source]
Returns:numpy matrix equivalent, as a 2D numpy.ndarray
matmat(x)[source]

Multiply a matrix \(X\) by this matrix, \(K\), yielding \(KX\). By default, this just repeatedly calls matvec().

Parameters:X – a (possibly rectangular) dense matrix.
Returns:the matrix-matrix product
matvec(x)[source]

Multiply a vector \(\textbf{x}\) by this matrix, \(K\), yielding \(K\textbf{x}\).

Parameters:x – a one-dimensional numpy array of the same size as this matrix
Returns:the matrix-vector product
upper_eig_bound()[source]