| |
- L1U(A, d)
- Compute the L1U-factorization of the d-banded matrix A.
Returns a lower triangular matrix L with with ones on the diagonal, and an upper triangular matrix U.
Note that, for d=1, the algorithm is equivalent to trisolve.
A: A matrix
d: The band-width
- L1Uv2(A, d)
- Compute the L1U-factorization of the d-banded matrix A.
This is more advanced than L1U in the sense that it avoids allocation of new arrays: The result is stored directly in A (i.e. in-place), i.e.
overwriting the previous A. The entries in A and U are at the same places in A, and the diagonal with ones in L is not stored in A.
In order to achieve this, we can't use the function rforwardsolve, as L1U uses it (due to the special form with ones on the diagonal).
A: A matrix
d: The band-width
- LDL(A, d)
- Find the LDL factorization of the hermitian matrix A, using algorithm 3.4
A: A hermitian matrix
d: The band-width
- bandcholesky(A, d)
- Find the Cholesky factorization of the positive definite matrix A, using algorithm 3.13
A: A positive definite matrix
d: The band-width
- bandsemicholeskyL(A, d)
- Find the Cholesky factorization of the positive semidefinite matrix A, using algorithm 3.24
The input matrix A will be changed by this method
A: A positive semidefinite matrix
d: The band-width
- cbacksolve(A, b, d)
- Solve the system A*x = b for a upper triangular d-banded matrix A, using algorithm 2.10 (column-oriented backward substitution)
The input vector b will be updated with the solution x (i.e. in-place).
A: An upper triangular matrix
b: The right hand side
d: The band-width
- cforwardsolve(A, b, d)
- Solve the system A*x = b for a lower triangular d-banded matrix A, using algorithm 2.9 (column-oriented forward substitution)
The input vector b will be updated with the solution x (i.e. in-place).
A: A lower triangular matrix
b: The right hand side
d: The band-width
- findsubintervals(t, x)
- Use algorithm 1.21 to return an index set for the points in x, saying which intervals they belong to.
t: the start points of the intervals
x: The points to find the interval indices for.
- housegen(x)
- Return u and a in Theorem 4.16, using algorithm 4.17
x: The vector to reflect on ae_1
- housetriang(A, B)
- Return R, C so that R is upper trapezoidal and resulting from a series of Householder transformations to A, and C so that it results from applying the same series of Householder transformations to B.
This is algorithm 4.21
A: The matrix to apply Householder transformations to, in order to transform it to upper trapezoidal form.
B: The matrix to apply the same Householder transformations to.
- rbacksolve(A, b, d)
- Solve the system A*x = b for an upper triangular d-banded matrix A, using algorithm 2.7 (row-oriented backward substitution)
The input vector b will be updated with the solution x (i.e. in-place).
A: An upper triangular matrix
b: The right hand side
d: The band-width
- rforwardsolve(A, b, d)
- Solve the system A*x = b for a lower triangular d-banded matrix A, using algorithm 2.6 (row-oriented forward substitution)
The input vector b will be updated with the solution x (i.e. in-place).
A: A lower triangular matrix
b: The right hand side
d: The band-width
- rothesstri(A, b)
- Solve the system Ax=b where A is in upper Hessenberg form using Givens rotations, using algorithm 4.36
A: A matrix in upper Hessenberg form.
b: The right hand side.
- splineint(a, b, y, mu1, munp1)
- Use algorithm 1.19 to solve the D_2 spline problem.
Returns the left end points of all sub-inetrvals, and a matrix holding all coefficients in all the piecewise cubic polynomials
(one row for each piecewise polynomial)
a: The left end point of the interval
b: The rigth end point of the interval
y: The values at the interpolation points
mu1 and munp1: Initial conditions/moments.
- splineval(x, C, X)
- Use algorithm 1.22 to compute and return the values of a cubic spline (x, C) at points X. (x, C) can be obtained with the function splineint.
x: The start points of the intervals.
C: A matrix holding all coefficients in all the piecewise cubic polynomials (one row for each piecewise polynomial)
X: The points we want to evaluate for the spline
- trifactor(a, d, c)
- Compute the entries in the LU-factorization of a tridiagonal matrix A using algorithm 1.8.
Returns the sequence l on the sub-diagonal of L, and the sequence u on the diagonal of U.
a: The n-1 entries on the sub-diagonal of A
d: The n entries on the diagonal of A
c: The n-1 entries on the super-diagonal of A
- trisolve(l, u, c, b)
- Compute the solution to a system on the form A*x=b with A a tridiagonal matrix, based on the LU-factorization of A
as given by the function trifactor (using algorithm 1.9).
The input vector b will be updated with the solution x (i.e. in-place).
l: The entries on the sub-diagonal of L in the LU-factorization of A
u: The entries on the diagonal of U in the LU-factorization of A
c: The entries on the super-diagonal of U in the LU-factorization of A (this equals the entries on the super-diagonal of A)
b: The right hand side
|