Module linxal::properties [] [src]

Module for testing various matrix properties, such as being diagonal or unitary.

Most tests have a regular and a _tol version, which takes a specific tolerance. In the latter case, all floating-point comparisons are done within the tolerance. In the former case, a default tolerance is used (T::tol() for type T).

Functions

get_lower_bandwidth

Return the lower bandwidth of the matrix.

get_lower_bandwidth_tol

Return the lower bandwidth of the matrix, within the specified tolerance.

get_upper_bandwidth

Return the upper bandwidth of the matrix.

get_upper_bandwidth_tol

Return the upper bandwidth of the matrix, within the specified tolerance.

is_diagonal

Returns true iff the matrix is diagonal.

is_diagonal_tol

Returns true iff the matrix is diagonal, within a given tolerance.

is_identity

Returns true iff the matrix is an identity matrix.

is_identity_tol

Returns true iff the matrix is an identity matrix, within a given tolerance.

is_symmetric

Return true iff the matrix if Hermitian (or symmetric in the real case).

is_symmetric_tol

Return true iff the matrix if Hermitian (or symmetric in the real case), within a given tolerance.

is_triangular

Return true iff the matrix is triangular / trapezoidal, with the side specified by uplo.

is_triangular_tol

Return true iff the matrix is triangular / trapezoidal, with the side specified by uplo.

is_unitary

Return true iff the matrix is unitary

is_unitary_tol

Return true iff the matrix is unitary, within tolerance.