Skip to content

Commit 874b678

Browse files
author
scr2016
committed
addedd LAPACKE routunes for new Householder reconstruction routines
( SGETSQRHRT, SORGTSQR_ROW, DGETSQRHRT, DORGTSQR_ROW, CGETSQRHRT, CUNGTSQR_ROW, ZGETSQRHRT, ZUNGTSQR_ROW ) S, D, C and Z precisions. modified: include/lapack.h modified: include/lapacke.h modified: src/CMakeLists.txt modified: src/Makefile new file: src/lapacke_cgetsqrhrt.c new file: src/lapacke_cgetsqrhrt_work.c new file: src/lapacke_cungtsqr_row.c new file: src/lapacke_cungtsqr_row_work.c new file: src/lapacke_dgetsqrhrt.c new file: src/lapacke_dgetsqrhrt_work.c new file: src/lapacke_dorgtsqr_row.c new file: src/lapacke_dorgtsqr_row_work.c new file: src/lapacke_sgetsqrhrt.c new file: src/lapacke_sgetsqrhrt_work.c new file: src/lapacke_sorgtsqr_row.c new file: src/lapacke_sorgtsqr_row_work.c new file: src/lapacke_zgetsqrhrt.c new file: src/lapacke_zgetsqrhrt_work.c new file: src/lapacke_zungtsqr_row.c new file: src/lapacke_zungtsqr_row_work.c
1 parent 0db2865 commit 874b678

20 files changed

+1712
-0
lines changed

LAPACKE/include/lapack.h

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2941,6 +2941,42 @@ void LAPACK_zgetsls(
29412941
lapack_complex_double* work, lapack_int const* lwork,
29422942
lapack_int* info );
29432943

