SheafSystem  0.0.0.0
fiber_bundle::general_matrix_1x2< T > Class Template Reference

General matrix with 1 row and 2 columns. More...

#include <general_matrix_1x2.h>

Public Member Functions

T * operator[] (int xrow)
 Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j]. More...
 
const T * operator[] (int xrow) const
 Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j]. More...
 
 operator T* ()
 Conversion (cast) operator to convert to the associated matrix type (non const version). More...
 
 operator const T * () const
 Conversion (cast) operator to convert to the associated matrix type (const version). More...
 
int row_index (int xrow) const
 Index for row xrow in the linear storage array. More...
 
void assign (const T &xvalue)
 Assign all elements of this matrix to the value xvalue. More...
 
void multiply (const T &xscalar, general_matrix_1x2< T > &xresult) const
 This matrix multiplied by a scalar (pre-allocated). More...
 
general_matrix_1x2< T > multiply (const T &xscalar) const
 This matrix multiplied by a scalar (auto-allocated). More...
 
void multiply (const general_matrix_2x1< T > &xother, T &xresult) const
 Premultiply matrix xother by this matrix (pre-allocated). Result is a scalar. More...
 
multiply (const general_matrix_2x1< T > &xother) const
 Premultiply matrix xother by this matrix (auto-allocated). Result is a scalar. More...
 
void multiply (const general_matrix_2x2< T > &xother, general_matrix_1x2< T > &xresult) const
 Premultiply matrix xother by this matrix (pre-allocated). More...
 
general_matrix_1x2< T > multiply (const general_matrix_2x2< T > &xother) const
 Premultiply matrix xother by this matrix (auto-allocated). More...
 
void multiply (const general_matrix_2x3< T > &xother, general_matrix_1x3< T > &xresult) const
 Premultiply matrix xother by this matrix (pre-allocated). More...
 
general_matrix_1x3< T > multiply (const general_matrix_2x3< T > &xother) const
 Premultiply matrix xother by this matrix (auto-allocated). More...
 
void transpose (general_matrix_2x1< T > &xresult) const
 The transpose of the matrix (pre-allocated). More...
 
general_matrix_2x1< T > transpose () const
 The transpose of the matrix (auto-allocated). More...
 

Static Public Member Functions

static int number_of_rows ()
 The number of rows. More...
 
static int number_of_columns ()
 The number of columns. More...
 
static int d ()
 Dimension of the underlying elements. More...
 

Public Attributes

components [2]
 Linear storage array. More...
 

Detailed Description

template<typename T>
class fiber_bundle::general_matrix_1x2< T >

General matrix with 1 row and 2 columns.

Class general_matrix_1x2 is a special kind of matrix class intended to be used in conjunction with various row_dofs_type classes (pod types). The pod types will be converted (cast) to appropriate matrix types. So, this class is also required to be a pod type also (ie: really just a struct with no inheritance, no constructors, no virtual functions, etc.).

Definition at line 34 of file antisymmetric_matrix_2x2.h.

Member Function Documentation

◆ assign()

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::assign ( const T &  xvalue)

Assign all elements of this matrix to the value xvalue.

Postcondition
  • for(int i = ( 0 ); i < ( d() ); ++ i ) components[i] == xvalue

Definition at line 244 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply().

Referenced by fiber_bundle::general_matrix_1x2< T >::row_index().

◆ d()

template<typename T >
int fiber_bundle::general_matrix_1x2< T >::d ( )
static

Dimension of the underlying elements.

Definition at line 112 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::operator[]().

Referenced by fiber_bundle::general_matrix_1x2< T >::number_of_columns().

◆ multiply() [1/8]

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::multiply ( const T &  xscalar,
general_matrix_1x2< T > &  xresult 
) const

This matrix multiplied by a scalar (pre-allocated).

Definition at line 267 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::components.

Referenced by fiber_bundle::general_matrix_1x2< T >::assign(), and fiber_bundle::general_matrix_1x2< T >::multiply().

◆ multiply() [2/8]

template<typename T >
general_matrix_1x2< T > fiber_bundle::general_matrix_1x2< T >::multiply ( const T &  xscalar) const

This matrix multiplied by a scalar (auto-allocated).

Definition at line 292 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::vd_algebra::multiply().

