20 #ifndef MATRIX_ARRAY_H
21 #define MATRIX_ARRAY_H
95 MatrixArray(
size_t numRows,
size_t numCols = 1,
size_t numPages = 1);
101 explicit MatrixArray(
const std::valarray<T>& values);
113 explicit MatrixArray(
const std::vector<T>& values);
121 MatrixArray(
size_t numRows,
size_t numCols,
const std::valarray<T>& values);
129 MatrixArray(
size_t numRows,
size_t numCols, std::valarray<T>&& values);
138 MatrixArray(
size_t numRows,
size_t numCols,
size_t numPages,
const std::valarray<T>& values);
147 MatrixArray(
size_t numRows,
size_t numCols,
size_t numPages, std::valarray<T>&& values);
228 template <
bool EnableBool =
true,
229 typename =
std::enable_if_t<(std::is_same_v<T, std::complex<double>> && EnableBool)>>
259 m_values * std::valarray<T>(rhs, m_numRows * m_numCols * m_numPages));
266 AssertEqualDims(rhs);
274 AssertEqualDims(rhs);
282 return MatrixArray<T>(m_numRows, m_numCols, m_numPages, -m_values);
MatrixArray class inherits ValArray class and provides additional interfaces to ValArray which enable...
MatrixArray< T > HermitianTranspose() const
Function that performs the Hermitian transpose of this MatrixArray and returns a new matrix that is t...
MatrixArray operator*(const T &rhs) const
Element-wise multiplication with a scalar value.
MatrixArray operator-() const
unary operator- definition for MatrixArray<T>.
MatrixArray Transpose() const
This operator interprets the 3D array as an array of matrices, and performs a linear algebra operatio...
MatrixArray MultiplyByLeftAndRightMatrix(const MatrixArray< T > &lMatrix, const MatrixArray< T > &rMatrix) const
Multiply each matrix in the array by the left and the right matrix.
MatrixArray operator+(const MatrixArray< T > &rhs) const
operator+ definition for MatrixArray<T>.
ValArray is a class to efficiently store 3D array.
std::valarray< T > m_values
The data values.
typename std::enable_if< B, T >::type enable_if_t
Every class exported by the ns3 library is enclosed in the ns3 namespace.