lagts(3)
π NAME π
okay bestie, this is lagts(3) from the Library Functions Manual, and the name is literally:
lagts β lagts: LU solve of (T - Ξ»I) x = y
periodt. That's the whole name. π
β¨ SYNOPSIS β¨
okay so there are two iconique functions here, and both are giving solve the tridiagonal system with the LU factorization from slagtf energy. Here's the exact tea:
dlagtsβ the double-precision one.
subroutine dlagts (job, n, a, b, c, d, in, y, tol, info)
DLAGTS solves the system of equations (T-Ξ»I)x = y or (T-Ξ»I)^Tx = y, where T is a general tridiagonal matrix and Ξ» a scalar, using the LU factorization computed by slagtf.
slagtsβ the real-precision one.
subroutine slagts (job, n, a, b, c, d, in, y, tol, info)
SLAGTS solves the system of equations (T-Ξ»I)x = y or (T-Ξ»I)^Tx = y, where T is a general tridiagonal matrix and Ξ» a scalar, using the LU factorization computed by slagtf.
πΈ Detailed Description πΈ
ngl this heading is lowkey just vibes β the real content is the function documentation right below, and that section is the main character. Vibe check: no cap, that's where the parameters live. π«Ά
π Function Documentation π
π dlagts β double precision, double the slay
subroutine dlagts (integer job, integer n, double precision, dimension( * ) a, double precision, dimension( * ) b, double precision, dimension( * ) c, double precision, dimension( * ) d, integer, dimension( * ) in, double precision, dimension( * ) y, double precision tol, integer info)
DLAGTS solves the system of equations (T-Ξ»I)x = y or (T-Ξ»I)^Tx = y, where T is a general tridiagonal matrix and Ξ» a scalar, using the LU factorization computed by slagtf.
π¦ Purpose
okay so here's the vibe: DLAGTS may be used to solve one of these systems for x:
(T - lambda*I)*x = y or (T - lambda*I)**T*x = y,
where T is an n by n tridiagonal matrix, after (T - lambda*I) has been factored as:
(T - lambda*I) = P*L*U ,
by routine DLAGTF. The argument JOB controls which equation gets solved, and in each case there's an option to perturb zero or very small diagonal elements of U. That option is intended for applications such as inverse iteration. π
π₯ Parameters
JOBβ INTEGER. Specifies the jobDLAGTSdoes, and the values are literally:= 1: solve(T - lambda*I)x = y, but do not perturb diagonal elements of U.= -1: solve(T - lambda*I)x = y, and if overflow would otherwise occur, perturb the diagonal elements of U. SeeTOLbelow.= 2: solve(T - lambda*I)**Tx = y, but do not perturb diagonal elements of U.= -2: solve(T - lambda*I)**Tx = y, and if overflow would otherwise occur, perturb the diagonal elements of U. SeeTOLbelow.
Nβ INTEGER. The order of the matrix T.Aβ DOUBLE PRECISION array, dimension(N). On entry,Amust contain the diagonal elements of U as returned fromDLAGTF.Bβ DOUBLE PRECISION array, dimension(N-1). On entry,Bmust contain the first super-diagonal elements of U as returned fromDLAGTF.Cβ DOUBLE PRECISION array, dimension(N-1). On entry,Cmust contain the sub-diagonal elements of L as returned fromDLAGTF.Dβ DOUBLE PRECISION array, dimension(N-2). On entry,Dmust contain the second super-diagonal elements of U as returned fromDLAGTF.INβ INTEGER array, dimension(N). On entry,INmust contain details of the matrix P as returned fromDLAGTF.Yβ DOUBLE PRECISION array, dimension(N). On entry, the right hand side vector y. On exit,Yis overwritten by the solution vector x. (not me, the solution is literally in Y now π)TOLβ DOUBLE PRECISION. On entry, withJOB < 0,TOLshould be the minimum perturbation to be made to very small diagonal elements of U.TOLshould normally be chosen as abouteps*norm(U), whereepsis the relative machine precision, but ifTOLis supplied as non-positive, then it is reset toeps*max( abs( u(i,j) ) ). IfJOB > 0thenTOLis not referenced. On exit,TOLis changed as described above, only ifTOLis non-positive on entry. OtherwiseTOLis unchanged.INFOβ INTEGER. Exit status tea:= 0: successful exit. slay.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: overflow would occur when computing theINFO(th)element of the solution vector x. This can only occur whenJOBis supplied as positive, and either means that a diagonal element of U is very small, or that the elements of the right-hand side vector y are very large. β οΈ this is the danger zone, bestie.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 162 of file dlagts.f.
π slagts β real precision, real iconic
subroutine slagts (integer job, integer n, real, dimension( * ) a, real, dimension( * ) b, real, dimension( * ) c, real, dimension( * ) d, integer, dimension( * ) in, real, dimension( * ) y, real tol, integer info)
SLAGTS solves the system of equations (T-Ξ»I)x = y or (T-Ξ»I)^Tx = y, where T is a general tridiagonal matrix and Ξ» a scalar, using the LU factorization computed by slagtf.
π¦ Purpose
okay so same energy as above but in REAL precision: SLAGTS may be used to solve one of these systems for x:
(T - lambda*I)*x = y or (T - lambda*I)**T*x = y,
where T is an n by n tridiagonal matrix, after (T - lambda*I) has been factored as:
(T - lambda*I) = P*L*U ,
by routine SLAGTF. The argument JOB controls which equation gets solved, and in each case there's an option to perturb zero or very small diagonal elements of U. That option is intended for applications such as inverse iteration. π
π₯ Parameters
JOBβ INTEGER. Specifies the jobSLAGTSdoes, and the values are literally:= 1: solve(T - lambda*I)x = y, but do not perturb diagonal elements of U.= -1: solve(T - lambda*I)x = y, and if overflow would otherwise occur, perturb the diagonal elements of U. SeeTOLbelow.= 2: solve(T - lambda*I)**Tx = y, but do not perturb diagonal elements of U.= -2: solve(T - lambda*I)**Tx = y, and if overflow would otherwise occur, perturb the diagonal elements of U. SeeTOLbelow.
Nβ INTEGER. The order of the matrix T.Aβ REAL array, dimension(N). On entry,Amust contain the diagonal elements of U as returned fromSLAGTF.Bβ REAL array, dimension(N-1). On entry,Bmust contain the first super-diagonal elements of U as returned fromSLAGTF.Cβ REAL array, dimension(N-1). On entry,Cmust contain the sub-diagonal elements of L as returned fromSLAGTF.Dβ REAL array, dimension(N-2). On entry,Dmust contain the second super-diagonal elements of U as returned fromSLAGTF.INβ INTEGER array, dimension(N). On entry,INmust contain details of the matrix P as returned fromSLAGTF.Yβ REAL array, dimension(N). On entry, the right hand side vector y. On exit,Yis overwritten by the solution vector x. (again, x is literally living in Y now π)TOLβ REAL. On entry, withJOB < 0,TOLshould be the minimum perturbation to be made to very small diagonal elements of U.TOLshould normally be chosen as abouteps*norm(U), whereepsis the relative machine precision, but ifTOLis supplied as non-positive, then it is reset toeps*max( abs( u(i,j) ) ). IfJOB > 0thenTOLis not referenced. On exit,TOLis changed as described above, only ifTOLis non-positive on entry. OtherwiseTOLis unchanged.INFOβ INTEGER. Exit status tea:= 0: successful exit. slay.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0: overflow would occur when computing theINFO(th)element of the solution vector x. This can only occur whenJOBis supplied as positive, and either means that a diagonal element of U is very small, or that the elements of the right-hand side vector y are very large. β οΈ overflow warning, bestie.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 162 of file slagts.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
bestie, that's the whole lagts(3) page β brought to you by LAPACK Version 3.12.0, and there's no date on this footer, just the version and the page name lagts(3). periodt π
β¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms