/usr/include/openturns/IdentityMatrix.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 IdentityMatrix.hxx
* @brief The class IdentityMatrix implements identity matrices
*
* (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: schueller $
* @date: $LastChangedDate: 2011-06-30 10:19:34 +0200 (Thu, 30 Jun 2011) $
* Id: $Id: IdentityMatrix.hxx 1972 2011-06-30 08:19:34Z schueller $
*/
#ifndef OPENTURNS_IDENTITYMATRIX_HXX
#define OPENTURNS_IDENTITYMATRIX_HXX
#include "OTprivate.hxx"
#include "CorrelationMatrix.hxx"
namespace OpenTURNS
{
namespace Base
{
namespace Type
{
/**
* @class IdentityMatrix
*/
class IdentityMatrix
: public Stat::CorrelationMatrix
{
CLASSNAME;
public:
typedef Stat::CovarianceMatrix CovarianceMatrix;
typedef Stat::CorrelationMatrix CorrelationMatrix;
/** Default constructor */
IdentityMatrix();
/** Constructor with size */
IdentityMatrix(const UnsignedLong dim);
/** String converter */
virtual String __repr__() const;
/** IdentityMatrix transpose */
IdentityMatrix transpose () const ;
#ifndef SWIG
/** Operator () gives access to the elements of the matrix (read only) */
/** The element of the matrix is designated by its row number i and its column number j */
const NumericalScalar & operator () (const UnsignedLong i,
const UnsignedLong j) const /* throw(InvalidDimensionException) */;
#endif
/** Multiplications */
Matrix operator * (const Matrix & m) const /* throw(InvalidDimensionException) */;
SquareMatrix operator * (const SquareMatrix & m) const /* throw(InvalidDimensionException) */;
SymmetricMatrix operator * (const SymmetricMatrix & m) const /* throw(InvalidDimensionException) */;
CovarianceMatrix operator * (const CovarianceMatrix & m) const /* throw(InvalidDimensionException) */;
CorrelationMatrix operator * (const CorrelationMatrix & m) const /* throw(InvalidDimensionException) */;
using CorrelationMatrix::operator *;
/** Resolution of a linear system */
NumericalPoint solveLinearSystem(const NumericalPoint & b,
const Bool keepIntact = true);
Matrix solveLinearSystem(const Matrix & b,
const Bool keepIntact = true);
/** Compute determinant */
NumericalScalar computeDeterminant(const Bool keepIntact = true);
/** Compute eigenvalues */
NumericalPoint computeEigenValues(const Bool keepIntact = true);
/** Check if the matrix is SPD */
virtual Bool isPositiveDefinite(const Bool keepIntact = true);
/** Build the Cholesky factorization of the matrix */
SquareMatrix computeCholesky(const Bool keepIntact = true);
/** Compute singular values */
NumericalPoint computeSingularValues(const Bool keepIntact = true);
NumericalPoint computeSingularValues(Matrix & u,
Matrix & vT,
const Bool fullSVD = false,
const Bool keepIntact = true);
protected:
/** Constructor with implementation */
IdentityMatrix(const Implementation & i);
private:
/** Operator () gives access to the elements of the matrix (to modify these elements) */
/** The element of the matrix is designated by its row number i and its column number j */
NumericalScalar & operator () (const UnsignedLong i,
const UnsignedLong j) /* throw(InvalidDimensionException) */;
}
; /* class IdentityMatrix */
} /* namespace Type */
} /* namespace Base */
} /* namespace OpenTURNS */
#endif /* OPENTURNS_COVARIANCEMATRIX_HXX */
|