naginterfaces.library.linsys.real_tridiag_solve¶
- naginterfaces.library.linsys.real_tridiag_solve(n, dl, d, du, b)[source]¶
real_tridiag_solve
computes the solution to a real system of linear equations , where is an tridiagonal matrix and and are matrices. An estimate of the condition number of and an error bound for the computed solution are also returned.For full information please refer to the NAG Library document for f04bc
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/f04/f04bcf.html
- Parameters
- nint
The number of linear equations , i.e., the order of the matrix .
- dlfloat, array-like, shape
Must contain the subdiagonal elements of the matrix .
- dfloat, array-like, shape
Must contain the diagonal elements of the matrix .
- dufloat, array-like, shape
Must contain the superdiagonal elements of the matrix
- bfloat, array-like, shape
The matrix of right-hand sides .
- Returns
- dlfloat, ndarray, shape
If no exception is raised, is overwritten by the multipliers that define the matrix from the factorization of .
- dfloat, ndarray, shape
If no exception is raised, is overwritten by the diagonal elements of the upper triangular matrix from the factorization of .
- dufloat, ndarray, shape
If no exception is raised, is overwritten by the elements of the first superdiagonal of .
- du2float, ndarray, shape
If no exception is raised, returns the elements of the second superdiagonal of .
- ipivint, ndarray, shape
If no exception is raised, the pivot indices that define the permutation matrix ; at the th step row of the matrix was interchanged with row . will always be either or ; indicates a row interchange was not required.
- bfloat, ndarray, shape
If the function exits successfully or = + 1, the solution matrix .
- rcondfloat
If no constraints are violated, an estimate of the reciprocal of the condition number of the matrix , computed as .
- errbndfloat
If the function exits successfully or = + 1, an estimate of the forward error bound for a computed solution , such that , where is a column of the computed solution returned in the array and is the corresponding column of the exact solution . If is less than machine precision, is returned as unity.
- Raises
- NagValueError
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, .
Constraint: .
- Warns
- NagAlgorithmicWarning
- (errno )
Diagonal element of the upper triangular factor is zero. The factorization has been completed, but the solution could not be computed.
- (errno )
A solution has been computed, but is less than machine precision so that the matrix is numerically singular.
- Notes
The decomposition with partial pivoting and row interchanges is used to factor as , where is a permutation matrix, is unit lower triangular with at most one nonzero subdiagonal element, and is an upper triangular band matrix with two superdiagonals. The factored form of is then used to solve the system of equations .
Note that the equations may be solved by interchanging the order of the arguments and .
- References
Anderson, E, Bai, Z, Bischof, C, Blackford, S, Demmel, J, Dongarra, J J, Du Croz, J J, Greenbaum, A, Hammarling, S, McKenney, A and Sorensen, D, 1999, LAPACK Users’ Guide, (3rd Edition), SIAM, Philadelphia, https://www.netlib.org/lapack/lug
Higham, N J, 2002, Accuracy and Stability of Numerical Algorithms, (2nd Edition), SIAM, Philadelphia