Public Types | Public Member Functions | Static Public Member Functions | List of all members
nmx::gsl::Matrix Class Reference

The Matrix class Schnittstelle zur gsl Bibliothek. More...

#include <xmatrix.h>

Inheritance diagram for nmx::gsl::Matrix:
nmx::gsl::mat::IRowColumnsViews< Matrix > nmx::gsl::mat::IRowColumns< Matrix > nmx::gsl::mat::IMMinMax< Matrix > nmx::gsl::mat::IMExchange< Matrix > nmx::gsl::mat::IMBlas< Matrix, Vector > nmx::gsl::mat::IMCalc< Matrix > nmx::gsl::mat::IMProperties< Matrix > nmx::gsl::mat::IMBase< Matrix >

Public Types

using View = MatrixView
 

Public Member Functions

 Matrix ()
 Matrix Konstruktor erzeugt eine leere Matrix ohne Speicherreservierung. More...
 
 Matrix (size_t rows, size_t columns)
 Matrix Konstruktor erzeugt eine Nullmatrix. More...
 
 Matrix (size_t rows, size_t columns, double val)
 Matrix Konstruktor in der alle Elemente denselben Wert haben. More...
 
 Matrix (std::initializer_list< std::initializer_list< double >> lst)
 Matrix Konstruktor. More...
 
 Matrix (const Matrix &m)
 Matrix Kopierkonstruktor. More...
 
 Matrix (Matrix &&m)
 Matrix move Konstruktor. More...
 
 ~Matrix ()
 ~Matrix More...
 
const gsl_matrix * gsl () const
 gsl_vec ermöglicht direkten Zugriff auf gsl Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl Funktionen More...
 
Matrixoperator= (const Matrix &m)
 operator = erzeuge Kopie More...
 
Matrixoperator= (Matrix &&m)
 operator = Move-Zuweisungsoperator More...
 
- Public Member Functions inherited from nmx::gsl::mat::IMBase< Matrix >
size_t rows () const
 rows More...
 
size_t columns () const
 columns More...
 
bool empty () const
 empty More...
 
double operator() (size_t idx, size_t jdx) const
 operator () lesender Zugriff More...
 
double & operator() (size_t i, size_t j)
 operator () schreibender Zugriff More...
 
void save (std::ostream &os, Format fmt=Output::array()) const
 save Speichert reihenweise eine Matrix More...
 
Matrixtransform (FN fn)
 transform eine Funktion wird auf alle Elemente der Matrix angewandt More...
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 1 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IMProperties< Matrix >
bool is_null () const
 
bool is_pos () const
 
bool is_neg () const
 
bool is_nonneg () const
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 6 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IMCalc< Matrix >
Matrixoperator+= (const Matrix &v)
 operator +=,-=,*=,/+ More...
 
Matrixoperator+= (double x)
 operator +=,-=,*= More...
 
Matrixoperator-= (const Matrix &v)
 
Matrixoperator-= (double x)
 
Matrixoperator*= (const Matrix &v)
 
Matrixoperator*= (double x)
 
Matrixoperator/= (const Matrix &v)
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 2 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IMExchange< Matrix >
void swap_rows (size_t i, size_t j)
 swap_rows vertausche Reihen More...
 
void swap_columns (size_t i, size_t j)
 swap_columns vertausche Spalten More...
 
void swap_row_columns (size_t i, size_t j)
 swap_row_columns vertausche Reihe mit Spalte More...
 
void transpose ()
 transpose Matrix wird transponiert More...
 
void transpose_copy (const Matrix &m)
 transpose_copy More...
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 4 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IMMinMax< Matrix >
double min () const
 min suche minimales Element More...
 
double max () const
 max suche maximales Element More...
 
auto min_max () const
 min_max suche gleichzeitig minimales und maximales Element More...
 
auto max_index () const
 max_index Position des maximalen Elements More...
 
auto min_index () const
 min_index Position des minimalen Elements More...
 
auto min_max_idx () const
 min_max_idx Position des minimalen und maximalen Elements More...
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 3 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IRowColumns< Matrix >
gsl::Vector row (size_t n) const
 row Kopie einer Reihe erzeugen More...
 
gsl::Vector column (size_t n) const
 column Kopie einer Spalte More...
 
void set_column (const gsl::Vector &v, size_t n)
 set_column Spalte wird den Elementen eines Vektors gleichgesetzt More...
 
void set_row (const gsl::Vector &v, size_t n)
 set_row Reihe wird den Elementen eines Vektors gleichgesetzt More...
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 10 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
- Public Member Functions inherited from nmx::gsl::mat::IRowColumnsViews< Matrix >
Vector::View row_view (size_t n)
 row_view Sicht auf eine Reihe More...
 
Vector::View column_view (size_t n)
 column_view erzeugt eine Sicht auf eine Spalte More...
 
