TPCCLIB
Loading...
Searching...
No Matches
tpclinopt.h
Go to the documentation of this file.
1
6#ifndef _TPCLINOPT_H_
7#define _TPCLINOPT_H_
8/*****************************************************************************/
9
10/*****************************************************************************/
11#include "tpcclibConfig.h"
12/*****************************************************************************/
13#include <stdio.h>
14#include <stdlib.h>
15#include <string.h>
16#include <math.h>
17/*****************************************************************************/
18#include "tpcextensions.h"
19/*****************************************************************************/
20
21/*****************************************************************************/
22/* regression */
23extern int fitLine(
24 double *x, double *y, const int n, double *m, double *c
25);
26extern int fitLinePearson(
27 double *x, double *y, const int n,
28 double *m, double *msd, double *c, double *csd, double *d, double *dsd,
29 double *r, double *ysd
30);
31extern int highestSlope(
32 double *x, double *y, const int n, const int slope_n, double x_start,
33 double *m, double *yi, double *xi, double *xh
34);
35/*****************************************************************************/
36
37/*****************************************************************************/
38/* roots */
39extern int rootsCubic(
40 const double a, const double b, const double c, double *x1, double *x2, double *x3
41);
42extern int rootsQuadratic(
43 const double a, const double b, const double c, double *x1, double *x2
44);
45/*****************************************************************************/
46
47/*****************************************************************************/
48/* qrlsq */
49extern int qrLSQ(
50 double **mat, double *rhs, double *sol,
51 const unsigned int rows, const unsigned int cols, double *r2
52);
53extern int qr(
54 double **A, int m, int n, double *B, double *X, double *rnorm,
55 double *tau, double *res, double **wws, double *ws
56);
57extern int qr_decomp(
58 double **a, int M, int N, double *tau, double **cchain, double *chain
59);
60extern int qr_solve(
61 double **QR, int M, int N, double *tau, double *b, double *x,
62 double *residual, double *resNorm, double **cchain, double *chain
63);
64extern int qrWeight(
65 int N, int M, double **A, double *b, double *weight, double *ws
66);
67extern int qrWeightRm(
68 int N, int M, double **A, double *b, double *weight, double *ws
69);
70extern int qrSimpleLSQ(double **A, double *B, int M, int N, double *X, double *r2);
71extern int qrLH(
72 const unsigned int m, const unsigned int n,
73 double *a, double *b, double *x, double *r2
74);
75/*****************************************************************************/
76
77/*****************************************************************************/
78/* hholder */
79extern double householder_transform(
80 double *vector, int size
81);
82extern int householder_hm(
83 double tau, double *vector, double **matrix, int rowNr, int columnNr
84);
85extern int householder_hv(
86 double tau, int size, double *v, double *w
87);
88extern double householder_norm(
89 double *v, int size
90);
91/*****************************************************************************/
92
93/*****************************************************************************/
94/* nnls */
95extern int nnls(
96 double **a, int m, int n, double *b, double *x,
97 double *rnorm, double *w, double *zz, int *index
98);
99extern int nnlsWght(
100 int N, int M, double **A, double *b, double *weight
101);
102extern int nnlsWghtSquared(
103 int N, int M, double **A, double *b, double *sweight
104);
105/*****************************************************************************/
106
107/*****************************************************************************/
108/* bvls */
109extern int bvls(
110 int key, const /*unsigned*/ int m, const /*unsigned*/ int n,
111 double *a, double *b, double *bl, double *bu, double *x,
112 double *w, double *act, double *zz, int *istate, int *iter,
113 int verbose
114);
115extern int llsqWght(int N, int M, double **A, double *a, double *b, double *weight);
116extern int llsqWghtSquared(int N, int M, double **A, double *a, double *b, double *weight);
117/*****************************************************************************/
118
119/*****************************************************************************/
120#endif /* _TPCLINOPT_H_ */
Header file for library libtpcextensions.
int nnlsWghtSquared(int N, int M, double **A, double *b, double *sweight)
Definition nnls.c:313
int llsqWghtSquared(int N, int M, double **A, double *a, double *b, double *weight)
Definition bvls.c:480
int highestSlope(double *x, double *y, const int n, const int slope_n, double x_start, double *m, double *yi, double *xi, double *xh)
Definition regression.c:179
int qrLH(const unsigned int m, const unsigned int n, double *a, double *b, double *x, double *r2)
Solve over-determined least-squares problem A x ~ b using successive Householder rotations.
Definition qrlsq.c:946
int nnls(double **a, int m, int n, double *b, double *x, double *rnorm, double *w, double *zz, int *index)
Definition nnls.c:48
int qrWeightRm(int N, int M, double **A, double *b, double *weight, double *ws)
Definition qrlsq.c:796
double householder_transform(double *vector, int size)
Definition hholder.c:33
double householder_norm(double *v, int size)
Definition hholder.c:155
int nnlsWght(int N, int M, double **A, double *b, double *weight)
Definition nnls.c:264
int bvls(int key, const int m, const int n, double *a, double *b, double *bl, double *bu, double *x, double *w, double *act, double *zz, int *istate, int *iter, int verbose)
Bounded-value least-squares method to solve the linear problem A x ~ b , subject to limit1 <= x <= li...
Definition bvls.c:32
int llsqWght(int N, int M, double **A, double *a, double *b, double *weight)
Definition bvls.c:425
int rootsCubic(const double a, const double b, const double c, double *x1, double *x2, double *x3)
Definition roots.c:30
int qrLSQ(double **mat, double *rhs, double *sol, const unsigned int rows, const unsigned int cols, double *r2)
QR least-squares solving routine.
Definition qrlsq.c:72
int householder_hv(double tau, int size, double *v, double *w)
Definition hholder.c:126
int fitLinePearson(double *x, double *y, const int n, double *m, double *msd, double *c, double *csd, double *d, double *dsd, double *r, double *ysd)
Definition regression.c:72
int qrSimpleLSQ(double **A, double *B, int M, int N, double *X, double *r2)
Definition qrlsq.c:854
int householder_hm(double tau, double *vector, double **matrix, int rowNr, int columnNr)
Definition hholder.c:87
int rootsQuadratic(const double a, const double b, const double c, double *x1, double *x2)
Definition roots.c:111
int qr_solve(double **QR, int M, int N, double *tau, double *b, double *x, double *residual, double *resNorm, double **cchain, double *chain)
Definition qrlsq.c:563
int fitLine(double *x, double *y, const int n, double *m, double *c)
Definition regression.c:23
int qr(double **A, int m, int n, double *B, double *X, double *rnorm, double *tau, double *res, double **wws, double *ws)
Definition qrlsq.c:411
int qrWeight(int N, int M, double **A, double *b, double *weight, double *ws)
Definition qrlsq.c:745
int qr_decomp(double **a, int M, int N, double *tau, double **cchain, double *chain)
Definition qrlsq.c:493