2944+
#define LAPACK_cgetsqrhrt LAPACK_GLOBAL(cgetsqrhrt,CGETSQRHRT)
2945+
void LAPACK_cgetsqrhrt(
2946+
lapack_int const* m, lapack_int const* n,
2947+
lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
2948+
lapack_complex_float* A, lapack_int const* lda,
2949+
lapack_complex_float* T, lapack_int const* ldt,
2950+
lapack_complex_float* work, lapack_int const* lwork,
2951+
lapack_int* info );
2952+
2953+
#define LAPACK_dgetsqrhrt LAPACK_GLOBAL(dgetsqrhrt,DGETSQRHRT)
2954+
void LAPACK_dgetsqrhrt(
2955+
lapack_int const* m, lapack_int const* n,
2956+
lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
2957+
double* A, lapack_int const* lda,
2958+
double* T, lapack_int const* ldt,
2959+
double* work, lapack_int const* lwork,
2960+
lapack_int* info );
2961+
2962+
#define LAPACK_sgetsqrhrt LAPACK_GLOBAL(sgetsqrhrt,SGETSQRHRT)
2963+
void LAPACK_sgetsqrhrt(
2964+
lapack_int const* m, lapack_int const* n,
2965+
lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
2966+
float* A, lapack_int const* lda,
2967+
float* T, lapack_int const* ldt,
2968+
float* work, lapack_int const* lwork,
2969+
lapack_int* info );
2970+
2971+
#define LAPACK_zgetsqrhrt LAPACK_GLOBAL(zgetsqrhrt,ZGETSQRHRT)
2972+
void LAPACK_zgetsqrhrt(
2973+
lapack_int const* m, lapack_int const* n,
2974+
lapack_int const* mb1, lapack_int const* nb1, lapack_int const* nb2,
2975+
lapack_complex_double* A, lapack_int const* lda,
2976+
lapack_complex_double* T, lapack_int const* ldt,
2977+
lapack_complex_double* work, lapack_int const* lwork,
2978+
lapack_int* info );
2979+
29442980
#define LAPACK_cggbak LAPACK_GLOBAL(cggbak,CGGBAK)
29452981
void LAPACK_cggbak(
29462982
char const* job, char const* side,
@@ -7251,6 +7287,24 @@ void LAPACK_sorgtr(
72517287
float* work, lapack_int const* lwork,
72527288
lapack_int* info );
72537289

7290+
#define LAPACK_dorgtsqr_row LAPACK_GLOBAL(dorgtsqr_row,DORGTSQR_ROW)
7291+
void LAPACK_dorgtsqr_row(
7292+
lapack_int const* m, lapack_int const* n,
7293+
lapack_int const* mb, lapack_int const* nb,
7294+
double* A, lapack_int const* lda,
7295+
double const* T, lapack_int const* ldt,
7296+
double* work, lapack_int const* lwork,
7297+
lapack_int* info );
7298+
7299+
#define LAPACK_sorgtsqr_row LAPACK_GLOBAL(sorgtsqr_row,SORGTSQR_ROW)
7300+
void LAPACK_sorgtsqr_row(
7301+
lapack_int const* m, lapack_int const* n,
7302+
lapack_int const* mb, lapack_int const* nb,
7303+
float* A, lapack_int const* lda,
7304+
float const* T, lapack_int const* ldt,
7305+
float* work, lapack_int const* lwork,
7306+
lapack_int* info );
7307+
72547308
#define LAPACK_dormbr LAPACK_GLOBAL(dormbr,DORMBR)
72557309
void LAPACK_dormbr(
72567310
char const* vect, char const* side, char const* trans,
@@ -13540,6 +13594,24 @@ void LAPACK_zungtr(
1354013594
lapack_complex_double* work, lapack_int const* lwork,
1354113595
lapack_int* info );
1354213596

13597+
#define LAPACK_cungtsqr_row LAPACK_GLOBAL(cungtsqr_row,CUNGTSQR_ROW)
13598+
void LAPACK_cungtsqr_row(
13599+
lapack_int const* m, lapack_int const* n,
13600+
lapack_int const* mb, lapack_int const* nb,
13601+
lapack_complex_float* A, lapack_int const* lda,
13602+
lapack_complex_float const* T, lapack_int const* ldt,
13603+
lapack_complex_float* work, lapack_int const* lwork,
13604+
lapack_int* info );
13605+
13606+
#define LAPACK_zungtsqr_row LAPACK_GLOBAL(zungtsqr_row,ZUNGTSQR_ROW)
13607+
void LAPACK_zungtsqr_row(
13608+
lapack_int const* m, lapack_int const* n,
13609+
lapack_int const* mb, lapack_int const* nb,
13610+
lapack_complex_double* A, lapack_int const* lda,
13611+
lapack_complex_double const* T, lapack_int const* ldt,
13612+
lapack_complex_double* work, lapack_int const* lwork,
13613+
lapack_int* info );
13614+
1354313615
#define LAPACK_cunmbr LAPACK_GLOBAL(cunmbr,CUNMBR)
1354413616
void LAPACK_cunmbr(
1354513617
char const* vect, char const* side, char const* trans,

LAPACKE/include/lapacke.h

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2598,6 +2598,15 @@ lapack_int LAPACKE_sorgtr( int matrix_layout, char uplo, lapack_int n, float* a,
25982598
lapack_int LAPACKE_dorgtr( int matrix_layout, char uplo, lapack_int n, double* a,
25992599
lapack_int lda, const double* tau );
26002600

2601+
lapack_int LAPACKE_sorgtsqr_row( int matrix_layout, lapack_int m, lapack_int n,
2602+
lapack_int mb, lapack_int nb,
2603+
float* a, lapack_int lda,
2604+
const float* t, lapack_int ldt );
2605+
lapack_int LAPACKE_dorgtsqr_row( int matrix_layout, lapack_int m, lapack_int n,
2606+
lapack_int mb, lapack_int nb,
2607+
double* a, lapack_int lda,
2608+
const double* t, lapack_int ldt );
2609+
26012610
lapack_int LAPACKE_sormbr( int matrix_layout, char vect, char side, char trans,
26022611
lapack_int m, lapack_int n, lapack_int k,
26032612
const float* a, lapack_int lda, const float* tau,
@@ -4577,6 +4586,15 @@ lapack_int LAPACKE_zungtr( int matrix_layout, char uplo, lapack_int n,
45774586
lapack_complex_double* a, lapack_int lda,
45784587
const lapack_complex_double* tau );
45794588

4589+
lapack_int LAPACKE_cungtsqr_row( int matrix_layout, lapack_int m, lapack_int n,
4590+
lapack_int mb, lapack_int nb,
4591+
lapack_complex_float* a, lapack_int lda,
4592+
const lapack_complex_float* t, lapack_int ldt );
4593+
lapack_int LAPACKE_zungtsqr_row( int matrix_layout, lapack_int m, lapack_int n,
4594+
lapack_int mb, lapack_int nb,
4595+
lapack_complex_double* a, lapack_int lda,
4596+
const lapack_complex_double* t, lapack_int ldt );
4597+
45804598
lapack_int LAPACKE_cunmbr( int matrix_layout, char vect, char side, char trans,
45814599
lapack_int m, lapack_int n, lapack_int k,
45824600
const lapack_complex_float* a, lapack_int lda,
@@ -7880,6 +7898,19 @@ lapack_int LAPACKE_dorgtr_work( int matrix_layout, char uplo, lapack_int n,
78807898
double* a, lapack_int lda, const double* tau,
78817899
double* work, lapack_int lwork );
78827900

7901+
lapack_int LAPACKE_sorgtsqr_row_work( int matrix_layout,
7902+
lapack_int m, lapack_int n,
7903+
lapack_int mb, lapack_int nb,
7904+
float* a, lapack_int lda,
7905+
const float* t, lapack_int ldt,
7906+
float* work, lapack_int lwork );
7907+
lapack_int LAPACKE_dorgtsqr_row_work( int matrix_layout,
7908+
lapack_int m, lapack_int n,
7909+
lapack_int mb, lapack_int nb,
7910+
double* a, lapack_int lda,
7911+
const double* t, lapack_int ldt,
7912+
double* work, lapack_int lwork );
7913+
78837914
lapack_int LAPACKE_sormbr_work( int matrix_layout, char vect, char side,
78847915
char trans, lapack_int m, lapack_int n,
78857916
lapack_int k, const float* a, lapack_int lda,
@@ -10281,6 +10312,19 @@ lapack_int LAPACKE_zungtr_work( int matrix_layout, char uplo, lapack_int n,
1028110312
const lapack_complex_double* tau,
1028210313
lapack_complex_double* work, lapack_int lwork );
1028310314

10315+
lapack_int LAPACKE_cungtsqr_row_work( int matrix_layout,
10316+
lapack_int m, lapack_int n,
10317+
lapack_int mb, lapack_int nb,
10318+
lapack_complex_float* a, lapack_int lda,
10319+
const lapack_complex_float* t, lapack_int ldt,
10320+
lapack_complex_float* work, lapack_int lwork );
10321+
lapack_int LAPACKE_zungtsqr_row_work( int matrix_layout,
10322+
lapack_int m, lapack_int n,
10323+
lapack_int mb, lapack_int nb,
10324+
lapack_complex_double* a, lapack_int lda,
10325+
const lapack_complex_double* t, lapack_int ldt,
10326+
lapack_complex_double* work, lapack_int lwork );
10327+
1028410328
lapack_int LAPACKE_cunmbr_work( int matrix_layout, char vect, char side,
1028510329
char trans, lapack_int m, lapack_int n,
1028610330
lapack_int k, const lapack_complex_float* a,
@@ -12026,6 +12070,44 @@ lapack_int LAPACKE_zgetsls_work( int matrix_layout, char trans, lapack_int m,
1202612070
lapack_complex_double* b, lapack_int ldb,
1202712071
lapack_complex_double* work, lapack_int lwork );
1202812072

12073+
lapack_int LAPACKE_sgetsqrhrt( int matrix_layout, lapack_int m, lapack_int n,
12074+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12075+
float* a, lapack_int lda,
12076+
float* t, lapack_int ldt );
12077+
lapack_int LAPACKE_dgetsqrhrt( int matrix_layout, lapack_int m, lapack_int n,
12078+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12079+
double* a, lapack_int lda,
12080+
double* t, lapack_int ldt );
12081+
lapack_int LAPACKE_cgetsqrhrt( int matrix_layout, lapack_int m, lapack_int n,
12082+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12083+
lapack_complex_float* a, lapack_int lda,
12084+
lapack_complex_float* t, lapack_int ldt );
12085+
lapack_int LAPACKE_zgetsqrhrt( int matrix_layout, lapack_int m, lapack_int n,
12086+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12087+
lapack_complex_double* a, lapack_int lda,
12088+
lapack_complex_double* t, lapack_int ldt );
12089+
12090+
lapack_int LAPACKE_sgetsqrhrt_work( int matrix_layout, lapack_int m, lapack_int n,
12091+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12092+
float* a, lapack_int lda,
12093+
float* t, lapack_int ldt,
12094+
float* work, lapack_int lwork );
12095+
lapack_int LAPACKE_dgetsqrhrt_work( int matrix_layout, lapack_int m, lapack_int n,
12096+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12097+
double* a, lapack_int lda,
12098+
double* t, lapack_int ldt,
12099+
double* work, lapack_int lwork );
12100+
lapack_int LAPACKE_cgetsqrhrt_work( int matrix_layout, lapack_int m, lapack_int n,
12101+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12102+
lapack_complex_float* a, lapack_int lda,
12103+
lapack_complex_float* t, lapack_int ldt,
12104+
lapack_complex_float* work, lapack_int lwork );
12105+
lapack_int LAPACKE_zgetsqrhrt_work( int matrix_layout, lapack_int m, lapack_int n,
12106+
lapack_int mb1, lapack_int nb1, lapack_int nb2,
12107+
lapack_complex_double* a, lapack_int lda,
12108+
lapack_complex_double* t, lapack_int ldt,
12109+
lapack_complex_double* work, lapack_int lwork );
12110+
1202912111
lapack_int LAPACKE_ssyev_2stage( int matrix_layout, char jobz, char uplo, lapack_int n,
1203012112
float* a, lapack_int lda, float* w );
1203112113
lapack_int LAPACKE_dsyev_2stage( int matrix_layout, char jobz, char uplo, lapack_int n,

LAPACKE/src/CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,8 @@ lapacke_cgetrs.c
113113
lapacke_cgetrs_work.c
114114
lapacke_cgetsls.c
115115
lapacke_cgetsls_work.c
116+
lapacke_cgetsqrhrt.c
117+
lapacke_cgetsqrhrt_work.c
116118
lapacke_cggbak.c
117119
lapacke_cggbak_work.c
118120
lapacke_cggbal.c
@@ -585,6 +587,8 @@ lapacke_cungrq.c
585587
lapacke_cungrq_work.c
586588
lapacke_cungtr.c
587589
lapacke_cungtr_work.c
590+
lapacke_cungtsqr_row.c
591+
lapacke_cungtsqr_row_work.c
588592
lapacke_cunmbr.c
589593
lapacke_cunmbr_work.c
590594
lapacke_cunmhr.c
@@ -727,6 +731,8 @@ lapacke_dgetrs.c
727731
lapacke_dgetrs_work.c
728732
lapacke_dgetsls.c
729733
lapacke_dgetsls_work.c
734+
lapacke_dgetsqrhrt.c
735+
lapacke_dgetsqrhrt_work.c
730736
lapacke_dggbak.c
731737
lapacke_dggbak_work.c
732738
lapacke_dggbal.c
@@ -849,6 +855,8 @@ lapacke_dorgrq.c
849855
lapacke_dorgrq_work.c
850856
lapacke_dorgtr.c
851857
lapacke_dorgtr_work.c
858+
lapacke_dorgtsqr_row.c
859+
lapacke_dorgtsqr_row_work.c
852860
lapacke_dormbr.c
853861
lapacke_dormbr_work.c
854862
lapacke_dormhr.c
@@ -1298,6 +1306,8 @@ lapacke_sgetrs.c
12981306
lapacke_sgetrs_work.c
12991307
lapacke_sgetsls.c
13001308
lapacke_sgetsls_work.c
1309+
lapacke_sgetsqrhrt.c
1310+
lapacke_sgetsqrhrt_work.c
13011311
lapacke_sggbak.c
13021312
lapacke_sggbak_work.c
13031313
lapacke_sggbal.c
@@ -1420,6 +1430,8 @@ lapacke_sorgrq.c
14201430
lapacke_sorgrq_work.c
14211431
lapacke_sorgtr.c
14221432
lapacke_sorgtr_work.c
1433+
lapacke_sorgtsqr_row.c
1434+
lapacke_sorgtsqr_row_work.c
14231435
lapacke_sormbr.c
14241436
lapacke_sormbr_work.c
14251437
lapacke_sormhr.c
@@ -1858,6 +1870,8 @@ lapacke_zgetrs.c
18581870
lapacke_zgetrs_work.c
18591871
lapacke_zgetsls.c
18601872
lapacke_zgetsls_work.c
1873+
lapacke_zgetsqrhrt.c
1874+
lapacke_zgetsqrhrt_work.c
18611875
lapacke_zggbak.c
18621876
lapacke_zggbak_work.c
18631877
lapacke_zggbal.c
@@ -2330,6 +2344,8 @@ lapacke_zungrq.c
23302344
lapacke_zungrq_work.c
23312345
lapacke_zungtr.c
23322346
lapacke_zungtr_work.c
2347+
lapacke_zungtsqr_row.c
2348+
lapacke_zungtsqr_row_work.c
23332349
lapacke_zunmbr.c
23342350
lapacke_zunmbr_work.c
23352351
lapacke_zunmhr.c

LAPACKE/src/Makefile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ lapacke_cgetrs.o \
161161
lapacke_cgetrs_work.o \
162162
lapacke_cgetsls.o \
163163
lapacke_cgetsls_work.o \
164+
lapacke_cgetsqrhrt.o \
165+
lapacke_cgetsqrhrt_work.o \
164166
lapacke_cggbak.o \
165167
lapacke_cggbak_work.o \
166168
lapacke_cggbal.o \
@@ -633,6 +635,8 @@ lapacke_cungrq.o \
633635
lapacke_cungrq_work.o \
634636
lapacke_cungtr.o \
635637
lapacke_cungtr_work.o \
638+
lapacke_cungtsqr_row.o \
639+
lapacke_cungtsqr_row_work.o \
636640
lapacke_cunmbr.o \
637641
lapacke_cunmbr_work.o \
638642
lapacke_cunmhr.o \
@@ -775,6 +779,8 @@ lapacke_dgetrs.o \
775779
lapacke_dgetrs_work.o \
776780
lapacke_dgetsls.o \
777781
lapacke_dgetsls_work.o \
782+
lapacke_dgetsqrhrt.o \
783+
lapacke_dgetsqrhrt_work.o \
778784
lapacke_dggbak.o \
779785
lapacke_dggbak_work.o \
780786
lapacke_dggbal.o \
@@ -897,6 +903,8 @@ lapacke_dorgrq.o \
897903
lapacke_dorgrq_work.o \
898904
lapacke_dorgtr.o \
899905
lapacke_dorgtr_work.o \
906+
lapacke_dorgtsqr_row.o \
907+
lapacke_dorgtsqr_row_work.o \
900908
lapacke_dormbr.o \
901909
lapacke_dormbr_work.o \
902910
lapacke_dormhr.o \
@@ -1341,6 +1349,8 @@ lapacke_sgetrs.o \
13411349
lapacke_sgetrs_work.o \
13421350
lapacke_sgetsls.o \
13431351
lapacke_sgetsls_work.o \
1352+
lapacke_sgetsqrhrt.o \
1353+
lapacke_sgetsqrhrt_work.o \
13441354
lapacke_sggbak.o \
13451355
lapacke_sggbak_work.o \
13461356
lapacke_sggbal.o \
@@ -1463,6 +1473,8 @@ lapacke_sorgrq.o \
14631473
lapacke_sorgrq_work.o \
14641474
lapacke_sorgtr.o \
14651475
lapacke_sorgtr_work.o \
1476+
lapacke_sorgtsqr_row.o \
1477+
lapacke_sorgtsqr_row_work.o \
14661478
lapacke_sormbr.o \
14671479
lapacke_sormbr_work.o \
14681480
lapacke_sormhr.o \
@@ -1901,6 +1913,8 @@ lapacke_zgetrs.o \
19011913
lapacke_zgetrs_work.o \
19021914
lapacke_zgetsls.o \
19031915
lapacke_zgetsls_work.o \
1916+
lapacke_zgetsqrhrt.o \
1917+
lapacke_zgetsqrhrt_work.o \
19041918
lapacke_zggbak.o \
19051919
lapacke_zggbak_work.o \
19061920
lapacke_zggbal.o \
@@ -2373,6 +2387,8 @@ lapacke_zungrq.o \
23732387
lapacke_zungrq_work.o \
23742388
lapacke_zungtr.o \
23752389
lapacke_zungtr_work.o \
2390+
lapacke_zungtsqr_row.o \
2391+
lapacke_zungtsqr_row_work.o \
23762392
lapacke_zunmbr.o \
23772393
lapacke_zunmbr_work.o \
23782394
lapacke_zunmhr.o \

0 commit comments

Comments
 (0)