mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-07-24 08:42:41 +08:00
Fix sphinx/build_docs warnings for linear_algebra (#12483)
* Fix sphinx/build_docs warnings for linear_algebra/ * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
@ -6,17 +6,18 @@ def solve_linear_system(matrix: np.ndarray) -> np.ndarray:
|
||||
Solve a linear system of equations using Gaussian elimination with partial pivoting
|
||||
|
||||
Args:
|
||||
- matrix: Coefficient matrix with the last column representing the constants.
|
||||
- `matrix`: Coefficient matrix with the last column representing the constants.
|
||||
|
||||
Returns:
|
||||
- Solution vector.
|
||||
- Solution vector.
|
||||
|
||||
Raises:
|
||||
- ValueError: If the matrix is not correct (i.e., singular).
|
||||
- ``ValueError``: If the matrix is not correct (i.e., singular).
|
||||
|
||||
https://courses.engr.illinois.edu/cs357/su2013/lect.htm Lecture 7
|
||||
|
||||
Example:
|
||||
|
||||
>>> A = np.array([[2, 1, -1], [-3, -1, 2], [-2, 1, 2]], dtype=float)
|
||||
>>> B = np.array([8, -11, -3], dtype=float)
|
||||
>>> solution = solve_linear_system(np.column_stack((A, B)))
|
||||
|
@ -8,11 +8,15 @@ See: https://en.wikipedia.org/wiki/Rank_(linear_algebra)
|
||||
def rank_of_matrix(matrix: list[list[int | float]]) -> int:
|
||||
"""
|
||||
Finds the rank of a matrix.
|
||||
|
||||
Args:
|
||||
matrix: The matrix as a list of lists.
|
||||
`matrix`: The matrix as a list of lists.
|
||||
|
||||
Returns:
|
||||
The rank of the matrix.
|
||||
|
||||
Example:
|
||||
|
||||
>>> matrix1 = [[1, 2, 3],
|
||||
... [4, 5, 6],
|
||||
... [7, 8, 9]]
|
||||
|
@ -12,13 +12,14 @@ def schur_complement(
|
||||
) -> np.ndarray:
|
||||
"""
|
||||
Schur complement of a symmetric matrix X given as a 2x2 block matrix
|
||||
consisting of matrices A, B and C.
|
||||
Matrix A must be quadratic and non-singular.
|
||||
In case A is singular, a pseudo-inverse may be provided using
|
||||
the pseudo_inv argument.
|
||||
consisting of matrices `A`, `B` and `C`.
|
||||
Matrix `A` must be quadratic and non-singular.
|
||||
In case `A` is singular, a pseudo-inverse may be provided using
|
||||
the `pseudo_inv` argument.
|
||||
|
||||
| Link to Wiki: https://en.wikipedia.org/wiki/Schur_complement
|
||||
| See also Convex Optimization - Boyd and Vandenberghe, A.5.5
|
||||
|
||||
Link to Wiki: https://en.wikipedia.org/wiki/Schur_complement
|
||||
See also Convex Optimization - Boyd and Vandenberghe, A.5.5
|
||||
>>> import numpy as np
|
||||
>>> a = np.array([[1, 2], [2, 1]])
|
||||
>>> b = np.array([[0, 3], [3, 0]])
|
||||
|
@ -3,13 +3,15 @@
|
||||
|
||||
I have added the codes for reflection, projection, scaling and rotation 2D matrices.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
scaling(5) = [[5.0, 0.0], [0.0, 5.0]]
|
||||
rotation(45) = [[0.5253219888177297, -0.8509035245341184],
|
||||
[0.8509035245341184, 0.5253219888177297]]
|
||||
projection(45) = [[0.27596319193541496, 0.446998331800279],
|
||||
[0.446998331800279, 0.7240368080645851]]
|
||||
reflection(45) = [[0.05064397763545947, 0.893996663600558],
|
||||
[0.893996663600558, 0.7018070490682369]]
|
||||
rotation(45) = [[0.5253219888177297, -0.8509035245341184],
|
||||
[0.8509035245341184, 0.5253219888177297]]
|
||||
projection(45) = [[0.27596319193541496, 0.446998331800279],
|
||||
[0.446998331800279, 0.7240368080645851]]
|
||||
reflection(45) = [[0.05064397763545947, 0.893996663600558],
|
||||
[0.893996663600558, 0.7018070490682369]]
|
||||
"""
|
||||
|
||||
from math import cos, sin
|
||||
|
Reference in New Issue
Block a user