NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
matrixoperations.hpp
Go to the documentation of this file.
1/*****************************************************************************
2 NumeRe: Framework fuer Numerische Rechnungen
3 Copyright (C) 2019 Erik Haenel et al.
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17******************************************************************************/
18
19#ifndef MATRIXOPERATIONS_HPP
20#define MATRIXOPERATIONS_HPP
21
22#include <string>
23#include <vector>
24
25#include "../ParserLib/muParser.h"
26#include "../datamanagement/memorymanager.hpp"
27#include "define.hpp"
28#include "../settings.hpp"
29#include "matdatastructures.hpp"
30
31
32bool performMatrixOperation(std::string& sCmd, mu::Parser& _parser, MemoryManager& _data, FunctionDefinitionManager& _functions, const Settings& _option);
33Matrix createZeroesMatrix(unsigned int nLines, unsigned int nCols);
34Matrix transposeMatrix(const Matrix& _mMatrix);
35Indices getIndices(const std::string& sCmd, const Matrix& _mMatrix, mu::Parser& _parser, MemoryManager& _data, const Settings& _option);
36
37void showMatrix(const std::vector<std::vector<mu::value_type> >&);
38
39#endif // MATRIXOPERATIONS_HPP
40
This class implements the function definition managing instance.
Definition: define.hpp:74
This class defines a dynamic size 2D matrix with a single 1D internal buffer. If the internal buffer ...
This class represents the central memory managing instance. It will handle all tables and clusters,...
This class manages the setting values of the internal (kernel) settings of this application.
Definition: settings.hpp:663
Mathematical expressions parser.
Definition: muParser.h:51
bool performMatrixOperation(std::string &sCmd, mu::Parser &_parser, MemoryManager &_data, FunctionDefinitionManager &_functions, const Settings &_option)
This function is the main interface to the matrix operations.
Matrix transposeMatrix(const Matrix &_mMatrix)
This static function will transpose the passed matrix (exchange rows with columns).
void showMatrix(const std::vector< std::vector< mu::value_type > > &)
Simple wrapper for the function parser_ShowMatrixResult() to be accessible from the outside.
Matrix createZeroesMatrix(unsigned int nLines, unsigned int nCols)
This function returns a matrix filled with zeros with the defined lines and columns.
Indices getIndices(const std::string &sCmd, const Matrix &_mMatrix, mu::Parser &_parser, MemoryManager &_data, const Settings &_option)
This function creates an Indices object, which is filled with the indices specified by the index equa...
This structure is central for managing the indices of a table or cluster read or write data access....