certlin.utility¶
Utility functions¶
Functions
|
Solve a linear system of equations without division. |
Classes
|
Combinatorial object of all combinations that include given elements |
- class certlin.utility.CombinationsIncluding(mset, k, elements=None)¶
Combinatorial object of all combinations that include given elements
EXAMPLES:
We generate all subsets of
range(4)with2elements that include the element2:sage: from certlin.utility import CombinationsIncluding sage: C = CombinationsIncluding(4, 2, [2]) sage: list(C) [[0, 2], [1, 2], [2, 3]] sage: list(reversed(C)) [[2, 3], [1, 2], [0, 2]]
- certlin.utility.solve_without_division(matrix: matrix, rhs: vector) vector¶
Solve a linear system of equations without division.
Use a circuit to compute \(x\) for
\[A x = \lambda b\]where \(\lambda\) is any positive constant.
EXAMPLES:
sage: from certlin.utility import solve_without_division sage: A = matrix([[1, 2], [0, 1], [1, -1]]) sage: b = vector([1, 0, 1]) sage: solve_without_division(A, b) (1, 0) sage: A = matrix([[1, 4], [0, 2], [1, -2]]) sage: b = vector([6, 2, 0]) sage: solve_without_division(A, b) (4, 2) sage: A.solve_right(b) (2, 1) sage: A = matrix([[1, 1, 1], [0, 1, 2]]) sage: b = vector([2, 3]) sage: solve_without_division(A, b) (0, 1, 1)
TESTS:
sage: M = matrix([[1, 0, 1], [1, 0, 2]]) sage: rhs = vector([1, 1]) sage: solve_without_division(M, rhs) (1, 0, 0)
sage: M = matrix([[1, 1], [1, 1]]) sage: rhs = vector([1, 2]) sage: solve_without_division(M, rhs) Traceback (most recent call last): ... ValueError: No circuit with nonzero last component found. A solution might exist.