@@ -8,9 +8,33 @@ submodule (stdlib_linalg) stdlib_linalg_schur
88 implicit none(type,external)
99
1010 character(*), parameter :: this = 'schur'
11+
12+ !> List of internal GEES tasks:
13+ !> No task request
14+ character, parameter :: GEES_NOT = 'N'
15+
16+ !> Request Schur vectors to be computed
17+ character, parameter :: GEES_WITH_VECTORS = 'V'
18+
19+ !> Request Schur vectors to be sorted
20+ character, parameter :: GEES_SORTED_VECTORS = 'S'
1121
1222 contains
1323
24+ !> Wrapper function for Schur vectors request
25+ elemental character function gees_vectors(wanted)
26+ !> Are Schur vectors wanted?
27+ logical(lk), intent(in) :: wanted
28+ gees_vectors = merge(GEES_WITH_VECTORS,GEES_NOT,wanted)
29+ end function gees_vectors
30+
31+ !> Wrapper function for Schur vectors request
32+ elemental character function gees_sort_eigs(sorted)
33+ !> Should the eigenvalues be sorted?
34+ logical(lk), intent(in) :: sorted
35+ gees_sort_eigs = merge(GEES_SORTED_VECTORS,GEES_NOT,sorted)
36+ end function gees_sort_eigs
37+
1438 !> Wrapper function to handle GEES error codes
1539 elemental subroutine handle_gees_info(info, m, n, ldvs, err)
1640 integer(ilp), intent(in) :: info, m, n, ldvs
0 commit comments