You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: lib/node_modules/@stdlib/lapack/base/dgttrf/README.md
+64Lines changed: 64 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,70 @@ limitations under the License.
22
22
23
23
> Compute an `LU` factorization of a real tridiagonal matrix `A` using elimination with partial pivoting and row interchanges.
24
24
25
+
<sectionclass="intro">
26
+
27
+
The `dgttrf` routine computes an LU factorization of a real n-by-n tridiagonal matrix A using elimination with partial pivoting and row interchanges. The factorization has the form:
28
+
29
+
```math
30
+
A = L U
31
+
```
32
+
33
+
where L is a product of permutation and unit lower bidiagonal matrices and U is upper triangular with nonzeros in only the main diagonal and first two superdiagonals.
34
+
35
+
For a tridiagonal matrix A, its elements are stored in three arrays:
36
+
37
+
```math
38
+
A = \begin{bmatrix}
39
+
d_1 & du_1 & 0 & \cdots & 0 \\
40
+
dl_1 & d_2 & du_2 & \cdots & 0 \\
41
+
0 & dl_2 & d_3 & \ddots & \vdots \\
42
+
\vdots & \ddots & \ddots & \ddots & du_{n-1}\\
43
+
0 & \cdots & 0 & dl_{n-1} & d_n
44
+
\end{bmatrix}
45
+
```
46
+
47
+
where:
48
+
49
+
-`dl` contains the subdiagonal elements
50
+
-`d` contains the diagonal elements
51
+
-`du` contains the superdiagonal elements
52
+
53
+
After factorization, the elements of L and U overwrite the input arrays, where:
54
+
55
+
-`dl` contains the multipliers that define unit lower bidiagonal matrix L
56
+
-`d` contains the diagonal elements of U
57
+
-`du` and `du2` contain the elements of U on the first and second superdiagonals
58
+
59
+
The resulting L and U matrices have the following structure:
60
+
61
+
```math
62
+
L = \begin{bmatrix}
63
+
1 & 0 & 0 & \cdots & 0 \\
64
+
l_1 & 1 & 0 & \cdots & 0 \\
65
+
0 & l_2 & 1 & \ddots & \vdots \\
66
+
\vdots & \ddots & \ddots & \ddots & 0 \\
67
+
0 & \cdots & 0 & l_{n-1} & 1
68
+
\end{bmatrix}
69
+
```
70
+
71
+
```math
72
+
U = \begin{bmatrix}
73
+
u_{1,1} & u_{1,2} & u_{1,3} & \cdots & 0 \\
74
+
0 & u_{2,2} & u_{2,3} & u_{2,4} & 0 \\
75
+
0 & 0 & u_{3,3} & \ddots & \ddots \\
76
+
\vdots & \vdots & \ddots & \ddots & u_{n-1,n}\\
77
+
0 & 0 & \cdots & 0 & u_{n,n}
78
+
\end{bmatrix}
79
+
```
80
+
81
+
<!-- </equation> -->
82
+
83
+
where the `l_i` values are stored in `dl`, the diagonal elements `u_{i,i}` are stored in `d`, and the superdiagonal elements `u_{i,i+1}` and `u_{i,i+2}` are stored in `du` and `du2` respectively.
0 commit comments