-
Notifications
You must be signed in to change notification settings - Fork 0
/
ortho.h
39 lines (27 loc) · 843 Bytes
/
ortho.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef ORTHO_H
#define ORTHO_H
// Add any necessary includes here
#include <Eigen/Dense>
#include <iostream>
// # define DEBUG_ORTHO
// basic tool functions -- linear algebra routines
// ortho
/* contains:
* ortho(QR)
* ortho(Cholesky)
* b_ortho
* ortho_against_y
* b_ortho_against_y
*/
// deprecated, QR
// #define USE_QR
// #define USE_THIN_QR
#define USE_MGS
// else use cholesky
void ortho(int n, int m, Eigen::MatrixXd& u);
void ortho_qr(int n, int m, Eigen::MatrixXd &u);
// void ortho_cho(int n, int m, Eigen::MatrixXd &x);
void b_ortho(int n, int m, Eigen::MatrixXd& u, Eigen::MatrixXd& bu);
void ortho_against_y(int n, int m, int k, Eigen::MatrixXd& x, const Eigen::MatrixXd& y);
void b_ortho_against_y(int n, int m, int k, Eigen::MatrixXd& x, const Eigen::MatrixXd& y, const Eigen::MatrixXd& by);
#endif // ORTHO_H