The Vish Visualization Shell 0.3
Vish
Public Member Functions | Related Symbols | List of all members
Eagle::Column< R, value > Class Template Reference

A column vector. More...

#include <elementary/eagle/Matrix.hpp>

Inheritance diagram for Eagle::Column< R, value >:
Eagle::Matrix< R, 1, value > Eagle::Vector< T, n > Eagle::FixedArray< T, n >

Public Member Functions

constexpr Column ()
 Default constructor (no initialization!)
 
constexpr Column (const Column &A, const Operator<'-'> &Op)
 Computational constructor for unary minus.
 
constexpr Column (const Column< R, value > &r, const value &V, const Mult &)
 Computational constructor for scalar multiplicatoin.
 
template<class AType , class BType , OperatorID_t CompType>
constexpr Column (const FixedArray< AType, R > &l, const FixedArray< BType, R > &r, const Operator< CompType > &Op)
 Generic computational constructor for two arrays of size compatible with the column vector.
 
template<class ValueType , OperatorID_t CompType>
constexpr Column (const FixedArray< ValueType, R > &l, const Operator< CompType > &C, const value &scalar)
 Generic computational constructor for column/scalar operations.
 
template<class ValueType >
constexpr Column (const FixedArray< ValueType, R > &V)
 Explicit construction from compatible base type.
 
template<dimension_t C>
 Column (const Matrix< R, C, value > &A, const Column< C, value > &V)
 Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector Y output of dimension r.
 
template<dimension_t C>
 Column (const Matrix< R, C, value > &M, int c)
 Construct column vector from some matrix column.
 
template<class ValueType , OperatorID_t CompType>
constexpr Column (const Operator< CompType > &C, const value &scalar, const FixedArray< ValueType, R > &l)
 Generic computational constructor for scalar/column operations.
 
constexpr Column (const Row< R, value > &r, const TransposeOperation &)
 Computational constructor for transpose operation.
 
constexpr Column (const std::array< value, R > &V)
 Explicit construction from compatible initializer list.
 
template<class Type >
constexpr Column (const std::initializer_list< Type > &V)
 Explicit construction from compatible initializer list.
 
constexpr value & operator[] (int i)
 Access element for writing.
 
constexpr const value & operator[] (int i) const
 Element access operation for reading.
 
- Public Member Functions inherited from Eagle::Matrix< R, 1, value >
constexpr const Matrix_tmatrix () const
 yield matrix here, useful for derived classes.
 
constexpr Matrix ()
 Default constructor.
 
constexpr Matrix (const Matrix &M)
 Copy constructor.
 
constexpr Matrix (const Base_t &V)
 Construct matrix from linear vector.
 
constexpr Matrix (const std::array< T, 16 > &Init)
 Construct matrix from initializer list.
 
constexpr Matrix (const Matrix &A, const value &V, const Operator<' *'> &M)
 Computational constructor for multiplying matrix by scalar.
 
constexpr Matrix (const value &V, const Matrix &A, const Operator<' *'> &M)
 Computational constructor for multiplying scalar by matrix.
 
constexpr Matrix (const Matrix &A, const value &V, const Operator<'/'> &Op)
 Computational constructor for dividing matrix by scalar.
 
constexpr Matrix (const Matrix &A, const Matrix &B, const Operator<'+'> &Op)
 Computational constructor for matrix addition.
 
constexpr Matrix (const Matrix &A, const Matrix &B, const Operator<'-'> &Op)
 Computational constructor for matrix subtraction.
 
constexpr Matrix (const FixedArray< AType, R *C > &l, const FixedArray< BType, R *C > &r, const Operator< CompType > &Op)
 Generic computational constructor for two arrays of size compatible with the matrix.
 
constexpr Matrix (const FixedArray< Type, R *C > &Data)
 Explicit constructor from arbitrary compatible type.
 
constexpr Matrix (const FixedArray< ValueType, R > &l, const Operator< CompType > &Op, const value &scalar)
 Generic computational constructor for vector/scalar operations.
 
