/usr/include/openturns/CleaningStrategy.hxx is in libopenturns-dev 0.15-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | // -*- C++ -*-
/**
* @file CleaningStrategy.hxx
* @brief An implementation returning the set of polynomials in sequence
*
* (C) Copyright 2005-2011 EDF-EADS-Phimeca
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @author: $LastChangedBy: dutka $
* @date: $LastChangedDate: 2008-05-21 17:44:02 +0200 (Wed, 21 May 2008) $
* Id: $Id: Object.hxx 818 2008-05-21 15:44:02Z dutka $
*/
#ifndef OPENTURNS_CLEANINGSTRATEGY_HXX
#define OPENTURNS_CLEANINGSTRATEGY_HXX
#include "AdaptiveStrategyImplementation.hxx"
namespace OpenTURNS
{
namespace Uncertainty
{
namespace Algorithm
{
/**
* @class CleaningStrategy
*
* An implementation returning the set of polynomials in sequence
*/
class CleaningStrategy
: public AdaptiveStrategyImplementation
{
CLASSNAME;
public:
typedef Base::Common::StorageManager StorageManager;
static const UnsignedLong DefaultMaximumSize;
static const NumericalScalar DefaultSignificanceFactor;
/** Constructor from an orthogonal basis */
CleaningStrategy(const OrthogonalBasis & basis,
const UnsignedLong maximumDimension,
const Bool verbose = false);
/** Constructor from an orthogonal basis */
CleaningStrategy(const OrthogonalBasis & basis,
const UnsignedLong maximumDimension,
const UnsignedLong maximumSize,
const NumericalScalar significanceFactor,
const Bool verbose = false);
/** Virtual constructor */
virtual CleaningStrategy * clone() const;
/** Compute initial basis for the approximation */
void computeInitialBasis();
/** Update the basis for the next iteration of approximation */
void updateBasis(const NumericalPoint & alpha_k_p_,
const NumericalScalar residual_p_,
const NumericalScalar relativeError_p_);
/** String converter */
virtual String __repr__() const;
/** Current vector index accessor */
UnsignedLong getCurrentVectorIndex() const;
/** Maximum size accessor */
UnsignedLong getMaximumSize() const;
void setMaximumSize(const UnsignedLong maximumSize);
/** Significance factor */
NumericalScalar getSignificanceFactor() const;
void setSignificanceFactor(const NumericalScalar significanceFactor);
/** Verbose accessor */
Bool getVerbose() const;
void setVerbose(const Bool verbose);
/** Method save() stores the object through the StorageManager */
virtual void save(StorageManager::Advocate & adv) const;
/** Method load() reloads the object from the StorageManager */
virtual void load(StorageManager::Advocate & adv);
protected:
friend class Base::Common::Factory<CleaningStrategy>;
/** Default constructor */
CleaningStrategy();
private:
// Index of the next vector to be generated
UnsignedLong currentVectorIndex_;
// Maximum size of the curent basis
UnsignedLong maximumSize_;
// Relative significance factor of a vector
NumericalScalar significanceFactor_;
// Verbose
Bool verbose_;
} ; /* class CleaningStrategy */
} /* namespace Algorithm */
} /* namespace Uncertainty */
} /* namespace OpenTURNS */
#endif /* OPENTURNS_CLEANINGSTRATEGY_HXX */
|