Characteristic polynomials¶
Module name: thewalrus.charpoly
This module implements La Budde’s algorithm to calculate the characteristic polynomials of matrices.
Summary¶
|
Compute reflection vector for householder transformation on general complex matrices. |
|
Apply householder transformation on a matrix A. |
|
Reduce the matrix to upper hessenberg form without Lapack. |
|
Calculates the characteristic polynomial of the matrix |
|
Calculates the powertraces of the matrix |
Code details¶
- apply_householder(A, v, k)[source]¶
Apply householder transformation on a matrix A. See Matrix Computations by Golub and Van Loan (4th Edition) Sections 5.1.4 and 7.4.2.
- Parameters:
A (array) – A matrix to apply householder on
v (array) – reflection vector
size_A (int) – size of matrix A
k (int) – offset for submatrix
- charpoly(H)[source]¶
Calculates the characteristic polynomial of the matrix
H
.- Parameters:
H (array) – square matrix
- Returns
(array): list of power traces from
0
ton-1
- get_reflection_vector(matrix, k)[source]¶
Compute reflection vector for householder transformation on general complex matrices. See Introduction to Numerical Analysis-Springer New York (2002) (3rd Edition) by J. Stoer and R. Bulirsch Section 6.5.1.
- Parameters:
matrix (array) – the matrix in the householder transformation
k (int) – offset for submatrix
- Returns:
reflection vector
- Return type:
array
- powertrace(H, n)[source]¶
Calculates the powertraces of the matrix
H
up to powern-1
.- Parameters:
H (array) – square matrix
n (int) – required order
- Returns:
list of power traces from
0
ton-1
- Return type:
(array)
- reduce_matrix_to_hessenberg(matrix)[source]¶
Reduce the matrix to upper hessenberg form without Lapack. This function only accepts Row-Order matrices.
- Parameters:
matrix (array) – the matrix to be reduced
- Returns:
matrix in hessenberg form
- Return type:
array