constexpr Matrix (const Operator< CompType > &Op, const value &scalar, const FixedArray< ValueType, R > &l)
 Generic computational constructor for scalar/vector operations.
 
constexpr Matrix (const Matrix &A, const Operator<'-'> &Op)
 Computational constructor for unary minus.
 
constexpr Matrix (const Matrix< R, M, ValueA > &A, const Matrix< M, C, ValueB > &B, const Operator<' *'> &)
 Matrix multiplication $ A B$.
 
constexpr Matrix (const Matrix< R, M, ValueA > &A, const Matrix< C, M, ValueB > &B, const Operator<' *','~'> &)
 Transposed matrix multiplication $ A B^{\tau}$.
 
constexpr Matrix (const Matrix< R, M, value > &A, const Matrix< C, M, value > &B, const Mult &, const TransposeOperation &)
 Matrix multiplication $ A B^t$ with transpose of matrix B.
 
constexpr Matrix (const Matrix< M, R, value > &A, const Matrix< M, C, value > &B, const TransposeOperation &, const Mult &)
 Matrix multiplication $ A^t B$ with transpose of matrix A.
 
constexpr Matrix (const Matrix< R, C, value > &A, const LowerTriangular< C, value > &B, const Mult &)
 Matrix multiplication $ A B$ where B is a symmetric matrix stored in lower triangular form.
 
constexpr Matrix (const Matrix< C, R, value > &A, const LowerTriangular< C, value > &B, const TransposeOperation &, const Mult &)
 Matrix multiplication $ A^t B$ where B is a symmetric matrix stored in lower triangular form.
 
constexpr const Column< R, value > & column (int i) const
 Return the ith column of this matrix.
 
constexpr Column< R, value > & column (int i)
 Return the ith column of this matrix, writeable.
 
constexpr value & operator() (dimension_t row, dimension_t column)
 Access element for writing.
 
constexpr const value & operator() (dimension_t row, dimension_t column) const
 Element access operation for reading.
 
constexpr Row_t row (dimension_t rowNr)
 Return writable reference to the ith row of this matrix.
 
constexpr const Row_t row (dimension_t rowNr) const
 Return read-only reference to the ith row of this matrix.
 
constexpr const auto operator[] (dimension_t r) const
 Allow nested access to matrix elements via bracket operator.
 
constexpr auto & operator[] (dimension_t r)
 Allow nested access to matrix elements via bracket operator.
 
- Public Member Functions inherited from Eagle::Vector< T, n >
Base_tfixed_array ()
 Provide access to the base class, writable.
 
const Base_tfixed_array () const
 Provide access to the base class, read-only.
 
Vectoroperator*= (const T &value)
 Self-multiplication.
 
Vectoroperator+= (const Vector &v)
 Self-addition.
 
Vector operator- () const
 Unary minus.
 
Vectoroperator-= (const Vector &v)
 Self-subtraction.
 
Vectoroperator/= (const T &value)
 Self-division.
 
template<class scalar >
Assignment< Vector, 0 > operator= (const scalar &x)
 Assign first element with scalar and use consecutive comma expressions for assignment of further elements As such a Vector may be assigned as.
 
Vectoroperator= (const Vector &src)
 Assignment operator.
 
template<class V >
void set (const V &value)
 Assign all values to the same scalar.
 
constexpr Vector ()
 Default constructor.
 
template<class AType , class BType , int CompType>
 Vector (const FixedArray< AType, n > &l, const FixedArray< BType, n > &r, const Operator< CompType > &Op)
 Computational constructor for binary operations on two fixed arrays, calls the Operator's ternary() member function for each element.
 
template<class AType , class ScalarType , int CompType>
 Vector (const FixedArray< AType, n > &l, const Operator< CompType > &, const ScalarType &scalar)
 Computational constructor from vector with scalar, calls the Operator's ternary() member function for each element and the scalar as its 3rd argument.
 