◆ multiply() [3/8]

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x1< T > &  xother,
T &  xresult 
) const

Premultiply matrix xother by this matrix (pre-allocated). Result is a scalar.

Definition at line 312 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply().

◆ multiply() [4/8]

template<typename T >
T fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x1< T > &  xother) const

Premultiply matrix xother by this matrix (auto-allocated). Result is a scalar.

Definition at line 340 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::vd_algebra::multiply().

◆ multiply() [5/8]

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x2< T > &  xother,
general_matrix_1x2< T > &  xresult 
) const

Premultiply matrix xother by this matrix (pre-allocated).

Definition at line 360 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::general_matrix_2x2< T >::number_of_columns().

◆ multiply() [6/8]

template<typename T >
general_matrix_1x2< T > fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x2< T > &  xother) const

Premultiply matrix xother by this matrix (auto-allocated).

Definition at line 400 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::vd_algebra::multiply().

◆ multiply() [7/8]

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x3< T > &  xother,
general_matrix_1x3< T > &  xresult 
) const

Premultiply matrix xother by this matrix (pre-allocated).

Definition at line 420 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::general_matrix_2x3< T >::number_of_columns().

◆ multiply() [8/8]

template<typename T >
general_matrix_1x3< T > fiber_bundle::general_matrix_1x2< T >::multiply ( const general_matrix_2x3< T > &  xother) const

Premultiply matrix xother by this matrix (auto-allocated).

Definition at line 460 of file general_matrix_1x2.impl.h.

References fiber_bundle::vd_algebra::multiply(), and fiber_bundle::general_matrix_1x2< T >::transpose().

◆ number_of_columns()

◆ number_of_rows()

template<typename T >
int fiber_bundle::general_matrix_1x2< T >::number_of_rows ( )
static

The number of rows.

Definition at line 78 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::number_of_columns().

Referenced by fiber_bundle::operator<<().

◆ operator const T *()

template<typename T >
fiber_bundle::general_matrix_1x2< T >::operator const T * ( ) const

Conversion (cast) operator to convert to the associated matrix type (const version).

Postcondition
  • result != 0

Definition at line 195 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::row_index().

◆ operator T*()

template<typename T >
fiber_bundle::general_matrix_1x2< T >::operator T* ( )

Conversion (cast) operator to convert to the associated matrix type (non const version).

Postcondition
  • result != 0

Definition at line 173 of file general_matrix_1x2.impl.h.

◆ operator[]() [1/2]

template<typename T >
T * fiber_bundle::general_matrix_1x2< T >::operator[] ( int  xrow)

Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j].

Precondition
Postcondition
  • result != 0

Definition at line 129 of file general_matrix_1x2.impl.h.

Referenced by fiber_bundle::general_matrix_1x2< T >::d().

◆ operator[]() [2/2]

template<typename T >
const T * fiber_bundle::general_matrix_1x2< T >::operator[] ( int  xrow) const

Pointer to the first element in row xrow of this matrix. Facilitates accessing elements via matrix[i][j].

Precondition
Postcondition
  • result != 0

Definition at line 151 of file general_matrix_1x2.impl.h.

◆ row_index()

template<typename T >
int fiber_bundle::general_matrix_1x2< T >::row_index ( int  xrow) const

Index for row xrow in the linear storage array.

Precondition
Postcondition

Definition at line 218 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::assign().

Referenced by fiber_bundle::general_matrix_1x2< T >::operator const T *().

◆ transpose() [1/2]

template<typename T >
void fiber_bundle::general_matrix_1x2< T >::transpose ( general_matrix_2x1< T > &  xresult) const

The transpose of the matrix (pre-allocated).

Definition at line 480 of file general_matrix_1x2.impl.h.

References fiber_bundle::general_matrix_1x2< T >::transpose().

◆ transpose() [2/2]

template<typename T >
general_matrix_2x1< T > fiber_bundle::general_matrix_1x2< T >::transpose ( ) const

The transpose of the matrix (auto-allocated).

Definition at line 501 of file general_matrix_1x2.impl.h.

Referenced by fiber_bundle::general_matrix_1x2< T >::multiply(), and fiber_bundle::general_matrix_1x2< T >::transpose().

Member Data Documentation

◆ components


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