UQTk: Uncertainty Quantification Toolkit 3.1.5
bcs.h
Go to the documentation of this file.
1/* =====================================================================================
2
3 The UQ Toolkit (UQTk) version 3.1.5
4 Copyright (2024) NTESS
5 https://www.sandia.gov/UQToolkit/
6 https://github.com/sandialabs/UQTk
7
8 Copyright 2024 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
9 Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government
10 retains certain rights in this software.
11
12 This file is part of The UQ Toolkit (UQTk)
13
14 UQTk is open source software: you can redistribute it and/or modify
15 it under the terms of BSD 3-Clause License
16
17 UQTk is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 BSD 3 Clause License for more details.
21
22 You should have received a copy of the BSD 3 Clause License
23 along with UQTk. If not, see https://choosealicense.com/licenses/bsd-3-clause/.
24
25 Questions? Contact the UQTk Developers at https://github.com/sandialabs/UQTk/discussions
26 Sandia National Laboratories, Livermore, CA, USA
27===================================================================================== */
30
31#ifndef BCS_H
32#define BCS_H
33
34#include "Array1D.h"
35#include "Array2D.h"
36
37
38#define MAX_IT 1000
39
40
41
65 double eta, Array1D<double> &lambda_init,
66 int adaptive, int optimal, double scale, int verbose,
67 Array1D<double> &weights, Array1D<int> &used,
68 Array1D<double> &errbars, Array1D<double> &basis,
69 Array1D<double> &alpha, Array2D<double> &Sig);
70
71
72
75void BCS(Array2D<double> &PHI, Array1D<double> &y, double &sigma2,
76 double eta, Array1D<double> &lambda_init,
77 int adaptive, int optimal, double scale, int verbose,
78 Array1D<double> &weights, Array1D<int> &used,
79 Array1D<double> &errbars, Array1D<double> &basis,
80 Array1D<double> &alpha, double &lambda) ;
81
84// void BCS(Array2D<double> &PHI, Array1D<double> &y, Array1D<double> &sigma2,
85// double eta, Array1D<double> &lambda_init,
86// int adaptive, int optimal, double scale, int verbose,
87// Array1D<double> &weights, Array1D<int> &used,
88// Array1D<double> &errbars, Array1D<double> &basis,
89// Array1D<double> &alpha, Array1D<double> &lambda) ;
90
91
92
93#endif // BCS_H
1D Array class for any type T
2D Array class for any type T
Array1D< double > scale(Array1D< double > &x, double alpha)
Returns 1D Arrays scaled by a double.
Definition arraytools.cpp:1831
void BCS(Array2D< double > &PHI, Array1D< double > &y, double &sigma2, double eta, Array1D< double > &lambda_init, int adaptive, int optimal, double scale, int verbose, Array1D< double > &weights, Array1D< int > &used, Array1D< double > &errbars, Array1D< double > &basis, Array1D< double > &alpha, double &lambda)
Essentially same functionality as WBCS, but slightly altered I/O.
Definition bcs.cpp:514
void WBCS(Array2D< double > &PHI, Array1D< double > &y, Array1D< double > &sigma2, double eta, Array1D< double > &lambda_init, int adaptive, int optimal, double scale, int verbose, Array1D< double > &weights, Array1D< int > &used, Array1D< double > &errbars, Array1D< double > &basis, Array1D< double > &alpha, Array2D< double > &Sig)
Implements weighted version of the original Bayesian Compressive Sensing algorithm.
Definition bcs.cpp:93
Stores data of any type T in a 1D array.
Definition Array1D.h:61
Stores data of any type T in a 2D array.
Definition Array2D.h:60