template<typename InputType >
 Vector (const FixedArray< InputType, SIZE > &V)
 Type conversion constructor.
 
template<typename Indicable >
 Vector (const Indicable &I, const AnyType &)
 Construct from indicable object, i.e.
 
template<class AType , class ScalarType , int CompType>
 Vector (const Operator< CompType > &, const ScalarType &scalar, const FixedArray< AType, n > &v)
 Computational constructor from scalar with vector calls the Operator's ternary() member function for each element and the scalar as its 2nd argument.
 
template<typename InputType >
constexpr Vector (const std::initializer_list< InputType > &Init)
 Construct from a initialization array.
 
 Vector (const T &a)
 Convenience Constructor: initialize the first element.
 
 Vector (const T &a, const T &b)
 Convenience Constructor: initialize the first two elements.
 
 Vector (const T &a, const T &b, const T &c)
 Convenience Constructor: initialize the first three elements.
 
 Vector (const T &a, const T &b, const T &c, const T &d)
 Convenience Constructor: initialize the first four elements.
 
template<int CompType>
 Vector (const Vector &l, const Vector &r, const Operator< CompType > &)
 Computational constructor for binary operations on two vectors calls the Operator's ternary() member function for each element.
 
 Vector (const Vector &NV, const Sub &, const Sub &)
 Computational constructor for unary minus.
 
constexpr Vector (const Vector &v)
 Copy constructor.
 
 Vector (const Vector &v, const Operator<'-'> &)
 Unitary minus computational constructor Applies the unitary minus to each element.
 
template<typename InputType >
 Vector (const Vector< InputType, SIZE > &V)
 Type conversion constructor.
 
- Public Member Functions inherited from Eagle::FixedArray< T, n >
void expandMinMax (FixedArray &MinValues, FixedArray &MaxValues) const
 Expand a range given by MinValues,MaxValues to include the values of this array, done per component.
 
constexpr FixedArray () noexcept
 Default constructor.
 
constexpr FixedArray (const FixedArray< AType, N > &l, const FixedArray< BType, N > &r, const Operator< CompType > &)
 Computational constructor for binary operations on two fixed arrays, calls the Operator's ternary() member function for each element.
 
constexpr FixedArray (const FixedArray< T, M > &F, const T &DefaultValue)
 Construct array from another array type of variable length.
 
constexpr FixedArray (const FixedArray< T, N > &F)
 Automatic type conversion function.
 
constexpr FixedArray (const FixedArray< T, N > &F, const ConversionFunctor &CF, const FA_CONVERT &)
 Construct array from another array type of same length.
 
constexpr FixedArray (const std::initializer_list< InitType > &Init)
 Construct from a initialization array.
 
constexpr FixedArray (const T &a)
 Convenience Constructor: initialize the first element.
 
constexpr FixedArray (const T &a, const T &b)
 Convenience Constructor: initialize the first two elements.
 
 FixedArray (const T &a, const T &b, const T &c)
 Convenience Constructor: initialize the first three elements.
 
constexpr FixedArray (const T &a, const T &b, const T &c, const T &d)
 Convenience Constructor: initialize the first four elements.
 
constexpr FixedArray (const T &a, const T &b, const T &c, const T &d, const T &e)
 Convenience Constructor: initialize the first five elements.
 
constexpr T & get (int i)
 writable element access
 
constexpr const T & get (int i) const
 read-only element access
 
constexpr const FixedArray< T, subsize > * get_subarray () const
 Helper class for retrieve a subset of the current array.
 
constexpr const FixedArray< T, SIZE-1 > & get_subdim () const
 Mainly introduced because of Interpolate::operator[].
 
const FixedArray_tgetFixedArray () const noexcept
 convenience function for base classes
 
FixedArray_tgetFixedArray () noexcept
 convenience function for base classes
 
constexpr T getMax () const
 Compute the maximum element value of this array.
 
