@@ -66,6 +66,57 @@ subroutine <prefix>gttrs(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info)
66
66
end subroutine gttrs
67
67
68
68
69
+ subroutine <prefix2>gtcon(norm,n,dl,d,du,du2,ipiv,anorm,rcond,work,iwork,info)
70
+ ! ?GTCON estimates the reciprocal of the condition number of a real
71
+ ! tridiagonal matrix A using the LU factorization as computed by
72
+ ! ?GTTRF.
73
+ ! An estimate is obtained for norm(inv(A)), and the reciprocal of the
74
+ ! condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
75
+ threadsafe
76
+ callstatement (*f2py_func)(norm,&n,dl,d,du,du2,ipiv,&anorm,&rcond,work,iwork,&info)
77
+ callprotoargument char*, F_INT*, <ctype2>*, <ctype2>*, <ctype2>*, <ctype2>*, F_INT*, <ctype2>*, <ctype2>*, <ctype2>*, F_INT*, F_INT*
78
+
79
+ character optional, intent(in) :: norm = '1'
80
+ integer intent(hide), depend(d) :: n = max(3, len(d))
81
+ <ftype2> intent(in), depend(n), dimension(n - 1) :: dl
82
+ <ftype2> intent(in), dimension(n) :: d
83
+ <ftype2> intent(in), depend(n), dimension(n - 1) :: du
84
+ <ftype2> intent(in), depend(n), dimension(n - 2) :: du2
85
+ integer intent(in), depend(n), dimension(n) :: ipiv
86
+ <ftype2> intent(in) :: anorm
87
+ <ftype2> intent(out) :: rcond
88
+ <ftype2> intent(hide, cache), dimension(2*n), depend(n) :: work
89
+ integer intent(hide, cache), dimension(n), depend(n) :: iwork
90
+ integer intent(out) :: info
91
+
92
+ end subroutine <prefix2>gtcon
93
+
94
+
95
+ subroutine <prefix2c>gtcon(norm,n,dl,d,du,du2,ipiv,anorm,rcond,work,info)
96
+ ! ?GTCON estimates the reciprocal of the condition number of a real
97
+ ! tridiagonal matrix A using the LU factorization as computed by
98
+ ! ?GTTRF.
99
+ ! An estimate is obtained for norm(inv(A)), and the reciprocal of the
100
+ ! condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
101
+ threadsafe
102
+ callstatement (*f2py_func)(norm,&n,dl,d,du,du2,ipiv,&anorm,&rcond,work,&info)
103
+ callprotoargument char*, F_INT*, <ctype2c>*, <ctype2c>*, <ctype2c>*, <ctype2c>*, F_INT*, <ctype2>*, <ctype2>*, <ctype2c>*, F_INT*
104
+
105
+ character optional, intent(in) :: norm = '1'
106
+ integer intent(hide), depend(d) :: n = max(3, len(d))
107
+ <ftype2c> intent(in), depend(n), dimension(n - 1) :: dl
108
+ <ftype2c> intent(in), dimension(n) :: d
109
+ <ftype2c> intent(in), depend(n), dimension(n - 1) :: du
110
+ <ftype2c> intent(in), depend(n), dimension(n - 2) :: du2
111
+ integer intent(in), depend(n), dimension(n) :: ipiv
112
+ <ftype2> intent(in) :: anorm
113
+ <ftype2> intent(out) :: rcond
114
+ <ftype2c> intent(hide, cache), dimension(2*n), depend(n) :: work
115
+ integer intent(out) :: info
116
+
117
+ end subroutine <prefix2c>gtcon
118
+
119
+
69
120
subroutine <prefix2>gtsvx(fact,trans,n,nrhs,dl,d,du,dlf,df,duf,du2,ipiv,b,ldb,x,ldx,rcond,ferr,berr,work,iwork,info)
70
121
! ?GTSVX uses the LU factorization to compute the solution to a real
71
122
! system of linear equations A * X = B or A**T * X = B,
0 commit comments