/usr/include/openturns/SquareComplexMatrix.hxx is in libopenturns-dev 1.5-7build2.
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 133 134 | // -*- C++ -*-
/**
* @file SquareComplexMatrix.hxx
* @brief SquareComplexMatrix implements the classical mathematical square matrix
*
* Copyright 2005-2015 Airbus-EDF-IMACS-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 3 of the License, or
* (at your option) any later version.
*
* 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
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*
* @author schueller
* @date 2012-02-17 19:35:43 +0100 (Fri, 17 Feb 2012)
*/
#ifndef OPENTURNS_SQUARECOMPLEXMATRIX_HXX
#define OPENTURNS_SQUARECOMPLEXMATRIX_HXX
#include "OTprivate.hxx"
#include "ComplexMatrix.hxx"
BEGIN_NAMESPACE_OPENTURNS
class IdentityMatrix;
class HermitianMatrix;
class TriangularComplexMatrix;
/**
* @class SquareComplexMatrix
*
* SquareComplexMatrix implements the classical mathematical square matrix
*/
class OT_API SquareComplexMatrix :
public ComplexMatrix
{
CLASSNAME;
#ifndef SWIG
friend SquareComplexMatrix operator * (const NumericalComplex s,
const SquareComplexMatrix & m);
#endif
public:
/** Default constructor */
SquareComplexMatrix();
/** Constructor with size (dimension, which is the same for nbRows_ and nbColumns_) */
explicit SquareComplexMatrix(const UnsignedInteger dim);
/** Constructor from external collection */
/** If the dimensions of the matrix and of the collection */
/** do not correspond, either the collection is truncated */
/** or the rest of the matrix is filled with zeros */
SquareComplexMatrix(const UnsignedInteger dimension,
const NumericalComplexCollection & elementsValues);
/** Constructor with implementation */
SquareComplexMatrix(const Implementation & i);
/** String converter */
String __repr__() const;
/** Get the dimension of the matrix */
UnsignedInteger getDimension() const;
/** SquareComplexMatrix transpose */
SquareComplexMatrix transpose () const;
/** SquareComplexMatrix transpose */
SquareComplexMatrix conjugate () const;
/** SquareComplexMatrix transpose */
SquareComplexMatrix conjugateTranspose () const;
/** SquareComplexMatrix additions (must have the same dimensions) */
SquareComplexMatrix operator + (const SquareComplexMatrix & m) const;
SquareComplexMatrix operator + (const HermitianMatrix & m) const;
/** SquareComplexMatrix substractions (must have the same dimensions) */
SquareComplexMatrix operator - (const SquareComplexMatrix & m) const;
SquareComplexMatrix operator - (const HermitianMatrix & m) const;
/** SquareComplexMatrix multiplications (must have consistent dimensions) */
ComplexMatrix operator * (const ComplexMatrix & m) const;
SquareComplexMatrix operator * (const SquareComplexMatrix & m) const;
SquareComplexMatrix operator * (const HermitianMatrix & m) const;
SquareComplexMatrix operator * (const IdentityMatrix & m) const;
/** SquareComplexMatrix integer power */
SquareComplexMatrix power(const UnsignedInteger n) const;
/** Multiplication with a NumericalPoint (must have consistent dimensions) */
NumericalComplexCollection operator * (const NumericalComplexCollection & p) const;
/** Multiplication with a NumericalPoint (must have consistent dimensions) */
NumericalComplexCollection operator * (const NumericalScalarCollection & p) const;
/** Multiplication with a NumericalPoint (must have consistent dimensions) */
NumericalComplexCollection operator * (const NumericalPoint & p) const;
/** Multiplication with a NumericalComplex */
SquareComplexMatrix operator * (const NumericalComplex s) const;
/** Division by a NumericalComplex*/
SquareComplexMatrix operator / (const NumericalComplex s) const;
}
; /* class SquareComplexMatrix */
inline SquareComplexMatrix operator * (const NumericalComplex s,
const SquareComplexMatrix & m)
{
return m.operator * (s);
}
END_NAMESPACE_OPENTURNS
#endif /* OPENTURNS_SQUARECOMPLEXMATRIX_HXX */
|