constexpr T getMin () const
 Compute the maximum element value of this array.
 
constexpr bool operator!= (const FixedArray< T, N > &F) const
 Compare two arrays.
 
constexpr bool operator== (const FixedArray< T, N > &F) const
 Compare two arrays.
 
constexpr T & operator[] (int i)
 writeable element access operator
 
constexpr const T & operator[] (int i) const
 read-only element access operator
 
constexpr T * ptr (int i=0) noexcept
 Return a pointer to the ith element, no range checking.
 
constexpr void set (const Value &x)
 Set all array elements to the same value.
 
void setFromArray (const T *x, int length=SIZE, int offset=0)
 Set all array elements to an array's element value.
 
void sort (FixedArray< int, N > &I) const
 Sort the elements of an array into the index array.
 

Related Symbols

(Note that these are not member symbols.)

template<int R, int C, class value >
Column< R, value > operator* (const Matrix< R, C, value > &A, const Column< C, value > &V)
 Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector C output of dimension r.
 

Additional Inherited Members

- Public Types inherited from Eagle::Matrix< R, 1, value >
using Matrix_t = Matrix
 Matrix type.
 
typedef Operator<' *'> Mult
 Computational constructor argument for multiplicative operations.
 
typedef Operator<'~'> TransposeOperation
 Computational constructor argument for transpose operations.
 
- Public Types inherited from Eagle::Vector< T, n >
enum  
 The number of elements in this array.
 
- Public Types inherited from Eagle::FixedArray< T, n >
typedef FlattenedArray_t::value_type Element_t
 The maximally reduced type of elements stored here.
 
typedef GetFixedArrayType< T >::result_t ElementAsFixedArray_t
 Element type as fixed array, if it is convertible to a fixed array.
 
typedef FixedArray FixedArray_t
 Exporting the type definition of this array cass type.
 
typedef FixedArrayFlattener< FixedArrayOfElements_tFixedArrayFlattener_t
 Internal helper class.
 
typedef FixedArray< ElementAsFixedArray_t, N > FixedArrayOfElements_t
 If the value is derived from a fixed array type itself, then the FixedArrayOfElements_t is an FixedArray<FixedArray<>> type.
 
typedef FixedArrayFlattener_t::result_t FlattenedArray_t
 Reduction of this array type, if it is nested, to an flattened type which contains elementary types.
 
typedef T value_type
 Export the type of the respective element value type.
 
- Static Public Member Functions inherited from Eagle::FixedArray< T, n >
static constexpr FixedArray convert (const FixedArray< T, N > &F, const ConversionFunctor &CF)
 Perform a type conversion on a given fixed array into another basis type:
 
static constexpr dimension_t size ()
 The number of elements here.
 
- Protected Attributes inherited from Eagle::FixedArray< T, n >
data [SIZE]
 The actual data values, intentional no-initialization for data member, which increases performance on vector creation.
 

Detailed Description

template<dimension_t R, class value>
class Eagle::Column< R, value >

A column vector.

     (1)
     (2)
     (3)
    
See also
Row, Matrix

Constructor & Destructor Documentation

◆ Column() [1/2]

template<dimension_t R, class value >
template<dimension_t C>
Eagle::Column< R, value >::Column ( const Matrix< R, C, value > &  A,
const Column< C, value > &  V 
)
inline

Multiply r (rows) by c (columns) matrix A on the left by column vector V of dimension c on the right to produce a (column) vector Y output of dimension r.

this = A * V c = M*c

                 (1)
                 (2)
                 (3)
          (1 2 3)        (13)
          (4 5 6)        (32)

◆ Column() [2/2]

template<dimension_t R, class value >
template<dimension_t C>
Eagle::Column< R, value >::Column ( const Matrix< R, C, value > &  M,
int  c 
)
inline

Construct column vector from some matrix column.

Parameters
MThe Matrix
cThe selected column

References Eagle::FixedArray< T, n >::data.