Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
qr_solve.c File Reference
#include "std.h"
#include <stdlib.h>
#include <math.h>
#include "qr_solve.h"
#include "r8lib_min.h"
+ Include dependency graph for qr_solve.c:

Go to the source code of this file.

Macros

#define DEBUG_FPRINTF(...)
 
#define DEBUG_EXIT(...)
 

Functions

void daxpy (int n, float da, float dx[], int incx, float dy[], int incy)
 
float ddot (int n, float dx[], int incx, float dy[], int incy)
 
float dnrm2 (int n, float x[], int incx)
 
void dqrank (float a[], int lda, int m, int n, float tol, int *kr, int jpvt[], float qraux[])
 
void dqrdc (float a[], int lda, int n, int p, float qraux[], int jpvt[], float work[], int job)
 
int dqrls (float a[], int lda, int m, int n, float tol, int *kr, float b[], float x[], float rsd[], int jpvt[], float qraux[], int itask)
 
void dqrlss (float a[], int lda, int m, int n, int kr, float b[], float x[], float rsd[], int jpvt[], float qraux[])
 
int dqrsl (float a[], int lda, int n, int k, float qraux[], float y[], float qy[], float qty[], float b[], float rsd[], float ab[], int job)
 
void dscal (int n, float sa, float x[], int incx)
 
void dswap (int n, float x[], int incx, float y[], int incy)
 
void qr_solve (int m, int n, float a[], float b[], float x[])
 

Macro Definition Documentation

◆ DEBUG_EXIT

#define DEBUG_EXIT (   ...)

Definition at line 19 of file qr_solve.c.

◆ DEBUG_FPRINTF

#define DEBUG_FPRINTF (   ...)

Definition at line 18 of file qr_solve.c.

Function Documentation

◆ daxpy()

void daxpy ( int  n,
float  da,
float  dx[],
int  incx,
float  dy[],
int  incy 
)

Definition at line 23 of file qr_solve.c.

Referenced by dqrdc(), and dqrsl().

+ Here is the caller graph for this function:

◆ ddot()

float ddot ( int  n,
float  dx[],
int  incx,
float  dy[],
int  incy 
)

Definition at line 144 of file qr_solve.c.

Referenced by dqrdc(), and dqrsl().

+ Here is the caller graph for this function:

◆ dnrm2()

float dnrm2 ( int  n,
float  x[],
int  incx 
)

Definition at line 264 of file qr_solve.c.

References scale.

Referenced by dqrdc().

+ Here is the caller graph for this function:

◆ dqrank()

void dqrank ( float  a[],
int  lda,
int  m,
int  n,
float  tol,
int *  kr,
int  jpvt[],
float  qraux[] 
)

Definition at line 357 of file qr_solve.c.

References dqrdc(), and i4_min().

Referenced by dqrls().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dqrdc()

void dqrdc ( float  a[],
int  lda,
int  n,
int  p,
float  qraux[],
int  jpvt[],
float  work[],
int  job 
)

Definition at line 465 of file qr_solve.c.

References daxpy(), ddot(), dnrm2(), dscal(), dswap(), i4_min(), p, r8_max(), and r8_sign().

Referenced by dqrank().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dqrls()

int dqrls ( float  a[],
int  lda,
int  m,
int  n,
float  tol,
int *  kr,
float  b[],
float  x[],
float  rsd[],
int  jpvt[],
float  qraux[],
int  itask 
)

Definition at line 714 of file qr_solve.c.

References b, DEBUG_FPRINTF, dqrank(), and dqrlss().

Referenced by qr_solve().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dqrlss()

void dqrlss ( float  a[],
int  lda,
int  m,
int  n,
int  kr,
float  b[],
float  x[],
float  rsd[],
int  jpvt[],
float  qraux[] 
)

Definition at line 867 of file qr_solve.c.

References b, dqrsl(), and UNUSED.

Referenced by dqrls().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dqrsl()

int dqrsl ( float  a[],
int  lda,
int  n,
int  k,
float  qraux[],
float  y[],
float  qy[],
float  qty[],
float  b[],
float  rsd[],
float  ab[],
int  job 
)

Definition at line 985 of file qr_solve.c.

References b, daxpy(), ddot(), and i4_min().

Referenced by dqrlss().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dscal()

void dscal ( int  n,
float  sa,
float  x[],
int  incx 
)

Definition at line 1344 of file qr_solve.c.

Referenced by dqrdc().

+ Here is the caller graph for this function:

◆ dswap()

void dswap ( int  n,
float  x[],
int  incx,
float  y[],
int  incy 
)

Definition at line 1433 of file qr_solve.c.

Referenced by dqrdc().

+ Here is the caller graph for this function:

◆ qr_solve()

void qr_solve ( int  m,
int  n,
float  a[],
float  b[],
float  x[] 
)

Definition at line 1548 of file qr_solve.c.

References b, dqrls(), r8_epsilon(), r8mat_amax(), r8mat_copy_new(), and UNUSED.

Referenced by qr_solve_wrapper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: