#include <Rconfig.h>
#include <R_ext/Lapack.h>
#include "internal.h"
Go to the source code of this file.
|
static R_INLINE void | pomp_backsolve (double *a, int lda, int n, double *x, int incx, char *uplo, char *transpose, char *unit) |
|
static R_INLINE void | pomp_qr (double *a, int m, int n, int *pivot, double *tau) |
|
static R_INLINE void | pomp_qrqy (double *c, double *a, int lda, double *tau, int m, int n, int k, char *side, char *transpose) |
|
◆ FCONE
◆ pomp_backsolve()
static R_INLINE void pomp_backsolve |
( |
double * |
a, |
|
|
int |
lda, |
|
|
int |
n, |
|
|
double * |
x, |
|
|
int |
incx, |
|
|
char * |
uplo, |
|
|
char * |
transpose, |
|
|
char * |
unit |
|
) |
| |
|
static |
Definition at line 11 of file pomp_mat.h.
15 {
16
17
18
19
20
21
22
23
24 F77_CALL(dtrsv)(uplo,transpose,unit,&n,a,&lda,x,&incx
FCONE FCONE FCONE);
25}
◆ pomp_qr()
static R_INLINE void pomp_qr |
( |
double * |
a, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int * |
pivot, |
|
|
double * |
tau |
|
) |
| |
|
static |
Definition at line 27 of file pomp_mat.h.
30 {
31 int info, j, lwork = -1;
32 double work1;
33
34 for (j = 0; j < n; j++) pivot[j] = 0;
35
36
37 F77_CALL(dgeqp3)(&m,&n,a,&m,pivot,
tau,&work1,&lwork,&info);
38 lwork = (int) ceil(work1);
39 {
40 double work[lwork];
41 F77_CALL(dgeqp3)(&m,&n,a,&m,pivot,
tau,work,&lwork,&info);
42 }
43 for (j = 0; j < n; j++) pivot[j]--;
44}
◆ pomp_qrqy()
static R_INLINE void pomp_qrqy |
( |
double * |
c, |
|
|
double * |
a, |
|
|
int |
lda, |
|
|
double * |
tau, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
k, |
|
|
char * |
side, |
|
|
char * |
transpose |
|
) |
| |
|
static |
Definition at line 46 of file pomp_mat.h.
50 {
51 int info, lwork = -1;
52 double work1;
53
54
55 F77_CALL(dormqr)(side,transpose,&m,&n,&k,a,&lda,
tau,c,&m,&work1,&lwork,&info
FCONE FCONE);
56 lwork = (int) ceil(work1);
57 {
58 double work[lwork];
59 F77_CALL(dormqr)(side,transpose,&m,&n,&k,a,&lda,
tau,c,&m,work,&lwork,&info
FCONE FCONE);
60 }
61}