ARTS  2.4.0(git:4fb77825)
m_reduce.h File Reference

Implementation of Reduce. More...

#include <cstring>
#include "array.h"
#include "exceptions.h"
#include "matpackVII.h"

Go to the source code of this file.

Functions

Index num_elem_from_dim_sizes (const ArrayOfIndex &dim_sizes)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Vector &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Matrix &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Tensor3 &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Tensor4 &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Tensor5 &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Tensor6 &type)
 
void select_dims_by_size (ArrayOfIndex &dim_sizes, const Index min_num_elem, const Tensor7 &type)
 
void Reduce (Numeric &o, const Vector &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Matrix &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Tensor3 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Tensor4 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Tensor5 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Numeric &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Matrix &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Tensor3 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Tensor4 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Tensor5 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Vector &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Matrix &o, const Tensor3 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Matrix &o, const Tensor4 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Matrix &o, const Tensor5 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Matrix &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Matrix &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor3 &o, const Tensor4 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor3 &o, const Tensor5 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor3 &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor3 &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor4 &o, const Tensor5 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor4 &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor4 &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor5 &o, const Tensor6 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor5 &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 
void Reduce (Tensor6 &o, const Tensor7 &i, const Verbosity &)
 WORKSPACE METHOD: Reduce. More...
 

Detailed Description

Implementation of Reduce.

Author
Richard Larsson ric.l.nosp@m.arss.nosp@m.on@gm.nosp@m.ail..nosp@m.com
Date
Wed Feb 25 2014

This file contains the implementation of the supergeneric method Reduce.

Definition in file m_reduce.h.

Function Documentation

◆ num_elem_from_dim_sizes()

Index num_elem_from_dim_sizes ( const ArrayOfIndex dim_sizes)
inline

Definition at line 40 of file m_reduce.h.

Referenced by Reduce().

◆ Reduce() [1/28]

void Reduce ( Matrix o,
const Tensor3 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 414 of file m_reduce.h.

References MatrixView::get_c_array(), Tensor3View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Matrix::resize(), and select_dims_by_size().

◆ Reduce() [2/28]

void Reduce ( Matrix o,
const Tensor4 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 440 of file m_reduce.h.

References MatrixView::get_c_array(), Tensor4View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Matrix::resize(), and select_dims_by_size().

◆ Reduce() [3/28]

void Reduce ( Matrix o,
const Tensor5 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 466 of file m_reduce.h.

References MatrixView::get_c_array(), Tensor5View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Matrix::resize(), and select_dims_by_size().

◆ Reduce() [4/28]

void Reduce ( Matrix o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 492 of file m_reduce.h.

References MatrixView::get_c_array(), Tensor6View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Matrix::resize(), and select_dims_by_size().

◆ Reduce() [5/28]

void Reduce ( Matrix o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 518 of file m_reduce.h.

References MatrixView::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Matrix::resize(), and select_dims_by_size().

◆ Reduce() [6/28]

void Reduce ( Numeric o,
const Matrix i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 149 of file m_reduce.h.

References ConstMatrixView::ncols(), and ConstMatrixView::nrows().

◆ Reduce() [7/28]

void Reduce ( Numeric o,
const Tensor3 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 166 of file m_reduce.h.

References ConstTensor3View::ncols(), ConstTensor3View::npages(), and ConstTensor3View::nrows().

◆ Reduce() [8/28]

void Reduce ( Numeric o,
const Tensor4 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 183 of file m_reduce.h.

References ConstTensor4View::nbooks(), ConstTensor4View::ncols(), ConstTensor4View::npages(), and ConstTensor4View::nrows().

◆ Reduce() [9/28]

void Reduce ( Numeric o,
const Tensor5 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 200 of file m_reduce.h.

References ConstTensor5View::nbooks(), ConstTensor5View::ncols(), ConstTensor5View::npages(), ConstTensor5View::nrows(), and ConstTensor5View::nshelves().

◆ Reduce() [10/28]

void Reduce ( Numeric o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 218 of file m_reduce.h.

References ConstTensor6View::nbooks(), ConstTensor6View::ncols(), ConstTensor6View::npages(), ConstTensor6View::nrows(), ConstTensor6View::nshelves(), and ConstTensor6View::nvitrines().

◆ Reduce() [11/28]

void Reduce ( Numeric o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 236 of file m_reduce.h.

References ConstTensor7View::nbooks(), ConstTensor7View::ncols(), ConstTensor7View::nlibraries(), ConstTensor7View::npages(), ConstTensor7View::nrows(), ConstTensor7View::nshelves(), and ConstTensor7View::nvitrines().

◆ Reduce() [12/28]

void Reduce ( Numeric o,
const Vector i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 132 of file m_reduce.h.

References ConstVectorView::nelem().

Referenced by Reduce_sg_MatrixTensor3_g(), Reduce_sg_MatrixTensor4_g(), Reduce_sg_MatrixTensor5_g(), Reduce_sg_MatrixTensor6_g(), Reduce_sg_MatrixTensor7_g(), Reduce_sg_NumericMatrix_g(), Reduce_sg_NumericTensor3_g(), Reduce_sg_NumericTensor4_g(), Reduce_sg_NumericTensor5_g(), Reduce_sg_NumericTensor6_g(), Reduce_sg_NumericTensor7_g(), Reduce_sg_NumericVector_g(), Reduce_sg_Tensor3Tensor4_g(), Reduce_sg_Tensor3Tensor5_g(), Reduce_sg_Tensor3Tensor6_g(), Reduce_sg_Tensor3Tensor7_g(), Reduce_sg_Tensor4Tensor5_g(), Reduce_sg_Tensor4Tensor6_g(), Reduce_sg_Tensor4Tensor7_g(), Reduce_sg_Tensor5Tensor6_g(), Reduce_sg_Tensor5Tensor7_g(), Reduce_sg_Tensor6Tensor7_g(), Reduce_sg_VectorMatrix_g(), Reduce_sg_VectorTensor3_g(), Reduce_sg_VectorTensor4_g(), Reduce_sg_VectorTensor5_g(), Reduce_sg_VectorTensor6_g(), and Reduce_sg_VectorTensor7_g().

◆ Reduce() [13/28]

void Reduce ( Tensor3 o,
const Tensor4 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 546 of file m_reduce.h.

References Tensor3View::get_c_array(), Tensor4View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor3::resize(), and select_dims_by_size().

◆ Reduce() [14/28]

void Reduce ( Tensor3 o,
const Tensor5 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 572 of file m_reduce.h.

References Tensor3View::get_c_array(), Tensor5View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor3::resize(), and select_dims_by_size().

◆ Reduce() [15/28]

void Reduce ( Tensor3 o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 598 of file m_reduce.h.

References Tensor3View::get_c_array(), Tensor6View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor3::resize(), and select_dims_by_size().

◆ Reduce() [16/28]

void Reduce ( Tensor3 o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 624 of file m_reduce.h.

References Tensor3View::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor3::resize(), and select_dims_by_size().

◆ Reduce() [17/28]

void Reduce ( Tensor4 o,
const Tensor5 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 652 of file m_reduce.h.

References Tensor4View::get_c_array(), Tensor5View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor4::resize(), and select_dims_by_size().

◆ Reduce() [18/28]

void Reduce ( Tensor4 o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 678 of file m_reduce.h.

References Tensor4View::get_c_array(), Tensor6View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor4::resize(), and select_dims_by_size().

◆ Reduce() [19/28]

void Reduce ( Tensor4 o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 704 of file m_reduce.h.

References Tensor4View::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor4::resize(), and select_dims_by_size().

◆ Reduce() [20/28]

void Reduce ( Tensor5 o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 732 of file m_reduce.h.

References Tensor5View::get_c_array(), Tensor6View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor5::resize(), and select_dims_by_size().

◆ Reduce() [21/28]

void Reduce ( Tensor5 o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 759 of file m_reduce.h.

References Tensor5View::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor5::resize(), and select_dims_by_size().

◆ Reduce() [22/28]

void Reduce ( Tensor6 o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 788 of file m_reduce.h.

References Tensor6View::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Tensor6::resize(), and select_dims_by_size().

◆ Reduce() [23/28]

void Reduce ( Vector o,
const Matrix i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 256 of file m_reduce.h.

References VectorView::get_c_array(), MatrixView::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ Reduce() [24/28]

void Reduce ( Vector o,
const Tensor3 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 282 of file m_reduce.h.

References VectorView::get_c_array(), Tensor3View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ Reduce() [25/28]

void Reduce ( Vector o,
const Tensor4 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 308 of file m_reduce.h.

References VectorView::get_c_array(), Tensor4View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ Reduce() [26/28]

void Reduce ( Vector o,
const Tensor5 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 334 of file m_reduce.h.

References VectorView::get_c_array(), Tensor5View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ Reduce() [27/28]

void Reduce ( Vector o,
const Tensor6 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 360 of file m_reduce.h.

References VectorView::get_c_array(), Tensor6View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ Reduce() [28/28]

void Reduce ( Vector o,
const Tensor7 i,
const Verbosity verbosity 
)
inline

WORKSPACE METHOD: Reduce.

Reduces a larger class to a smaller class of same size.

The Reduce command reduces all "1"-dimensions to nil. Examples: 1) 1 Vector can be reduced to a Numeric 2) 2x1 Matrix can be reduced to 2 Vector 3) 1x3x1 Tensor3 can be reduced to 3 Vector 4) 1x1x1x1 Tensor4 can be reduced to a Numeric 5) 3x1x4x1x5 Tensor5 can only be reduced to 3x4x5 Tensor3 6) 1x1x1x1x2x3 Tensor6 can be reduced to 2x3 Matrix 7) 2x3x4x5x6x7x1 Tensor7 can be reduced to 2x3x4x5x6x7 Tensor6 And so on

Author
Oliver Lemke
Richard Larsson
Parameters
[out]oSupergeneric output
[in]iGeneric Input

Definition at line 386 of file m_reduce.h.

References VectorView::get_c_array(), Tensor7View::get_c_array(), Array< base >::nelem(), num_elem_from_dim_sizes(), Vector::resize(), and select_dims_by_size().

◆ select_dims_by_size() [1/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Matrix type 
)
inline

Definition at line 59 of file m_reduce.h.

References ConstMatrixView::ncols(), and ConstMatrixView::nrows().

◆ select_dims_by_size() [2/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Tensor3 type 
)
inline

◆ select_dims_by_size() [3/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Tensor4 type 
)
inline

◆ select_dims_by_size() [4/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Tensor5 type 
)
inline

◆ select_dims_by_size() [5/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Tensor6 type 
)
inline

◆ select_dims_by_size() [6/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Tensor7 type 
)
inline

◆ select_dims_by_size() [7/7]

void select_dims_by_size ( ArrayOfIndex dim_sizes,
const Index  min_num_elem,
const Vector type 
)
inline

Definition at line 51 of file m_reduce.h.

References ConstVectorView::nelem().

Referenced by Reduce().