Vector::View sub_row_view (size_t i, size_t offset, size_t n)
 sub_row_view Sicht auf Reihe einer Matrix More...
 
Vector::View sub_column_view (size_t i, size_t offset, size_t n)
 sub_column_view Sicht auf Spalte einer Matrix More...
 
- Public Member Functions inherited from nmx::gsl::IGslContainer< Matrix, gsl_matrix, 5 >
const gsl_matrix * gsl () const
 ermöglicht direkten Zugriff auf gsl-Funktionen More...
 
gsl_matrix * gsl ()
 gsl_vec ermöglicht direkten Zugriff auf gsl-Funktionen More...
 

Static Public Member Functions

static Matrix identity (size_t N)
 identity Erzeugt eine NxN Einheitsmatrix More...
 

Additional Inherited Members

- Protected Member Functions inherited from nmx::gsl::mat::IMCalc< Matrix >
Matrixapply_fn (const X &v, FN fn)
 apply_fn Hilfsfunktion More...
 

Detailed Description

The Matrix class Schnittstelle zur gsl Bibliothek.

Definition at line 55 of file xmatrix.h.

Member Typedef Documentation

◆ View

Definition at line 65 of file xmatrix.h.

Constructor & Destructor Documentation

◆ Matrix() [1/6]

nmx::gsl::Matrix::Matrix ( )
inline

Matrix Konstruktor erzeugt eine leere Matrix ohne Speicherreservierung.

Definition at line 75 of file xmatrix.h.

◆ Matrix() [2/6]

nmx::gsl::Matrix::Matrix ( size_t  rows,
size_t  columns 
)
inlineexplicit

Matrix Konstruktor erzeugt eine Nullmatrix.

Parameters
rowsAnzahl der Reihen
columnsAnzahl der Spalten

Definition at line 82 of file xmatrix.h.

◆ Matrix() [3/6]

nmx::gsl::Matrix::Matrix ( size_t  rows,
size_t  columns,
double  val 
)
inlineexplicit

Matrix Konstruktor in der alle Elemente denselben Wert haben.

Parameters
rowsAnzahl der Reihen
columnsAnzahl der Spalten
xalle Element erhalten den Wert x

Definition at line 93 of file xmatrix.h.

◆ Matrix() [4/6]

nmx::gsl::Matrix::Matrix ( std::initializer_list< std::initializer_list< double >>  lst)
inline

Matrix Konstruktor.

Parameters
lstverschachtelte Liste von Vektoren werden zu Reihen der Matrix z.B. { {1,2,3},{4,5,6},{6,7,8}}

Definition at line 103 of file xmatrix.h.

◆ Matrix() [5/6]

nmx::gsl::Matrix::Matrix ( const Matrix m)
inline

Matrix Kopierkonstruktor.

Parameters
mMatrix Vorlage

Definition at line 133 of file xmatrix.h.

◆ Matrix() [6/6]

nmx::gsl::Matrix::Matrix ( Matrix &&  m)
inline

Matrix move Konstruktor.

Parameters
mMatrix Vorlage

Definition at line 142 of file xmatrix.h.

◆ ~Matrix()

nmx::gsl::Matrix::~Matrix ( )
inline

~Matrix

Definition at line 151 of file xmatrix.h.

Member Function Documentation

◆ gsl() [1/2]

const gsl_matrix* nmx::gsl::Matrix::gsl ( ) const
inline

gsl_vec ermöglicht direkten Zugriff auf gsl Funktionen

Returns
Zeiger auf gsl-Struktur

Definition at line 161 of file xmatrix.h.

◆ gsl() [2/2]

gsl_matrix* nmx::gsl::Matrix::gsl ( )
inline

gsl_vec ermöglicht direkten Zugriff auf gsl Funktionen

Returns
Zeiger auf gsl-Struktur

Definition at line 167 of file xmatrix.h.

◆ identity()

static Matrix nmx::gsl::Matrix::identity ( size_t  N)
inlinestatic

identity Erzeugt eine NxN Einheitsmatrix

Parameters
NAnzahl der Reihen und Spalten
Returns
NxN Einheitsmatrix

Definition at line 211 of file xmatrix.h.

◆ operator=() [1/2]

Matrix& nmx::gsl::Matrix::operator= ( const Matrix m)
inline

operator = erzeuge Kopie

Parameters
mMatrix die kopiert wird
Returns
Referenz auf sich selbst

Definition at line 174 of file xmatrix.h.

◆ operator=() [2/2]

Matrix& nmx::gsl::Matrix::operator= ( Matrix &&  m)
inline

operator = Move-Zuweisungsoperator

Parameters
mMatrix Vorlage
Returns
Referenz auf sich selbst

Definition at line 193 of file xmatrix.h.


The documentation for this class was generated from the following file: