# `optimize._remove_redundancy`¶

Routines for removing redundant (linearly dependent) equations from linear programming equality constraints.

## Module Contents¶

### Functions¶

 `_row_count`(A) Counts the number of nonzeros in each row of input array A. `_get_densest`(A,eligibleRows) Returns the index of the densest row of A. Ignores rows that are not `_remove_zero_rows`(A,b) Eliminates trivial equations from system of equations defined by Ax = b `bg_update_dense`(plu,perm_r,v,j) `_remove_redundancy_dense`(A,rhs) Eliminates redundant equations from system of equations defined by Ax = b `_remove_redundancy_sparse`(A,rhs) Eliminates redundant equations from system of equations defined by Ax = b `_remove_redundancy`(A,b) Eliminates redundant equations from system of equations defined by Ax = b
`_row_count`(A)

Counts the number of nonzeros in each row of input array A. Nonzeros are defined as any element with absolute value greater than tol = 1e-13. This value should probably be an input to the function.

A : 2-D array
An array representing a matrix
rowcount : 1-D array
Number of nonzeros in each row of A
`_get_densest`(A, eligibleRows)

Returns the index of the densest row of A. Ignores rows that are not eligible for consideration.

A : 2-D array
An array representing a matrix
eligibleRows : 1-D logical array
Values indicate whether the corresponding row of A is eligible to be considered
i_densest : int
Index of the densest row in A eligible for consideration
`_remove_zero_rows`(A, b)

Eliminates trivial equations from system of equations defined by Ax = b and identifies trivial infeasibilities

A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the removal operation 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
`bg_update_dense`(plu, perm_r, v, j)
`_remove_redundancy_dense`(A, rhs)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D sparse matrix
An matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D sparse matrix
A matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
 [2] Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.
`_remove_redundancy_sparse`(A, rhs)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D sparse matrix
An matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D sparse matrix
A matrix representing the left-hand side of a system of equations
rhs : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
 [2] Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.
`_remove_redundancy`(A, b)

Eliminates redundant equations from system of equations defined by Ax = b and identifies infeasibilities.

A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
A : 2-D array
An array representing the left-hand side of a system of equations
b : 1-D array
An array representing the right-hand side of a system of equations
status: int
An integer indicating the status of the system 0: No infeasibility identified 2: Trivially infeasible
message : str
A string descriptor of the exit status of the optimization.
 [2] Andersen, Erling D. “Finding all linearly dependent rows in large-scale linear programming.” Optimization Methods and Software 6.3 (1995): 219-227.