@@ -251,11 +251,9 @@ module stdlib_linalg
251
251
!! or several (from a 2-d right-hand-side vector `b(:,:)`) systems.
252
252
!!
253
253
!!@note The solution is based on LAPACK's generic LU decomposition based solvers `*GESV`.
254
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
255
254
!!
256
255
#:for nd,ndsuf,nde in ALL_RHS
257
256
#:for rk,rt,ri in RC_KINDS_TYPES
258
- #:if rk!="xdp"
259
257
module function stdlib_linalg_${ri}$_solve_${ndsuf}$(a,b,overwrite_a,err) result(x)
260
258
!> Input matrix a[n,n]
261
259
${rt}$, intent(inout), target :: a(:,:)
@@ -276,7 +274,6 @@ module stdlib_linalg
276
274
!> Result array/matrix x[n] or x[n,nrhs]
277
275
${rt}$, allocatable, target :: x${nd}$
278
276
end function stdlib_linalg_${ri}$_pure_solve_${ndsuf}$
279
- #:endif
280
277
#:endfor
281
278
#:endfor
282
279
end interface solve
@@ -302,11 +299,9 @@ module stdlib_linalg
302
299
!! or several (from a 2-d right-hand-side vector `b(:,:)`) systems.
303
300
!!
304
301
!!@note The solution is based on LAPACK's generic LU decomposition based solvers `*GESV`.
305
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
306
302
!!
307
303
#:for nd,ndsuf,nde in ALL_RHS
308
304
#:for rk,rt,ri in RC_KINDS_TYPES
309
- #:if rk!="xdp"
310
305
pure module subroutine stdlib_linalg_${ri}$_solve_lu_${ndsuf}$(a,b,x,pivot,overwrite_a,err)
311
306
!> Input matrix a[n,n]
312
307
${rt}$, intent(inout), target :: a(:,:)
@@ -321,7 +316,6 @@ module stdlib_linalg
321
316
!> [optional] state return flag. On error if not requested, the code will stop
322
317
type(linalg_state_type), optional, intent(out) :: err
323
318
end subroutine stdlib_linalg_${ri}$_solve_lu_${ndsuf}$
324
- #:endif
325
319
#:endfor
326
320
#:endfor
327
321
end interface solve_lu
@@ -342,11 +336,9 @@ module stdlib_linalg
342
336
!! Supported data types include `real` and `complex`.
343
337
!!
344
338
!!@note The solution is based on LAPACK's singular value decomposition `*GELSD` methods.
345
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
346
339
!!
347
340
#:for nd,ndsuf,nde in ALL_RHS
348
341
#:for rk,rt,ri in RC_KINDS_TYPES
349
- #:if rk!="xdp"
350
342
module function stdlib_linalg_${ri}$_lstsq_${ndsuf}$(a,b,cond,overwrite_a,rank,err) result(x)
351
343
!> Input matrix a[n,n]
352
344
${rt}$, intent(inout), target :: a(:,:)
@@ -363,7 +355,6 @@ module stdlib_linalg
363
355
!> Result array/matrix x[n] or x[n,nrhs]
364
356
${rt}$, allocatable, target :: x${nd}$
365
357
end function stdlib_linalg_${ri}$_lstsq_${ndsuf}$
366
- #:endif
367
358
#:endfor
368
359
#:endfor
369
360
end interface lstsq
@@ -385,11 +376,9 @@ module stdlib_linalg
385
376
!! are provided, no internal memory allocations take place when using this interface.
386
377
!!
387
378
!!@note The solution is based on LAPACK's singular value decomposition `*GELSD` methods.
388
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
389
379
!!
390
380
#:for nd,ndsuf,nde in ALL_RHS
391
381
#:for rk,rt,ri in RC_KINDS_TYPES
392
- #:if rk!="xdp"
393
382
module subroutine stdlib_linalg_${ri}$_solve_lstsq_${ndsuf}$(a,b,x,real_storage,int_storage,&
394
383
#{if rt.startswith('c')}#cmpl_storage,#{endif}#cond,singvals,overwrite_a,rank,err)
395
384
!> Input matrix a[n,n]
@@ -417,7 +406,6 @@ module stdlib_linalg
417
406
!> [optional] state return flag. On error if not requested, the code will stop
418
407
type(linalg_state_type), optional, intent(out) :: err
419
408
end subroutine stdlib_linalg_${ri}$_solve_lstsq_${ndsuf}$
420
- #:endif
421
409
#:endfor
422
410
#:endfor
423
411
end interface solve_lstsq
@@ -438,7 +426,6 @@ module stdlib_linalg
438
426
!!
439
427
#:for nd,ndsuf,nde in ALL_RHS
440
428
#:for rk,rt,ri in RC_KINDS_TYPES
441
- #:if rk!="xdp"
442
429
pure module subroutine stdlib_linalg_${ri}$_lstsq_space_${ndsuf}$(a,b,lrwork,liwork#{if rt.startswith('c')}#,lcwork#{endif}#)
443
430
!> Input matrix a[m,n]
444
431
${rt}$, intent(in), target :: a(:,:)
@@ -447,7 +434,6 @@ module stdlib_linalg
447
434
!> Size of the working space arrays
448
435
integer(ilp), intent(out) :: lrwork,liwork#{if rt.startswith('c')}#,lcwork#{endif}#
449
436
end subroutine stdlib_linalg_${ri}$_lstsq_space_${ndsuf}$
450
- #:endif
451
437
#:endfor
452
438
#:endfor
453
439
end interface lstsq_space
@@ -573,7 +559,6 @@ module stdlib_linalg
573
559
!! It is possible to use partial storage [m,k] and [k,n], `k=min(m,n)`, choosing `full_matrices=.false.`.
574
560
!!
575
561
!!@note The solution is based on LAPACK's singular value decomposition `*GESDD` methods.
576
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
577
562
!!
578
563
!!### Example
579
564
!!
@@ -586,7 +571,6 @@ module stdlib_linalg
586
571
!!```
587
572
!!
588
573
#:for rk,rt,ri in RC_KINDS_TYPES
589
- #:if rk!="xdp"
590
574
module subroutine stdlib_linalg_svd_${ri}$(a,s,u,vt,overwrite_a,full_matrices,err)
591
575
!!### Summary
592
576
!! Compute singular value decomposition of a matrix \( A = U \cdot S \cdot \V^T \)
@@ -622,7 +606,6 @@ module stdlib_linalg
622
606
!> [optional] state return flag. On error if not requested, the code will stop
623
607
type(linalg_state_type), optional, intent(out) :: err
624
608
end subroutine stdlib_linalg_svd_${ri}$
625
- #:endif
626
609
#:endfor
627
610
end interface svd
628
611
@@ -645,7 +628,6 @@ module stdlib_linalg
645
628
!! singular values, with size [min(m,n)].
646
629
!!
647
630
!!@note The solution is based on LAPACK's singular value decomposition `*GESDD` methods.
648
- !!@note BLAS/LAPACK backends do not currently support extended precision (``xdp``).
649
631
!!
650
632
!!### Example
651
633
!!
@@ -658,7 +640,6 @@ module stdlib_linalg
658
640
!!```
659
641
!!
660
642
#:for rk,rt,ri in RC_KINDS_TYPES
661
- #:if rk!="xdp"
662
643
module function stdlib_linalg_svdvals_${ri}$(a,err) result(s)
663
644
!!### Summary
664
645
!! Compute singular values \(S \) from the singular-value decomposition of a matrix \( A = U \cdot S \cdot \V^T \).
@@ -682,7 +663,6 @@ module stdlib_linalg
682
663
!> Array of singular values
683
664
real(${rk}$), allocatable :: s(:)
684
665
end function stdlib_linalg_svdvals_${ri}$
685
- #:endif
686
666
#:endfor
687
667
end interface svdvals
688
668
0 commit comments