Source code for toqito.matrix_props.is_linearly_independent

"""Checks if a set of vectors are linearly independent."""

import numpy as np


[docs] def is_linearly_independent(vectors: list[np.ndarray]) -> bool: r"""Check if set of vectors are linearly independent [@WikiLinearIndependence]. Examples: The following vectors are an example of a linearly independent set of vectors in \(\mathbb{R}^3\). \[ \begin{pmatrix} 1 \\ 0 \\ 1 \end{pmatrix}, \quad \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}, \quad \text{and} \quad \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} \] We can see that these are linearly independent. ```python exec="1" source="above" import numpy as np from toqito.matrix_props import is_linearly_independent v_1 = np.array([[1], [0], [1]]) v_2 = np.array([[1], [1], [0]]) v_3 = np.array([[0], [0], [1]]) print(is_linearly_independent([v_1, v_2, v_3])) ``` Args: vectors: Vectors to check the linear independence of. Returns: Return `True` if vectors are linearly independent `False` otherwise. """ # Check if the rank of the matrix equals the number of vectors. return bool(np.linalg.matrix_rank(np.column_stack(vectors)) == len(vectors))