@@ -302,6 +302,46 @@ end subroutine <prefix2c>heevd_lwork
302
302
end subroutine <prefix>sytrf_lwork
303
303
304
304
305
+ subroutine <prefix>sytrs(n,nrhs,a,lda,ipiv,b,ldb,info,lower)
306
+
307
+ ! Solve A * X = B for symmetric A matrix after calling ?sytrf
308
+
309
+ callstatement (*f2py_func)((lower?"L":"U"),&n,&nrhs,a,&lda,ipiv,b,&ldb,&info)
310
+ callprotoargument char*,F_INT*,F_INT*,<ctype>*,F_INT*,F_INT*,<ctype>*,F_INT*,F_INT*
311
+
312
+ <ftype> intent(in), dimension(lda, n), check((lda >= n) && (n >= 0)) :: a
313
+ <ftype> intent(in,out,copy,out=x),dimension(ldb, nrhs) :: b
314
+ integer optional,intent(in),check(lower==0||lower==1) :: lower = 0
315
+ integer intent(in),dimension(n),depend(n) :: ipiv
316
+ integer intent(hide), depend(a),check(n >= 0) :: n = shape(a, 1)
317
+ integer intent(hide), depend(b) :: nrhs = shape(b, 1)
318
+ integer intent(hide), depend(a) :: lda = MAX(1, shape(a, 0))
319
+ integer intent(hide), depend(b,n),check(ldb >= n) :: ldb = MAX(1, shape(b, 0))
320
+ integer intent(out) :: info
321
+
322
+ end subroutine <prefix>sytrs
323
+
324
+
325
+ subroutine <prefix2c>hetrs(n,nrhs,a,lda,ipiv,b,ldb,info,lower)
326
+
327
+ ! Solve A * X = B for hermitian A matrix after calling ?hetrf
328
+
329
+ callstatement (*f2py_func)((lower?"L":"U"),&n,&nrhs,a,&lda,ipiv,b,&ldb,&info)
330
+ callprotoargument char*,F_INT*,F_INT*,<ctype2c>*,F_INT*,F_INT*,<ctype2c>*,F_INT*,F_INT*
331
+
332
+ <ftype2c> intent(in), dimension(lda, n), check((lda >= n) && (n >= 0)) :: a
333
+ <ftype2c> intent(in,out,copy,out=x),dimension(ldb, nrhs) :: b
334
+ integer optional,intent(in),check(lower==0||lower==1) :: lower = 0
335
+ integer intent(in),dimension(n),depend(n) :: ipiv
336
+ integer intent(hide), depend(a),check(n >= 0) :: n = shape(a, 1)
337
+ integer intent(hide), depend(b) :: nrhs = shape(b, 1)
338
+ integer intent(hide), depend(a) :: lda = MAX(1, shape(a, 0))
339
+ integer intent(hide), depend(b,n),check(ldb >= n) :: ldb = MAX(1, shape(b, 0))
340
+ integer intent(out) :: info
341
+
342
+ end subroutine <prefix2c>hetrs
343
+
344
+
305
345
subroutine <prefix>sysv(n,nrhs,a,lda,ipiv,b,ldb,work,lwork,info,lower)
306
346
307
347
! Solve A * X = B for symmetric A matrix
0 commit comments