Visual Servoing Platform  version 3.2.0 under development (2019-01-22)
vpArray2D< Type > Class Template Reference

#include <visp3/core/vpArray2D.h>

Public Member Functions

 vpArray2D ()
 
 vpArray2D (const vpArray2D< Type > &A)
 
 vpArray2D (unsigned int r, unsigned int c)
 
 vpArray2D (unsigned int r, unsigned int c, Type val)
 
virtual ~vpArray2D ()
 

Static Public Member Functions

Inherited I/O from vpArray2D with Static Public Member Functions
static bool load (const std::string &filename, vpArray2D< Type > &A, const bool binary=false, char *header=NULL)
 
static bool loadYAML (const std::string &filename, vpArray2D< Type > &A, char *header=NULL)
 
static bool save (const std::string &filename, const vpArray2D< Type > &A, const bool binary=false, const char *header="")
 
static bool saveYAML (const std::string &filename, const vpArray2D< Type > &A, const char *header="")
 

Public Attributes

Type * data
 

Protected Attributes

unsigned int rowNum
 
unsigned int colNum
 
Type ** rowPtrs
 
unsigned int dsize
 

Related Functions

(Note that these are not member functions.)

enum  vpGEMMmethod
 
void vpGEMM (const vpArray2D< double > &A, const vpArray2D< double > &B, const double &alpha, const vpArray2D< double > &C, const double &beta, vpArray2D< double > &D, const unsigned int &ops=0)
 

Inherited functionalities from vpArray2D

std::ostream & operator<< (std::ostream &s, const vpArray2D< Type > &A)
 
unsigned int getCols () const
 
Type getMaxValue () const
 
Type getMinValue () const
 
unsigned int getRows () const
 
unsigned int size () const
 
void resize (const unsigned int nrows, const unsigned int ncols, const bool flagNullify=true, const bool recopy_=true)
 
vpArray2D< Type > & operator= (Type x)
 
vpArray2D< Type > & operator= (const vpArray2D< Type > &A)
 
Type * operator[] (unsigned int i)
 
Type * operator[] (unsigned int i) const
 
vpArray2D< Type > hadamard (const vpArray2D< Type > &m) const
 

Detailed Description

template<class Type>
class vpArray2D< Type >

Implementation of a generic 2D array used as vase class of matrices and vectors.

This class implements a 2D array as a template class and all the basic functionalities common to matrices and vectors. More precisely:

Examples:
testArray2D.cpp, and testUndistortImage.cpp.

Definition at line 70 of file vpArray2D.h.

Constructor & Destructor Documentation

template<class Type>
vpArray2D< Type >::vpArray2D ( )
inline

Basic constructor of a 2D array. Number of columns and rows are set to zero.

Definition at line 91 of file vpArray2D.h.

template<class Type>
vpArray2D< Type >::vpArray2D ( const vpArray2D< Type > &  A)
inline

Copy constructor of a 2D array.

Definition at line 95 of file vpArray2D.h.

template<class Type>
vpArray2D< Type >::vpArray2D ( unsigned int  r,
unsigned int  c 
)
inline

Constructor that initializes a 2D array with 0.

Parameters
r: Array number of rows.
c: Array number of columns.

Definition at line 106 of file vpArray2D.h.

template<class Type>
vpArray2D< Type >::vpArray2D ( unsigned int  r,
unsigned int  c,
Type  val 
)
inline

Constructor that initialize a 2D array with val.

Parameters
r: Array number of rows.
c: Array number of columns.
val: Each element of the array is set to val.

Definition at line 117 of file vpArray2D.h.

template<class Type>
virtual vpArray2D< Type >::~vpArray2D ( )
inlinevirtual

Destructor that desallocate memory.

Definition at line 125 of file vpArray2D.h.

Member Function Documentation

template<class Type>
unsigned int vpArray2D< Type >::getCols ( ) const
inline

Return the number of columns of the 2D array.

See also
getRows(), size()

Definition at line 146 of file vpArray2D.h.

Referenced by vpMatrix::add2Matrices(), vpMatrix::add2WeightedMatrices(), vpRotationMatrix::buildFrom(), vpQuadProg::checkDimensions(), vpSubRowVector::checkParentStatus(), vpSubMatrix::checkParentStatus(), vpLinProg::colReduction(), vpServo::computeControlLaw(), vpMatrix::computeCovarianceMatrix(), vpMatrix::computeHLM(), vpServo::computeInteractionMatrix(), vpMbTracker::computeJTR(), vpServo::computeProjectionOperators(), vpMbGenericTracker::computeVVS(), vpMbTracker::computeVVSPoseEstimation(), vpMatrix::cond(), vpMatrix::conv2(), vpMatrix::expm(), vpImageFilter::filter(), vpQuadProg::fromCanonicalCost(), vpImageSimulator::getImage(), vpImageFilter::getSobelKernelX(), vpImageFilter::getSobelKernelY(), vpColVector::hadamard(), vpArray2D< Type >::hadamard(), vpMatrix::hadamard(), vpSubRowVector::init(), vpSubMatrix::init(), vpRowVector::init(), vpMatrix::init(), vpCameraParameters::initFromCalibrationMatrix(), vpRowVector::insert(), vpMatrix::insert(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::juxtaposeMatrices(), vpMatrix::kron(), vpRowVector::mean(), vpMatrix::mult2Matrices(), vpMatrix::multMatrixVector(), vpRotationMatrix::operator*(), vpTranslationVector::operator*(), vpForceTwistMatrix::operator*(), vpVelocityTwistMatrix::operator*(), vpRowVector::operator*(), vpColVector::operator*(), vpMatrix::operator*(), vpRowVector::operator+(), vpRowVector::operator+=(), vpMatrix::operator+=(), vpRowVector::operator-(), vpRowVector::operator-=(), vpMatrix::operator-=(), vpSubRowVector::operator=(), vpSubColVector::operator=(), vpSubMatrix::operator=(), vpRotationMatrix::operator=(), vpRowVector::operator=(), vpColVector::operator=(), vpMatrix::operator=(), vpHomography::operator=(), vpMatrix::printSize(), vpIoTools::readConfigVar(), vpRowVector::reshape(), vpColVector::reshape(), vpLinProg::rowReduction(), vpArray2D< double >::save(), vpArray2D< double >::saveYAML(), vpServo::secondaryTask(), vpServo::secondaryTaskJointLimitAvoidance(), vpServo::setInteractionMatrixType(), vpQuadProg::solveByProjection(), vpLinProg::solveLP(), vpQuadProg::solveQP(), vpQuadProg::solveQPe(), vpQuadProg::solveQPi(), vpRowVector::stack(), vpMatrix::stack(), vpMatrix::stackRows(), vpMatrix::sub2Matrices(), vpMatrix::svdEigen3(), vpMbGenericTracker::track(), vpColVector::vpColVector(), and vpRowVector::vpRowVector().

template<class Type >
Type vpArray2D< Type >::getMaxValue ( ) const

Return the array max value.

Definition at line 694 of file vpArray2D.h.

References vpArray2D< Type >::data, and vpArray2D< Type >::dsize.

Referenced by vpArray2D< double >::getCols().

template<class Type >
Type vpArray2D< Type >::getMinValue ( ) const

Return the array min value.

Definition at line 677 of file vpArray2D.h.

References vpArray2D< Type >::data, and vpArray2D< Type >::dsize.

Referenced by vpArray2D< double >::getCols().

template<class Type>
unsigned int vpArray2D< Type >::getRows ( ) const
inline

Return the number of rows of the 2D array.

See also
getCols(), size()

Definition at line 156 of file vpArray2D.h.

Referenced by vpMatrix::add2Matrices(), vpMatrix::add2WeightedMatrices(), vpLinProg::allClose(), vpLinProg::allGreater(), vpLinProg::allLesser(), vpLinProg::allZero(), vpRotationMatrix::buildFrom(), vpLine::changeFrame(), vpQuadProg::checkDimensions(), vpSubColVector::checkParentStatus(), vpSubMatrix::checkParentStatus(), vpLinProg::colReduction(), vpServo::computeControlLaw(), vpMatrix::computeCovarianceMatrix(), vpMatrix::computeCovarianceMatrixVVS(), vpServo::computeError(), vpMatrix::computeHLM(), vpServo::computeInteractionMatrix(), vpMbTracker::computeJTR(), vpPtu46::computeMGD(), vpPoseFeatures::computePose(), vpMbDepthDenseTracker::computeVVS(), vpMbDepthNormalTracker::computeVVS(), vpMbKltMultiTracker::computeVVS(), vpMbEdgeKltTracker::computeVVS(), vpMbEdgeMultiTracker::computeVVS(), vpMbEdgeKltMultiTracker::computeVVS(), vpMbGenericTracker::computeVVS(), vpMbKltTracker::computeVVS(), vpMbEdgeTracker::computeVVS(), vpMbTracker::computeVVSCheckLevenbergMarquardt(), vpMbEdgeMultiTracker::computeVVSFirstPhasePoseEstimation(), vpMbEdgeTracker::computeVVSFirstPhasePoseEstimation(), vpMbEdgeMultiTracker::computeVVSInit(), vpMbDepthDenseTracker::computeVVSInteractionMatrixAndResidu(), vpMbKltMultiTracker::computeVVSInteractionMatrixAndResidu(), vpMbEdgeMultiTracker::computeVVSInteractionMatrixAndResidu(), vpMbEdgeKltMultiTracker::computeVVSInteractionMatrixAndResidu(), vpMbTracker::computeVVSPoseEstimation(), vpMbKltMultiTracker::computeVVSWeights(), vpMbEdgeMultiTracker::computeVVSWeights(), vpMbEdgeKltMultiTracker::computeVVSWeights(), vpMbEdgeTracker::computeVVSWeights(), vpMbTracker::computeVVSWeights(), vpMatrix::conv2(), vpMatrix::createDiagonalMatrix(), vpColVector::crossProd(), vpDot2::defineDots(), vpMatrix::diag(), vpProjectionDisplay::display(), vpColVector::dotProd(), vpGenericFeature::error(), vpMatrix::expm(), vpImageFilter::filter(), vpQuadProg::fromCanonicalCost(), vpPtu46::get_eJe(), vpBiclops::get_eJe(), vpPtu46::get_fJe(), vpBiclops::get_fJe(), vpBiclops::get_fMe(), vpGenericFeature::get_s(), vpBasicFeature::getDimension(), vpImageSimulator::getImage(), vpAfma6::getInverseKinematics(), vpViper::getInverseKinematicsWrist(), vpImageFilter::getSobelKernelX(), vpImageFilter::getSobelKernelY(), vpColVector::hadamard(), vpArray2D< Type >::hadamard(), vpMatrix::hadamard(), vpSubColVector::init(), vpSubMatrix::init(), vpColVector::init(), vpMatrix::init(), vpCameraParameters::initFromCalibrationMatrix(), vpMbEdgeKltMultiTracker::initMbtTracking(), vpMatrix::insert(), vpFeatureLuminance::interaction(), vpGenericFeature::interaction(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::inverseByQRLapack(), vpColVector::invSort(), vpMatrix::juxtaposeMatrices(), vpMatrix::kernel(), vpScale::KernelDensity(), vpScale::KernelDensityGradient(), vpMatrix::kron(), vpColVector::mean(), vpScale::MeanShift(), vpRobust::MEstimator(), vpMatrix::mult2Matrices(), vpMatrix::multMatrixVector(), vpRotationMatrix::operator*(), vpForceTwistMatrix::operator*(), vpVelocityTwistMatrix::operator*(), vpHomogeneousMatrix::operator*(), vpRowVector::operator*(), vpMatrix::operator*(), vpColVector::operator+(), vpColVector::operator+=(), vpMatrix::operator+=(), vpColVector::operator-(), vpColVector::operator-=(), vpMatrix::operator-=(), vpSubColVector::operator=(), vpSubRowVector::operator=(), vpSubMatrix::operator=(), vpRotationMatrix::operator=(), vpRGBa::operator=(), vpRowVector::operator=(), vpColVector::operator=(), vpMatrix::operator=(), vpHomography::operator=(), vpPlot::plot(), vpPose::poseVirtualVSrobust(), vpKalmanFilter::prediction(), vpMatrix::printSize(), vpLine::projection(), vpIoTools::readConfigVar(), vpRowVector::reshape(), vpColVector::reshape(), vpLinProg::rowReduction(), vpArray2D< double >::save(), vpArray2D< double >::saveYAML(), vpGenericFeature::set_s(), vpQuadProg::setEqualityConstraint(), vpGenericFeature::setError(), vpMbTracker::setEstimatedDoF(), vpGenericFeature::setInteractionMatrix(), vpServo::setInteractionMatrixType(), vpSimulatorAfma6::setJointLimit(), vpSimulatorViper850::setJointLimit(), vpRobotAfma4::setPosition(), vpRobotPtu46::setVelocity(), vpRobotBiclops::setVelocity(), vpSimulatorAfma6::setVelocity(), vpRobotAfma4::setVelocity(), vpSimulatorViper850::setVelocity(), vpLine::setWorldCoordinates(), vpLinProg::simplex(), vpRobust::simultMEstimator(), vpColVector::skew(), vpQuadProg::solveByProjection(), vpLinProg::solveLP(), vpQuadProg::solveQP(), vpQuadProg::solveQPe(), vpQuadProg::solveQPi(), vpColVector::sort(), vpColVector::stack(), vpMatrix::stack(), vpMatrix::stackRows(), vpColVector::stdev(), vpMatrix::sub2Matrices(), vpMatrix::svdEigen3(), vpMbGenericTracker::track(), vpColVector::vpColVector(), and vpRowVector::vpRowVector().

template<class Type>
vpArray2D< Type > vpArray2D< Type >::hadamard ( const vpArray2D< Type > &  m) const

Compute the Hadamard product (element wise matrix multiplication).

Parameters
m: Second matrix;
Returns
m1.hadamard(m2) The Hadamard product : $ m1 \circ m2 = (m1 \circ m2)_{i,j} = (m1)_{i,j} (m2)_{i,j} $

Definition at line 714 of file vpArray2D.h.

References vpArray2D< Type >::colNum, vpArray2D< Type >::data, vpException::dimensionError, vpArray2D< Type >::dsize, vpArray2D< Type >::getCols(), vpArray2D< Type >::getRows(), vpArray2D< Type >::resize(), and vpArray2D< Type >::rowNum.

Referenced by vpMatrix::clear(), and vpColVector::extract().

template<class Type>
static bool vpArray2D< Type >::load ( const std::string &  filename,
vpArray2D< Type > &  A,
const bool  binary = false,
char *  header = NULL 
)
inlinestatic

Load a matrix from a file.

Parameters
filename: Absolute file name.
A: Array to be loaded
binary: If true the matrix is loaded from a binary file, else from a text file.
header: Header of the file is loaded in this parameter.
Returns
Returns true if success.
See also
save()

Definition at line 322 of file vpArray2D.h.

Referenced by vpMatrix::loadMatrix(), vpHomogeneousMatrix::~vpHomogeneousMatrix(), vpHomography::~vpHomography(), and vpPoseVector::~vpPoseVector().

template<class Type>
static bool vpArray2D< Type >::loadYAML ( const std::string &  filename,
vpArray2D< Type > &  A,
char *  header = NULL 
)
inlinestatic

Load an array from a YAML-formatted file.

Parameters
filename: absolute file name.
A: array to be loaded from the file.
header: header of the file is loaded in this parameter.
Returns
Returns true on success.
See also
saveYAML()

Definition at line 434 of file vpArray2D.h.

Referenced by vpMatrix::loadMatrixYAML().

template<class Type>
vpArray2D<Type>& vpArray2D< Type >::operator= ( const vpArray2D< Type > &  A)
inline

Copy operator of a 2D array.

Definition at line 256 of file vpArray2D.h.

template<class Type>
Type* vpArray2D< Type >::operator[] ( unsigned int  i)
inline

Set element $A_{ij} = x$ using A[i][j] = x.

Definition at line 266 of file vpArray2D.h.

template<class Type>
Type* vpArray2D< Type >::operator[] ( unsigned int  i) const
inline

Get element $x = A_{ij}$ using x = A[i][j].

Definition at line 268 of file vpArray2D.h.

template<class Type>
void vpArray2D< Type >::resize ( const unsigned int  nrows,
const unsigned int  ncols,
const bool  flagNullify = true,
const bool  recopy_ = true 
)
inline

Set the size of the array and initialize all the values to zero.

Parameters
nrows: number of rows.
ncols: number of column.
flagNullify: if true, then the array is re-initialized to 0 after resize. If false, the initial values from the common part of the array (common part between old and new version of the array) are kept. Default value is true.
recopy_: if true, will perform an explicit recopy of the old data if needed and if flagNullify is set to false.

Definition at line 171 of file vpArray2D.h.

Referenced by vpMatrix::AAt(), vpMatrix::add2Matrices(), vpMatrix::add2WeightedMatrices(), vpMatrix::AtA(), vpLinProg::colReduction(), vpMatrix::computeHLM(), vpMbtFaceDepthNormal::computeInteractionMatrix(), vpMbtFaceDepthDense::computeInteractionMatrixAndResidu(), vpPoseFeatures::computePose(), vpServo::computeProjectionOperators(), vpMbEdgeKltTracker::computeVVS(), vpMbDepthDenseTracker::computeVVSInit(), vpMbDepthNormalTracker::computeVVSInit(), vpMbKltMultiTracker::computeVVSInit(), vpMbEdgeMultiTracker::computeVVSInit(), vpMbEdgeKltMultiTracker::computeVVSInit(), vpMbGenericTracker::computeVVSInit(), vpMbKltTracker::computeVVSInit(), vpMbEdgeTracker::computeVVSInit(), vpMatrix::conv2(), vpMatrix::createDiagonalMatrix(), vpProjectionDisplay::display(), vpHomography::DLT(), vpMatrix::eigenValues(), vpPtu46::get_eJe(), vpAfma4::get_eJe(), vpAfma6::get_eJe(), vpBiclops::get_eJe(), vpRobotFranka::get_eJe(), vpPtu46::get_fJe(), vpAfma4::get_fJe(), vpAfma6::get_fJe(), vpBiclops::get_fJe(), vpRobotFranka::get_fJe(), vpAfma4::get_fJe_inverse(), vpViper::get_fJw(), vpRobotFranka::getMass(), vpArray2D< Type >::hadamard(), vpMatrix::hadamard(), vpProjectionDisplay::init(), vpKalmanFilter::init(), vpTemplateTrackerSSDInverseCompositional::initCompInverse(), vpTemplateTrackerMIESM::initCompInverse(), vpMbtDistanceCircle::initInteractionMatrixError(), vpMbtDistanceCylinder::initInteractionMatrixError(), vpMbEdgeKltMultiTracker::initMbtTracking(), vpTemplateTracker::initTracking(), vpImageTools::initUndistortMap(), vpMatrix::insert(), vpFeatureVanishingPoint::interaction(), vpFeatureEllipse::interaction(), vpFeatureLuminance::interaction(), vpFeatureSegment::interaction(), vpFeatureDepth::interaction(), vpGenericFeature::interaction(), vpFeaturePoint::interaction(), vpFeaturePoint3D::interaction(), vpFeatureThetaU::interaction(), vpFeaturePointPolar::interaction(), vpFeatureTranslation::interaction(), vpMatrix::juxtaposeMatrices(), vpMatrix::kernel(), vpArray2D< double >::load(), vpArray2D< double >::loadYAML(), vpMatrix::mult2Matrices(), vpMatrix::negateMatrix(), vpMatrix::operator*(), vpMatrix::operator/(), vpRotationVector::operator=(), vpArray2D< double >::operator=(), vpPose::poseVirtualVSrobust(), vpMatrix::pseudoInverse(), vpMatrix::qr(), vpMatrix::qrPivot(), vpIoTools::readConfigVar(), vpRowVector::reshape(), vpColVector::reshape(), vpRowVector::resize(), vpColVector::resize(), vpHomography::robust(), vpServo::secondaryTask(), vpServo::setInteractionMatrixType(), vpTemplateTrackerWarp::setNbParam(), vpMbTracker::setProjectionErrorKernelSize(), vpTranslationVector::skew(), vpColVector::skew(), vpLinProg::solveLP(), vpQuadProg::solveQPi(), vpMatrix::stack(), vpMatrix::sub2Matrices(), vpMatrix::svdEigen3(), vpMatrix::svdGsl(), vpMatrix::svdLapack(), vpMatrix::svdOpenCV(), vpMatrix::t(), vpMbGenericTracker::track(), vpMatrix::transpose(), vpArray2D< double >::vpArray2D(), vpTemplateTrackerMI::vpTemplateTrackerMI(), vpTemplateTrackerSSD::vpTemplateTrackerSSD(), vpTemplateTrackerSSDESM::vpTemplateTrackerSSDESM(), vpTemplateTrackerSSDInverseCompositional::vpTemplateTrackerSSDInverseCompositional(), vpTemplateTrackerWarpAffine::vpTemplateTrackerWarpAffine(), vpTemplateTrackerWarpHomography::vpTemplateTrackerWarpHomography(), vpTemplateTrackerWarpHomographySL3::vpTemplateTrackerWarpHomographySL3(), vpTemplateTrackerWarpRT::vpTemplateTrackerWarpRT(), vpTemplateTrackerWarpSRT::vpTemplateTrackerWarpSRT(), vpTemplateTrackerWarpTranslation::vpTemplateTrackerWarpTranslation(), and vpTemplateTrackerZNCC::vpTemplateTrackerZNCC().

template<class Type>
static bool vpArray2D< Type >::save ( const std::string &  filename,
const vpArray2D< Type > &  A,
const bool  binary = false,
const char *  header = "" 
)
inlinestatic

Save a matrix to a file.

Parameters
filename: Absolute file name.
A: Array to be saved.
binary: If true the matrix is saved in a binary file, else a text file.
header: Optional line that will be saved at the beginning of the file.
Returns
Returns true if success.

Warning : If you save the matrix as in a text file the precision is less than if you save it in a binary file.

See also
load()

Definition at line 519 of file vpArray2D.h.

Referenced by vpPoseVector::resize(), vpHomography::resize(), vpMatrix::saveMatrix(), and vpHomogeneousMatrix::~vpHomogeneousMatrix().

template<class Type>
static bool vpArray2D< Type >::saveYAML ( const std::string &  filename,
const vpArray2D< Type > &  A,
const char *  header = "" 
)
inlinestatic

Save an array in a YAML-formatted file.

Parameters
filename: absolute file name.
A: array to be saved in the file.
header: optional lines that will be saved at the beginning of the file. Should be YAML-formatted and will adapt to the indentation if any.
Returns
Returns true if success.

Here is an example of outputs.

vpArray2D::saveYAML("matrix.yml", M, "example: a YAML-formatted header");
vpArray2D::saveYAML("matrixIndent.yml", M, "example:\n - a YAML-formatted
header\n - with inner indentation");

Content of matrix.yml:

example: a YAML-formatted header
rows: 3
cols: 4
- [0, 0, 0, 0]
- [0, 0, 0, 0]
- [0, 0, 0, 0]

Content of matrixIndent.yml:

example:
- a YAML-formatted header
- with inner indentation
rows: 3
cols: 4
- [0, 0, 0, 0]
- [0, 0, 0, 0]
- [0, 0, 0, 0]
See also
loadYAML()

Definition at line 612 of file vpArray2D.h.

Referenced by vpMatrix::saveMatrixYAML().

template<class Type>
unsigned int vpArray2D< Type >::size ( ) const
inline

Return the number of elements of the 2D array.

Definition at line 158 of file vpArray2D.h.

Referenced by vpVirtuose::addForce(), vpForceTorqueAtiSensor::bias(), vpQuaternionVector::buildFrom(), vpTranslationVector::buildFrom(), vpRzyzVector::buildFrom(), vpRxyzVector::buildFrom(), vpRzyxVector::buildFrom(), vpThetaUVector::buildFrom(), vpMbtFaceDepthNormal::computeNormalVisibility(), vpColVector::dotProd(), vpMbtFaceDepthNormal::estimatePlaneEquationSVD(), vpRobotFranka::get_fJe(), vpRobotFranka::get_fMe(), vpForceTorqueAtiSensor::getForceTorque(), vpPoint::getWorldCoordinates(), vpRowVector::insert(), vpColVector::insert(), vpMatrix::insert(), vpRowVector::mean(), vpColVector::mean(), vpRowVector::median(), vpColVector::median(), vpColVector::operator*(), vpHomography::operator*(), vpTranslationVector::operator+(), vpQuaternionVector::operator=(), vpTranslationVector::operator=(), vpRotationVector::operator=(), vpRzyzVector::operator=(), vpRxyzVector::operator=(), vpRzyxVector::operator=(), vpThetaUVector::operator=(), vpPlot::plot(), vpMatrix::pseudoInverse(), vpRobot::saturateVelocities(), vpServo::secondaryTaskJointLimitAvoidance(), vpImageFilter::sepFilter(), vpVirtuose::setArticularForce(), vpVirtuose::setArticularPosition(), vpVirtuose::setArticularVelocity(), vpServo::setCameraDoF(), vpVirtuose::setForce(), vpSimulatorPioneer::setVelocity(), vpRobotPioneer::setVelocity(), vpSimulatorPioneerPan::setVelocity(), vpVirtuose::setVelocity(), vpRobotFranka::setVelocity(), vpPoint::setWorldCoordinates(), vpQuadProg::solveQPi(), vpMatrix::stack(), vpRowVector::stdev(), vpColVector::stdev(), vpMatrix::svdEigen3(), vpForceTorqueAtiSensor::unbias(), vpColVector::vpColVector(), vpTranslationVector::vpTranslationVector(), and vpTemplateTrackerWarp::warpTriangle().

Friends And Related Function Documentation

template<class Type>
std::ostream& operator<< ( std::ostream &  s,
const vpArray2D< Type > &  A 
)
friend

Writes the given array to the output stream and returns a reference to the output stream.

Definition at line 275 of file vpArray2D.h.

Referenced by vpMatrix::clear(), vpRowVector::operator[](), and vpColVector::operator[]().

template<class Type>
void vpGEMM ( const vpArray2D< double > &  A,
const vpArray2D< double > &  B,
const double &  alpha,
const vpArray2D< double > &  C,
const double &  beta,
vpArray2D< double > &  D,
const unsigned int &  ops = 0 
)
related

This function performs generalized matrix multiplication: D = alpha*op(A)*op(B) + beta*op(C), where op(X) is X or X^T. Operation on A, B and C matrices is described by enumeration vpGEMMmethod().

For example, to compute D = alpha*A^T*B^T+beta*C we need to call :

vpGEMM(A, B, alpha, C, beta, D, VP_GEMM_A_T + VP_GEMM_B_T);

If C is not used, vpGEMM must be called using an empty array null. Thus to compute D = alpha*A^T*B, we have to call:

vpGEMM(A, B, alpha, null, 0, D, VP_GEMM_B_T);
Exceptions
vpException::incorrectMatrixSizeErrorif the sizes of the matrices do not allow the operations.
Parameters
A: An array that could be a vpMatrix.
B: An array that could be a vpMatrix.
alpha: A scalar.
C: An array that could be a vpMatrix.
beta: A scalar.
D: The resulting array that could be a vpMatrix.
ops: A scalar describing operation applied on the matrices. Possible values are the one defined in vpGEMMmethod(): VP_GEMM_A_T, VP_GEMM_B_T, VP_GEMM_C_T.
Examples:
testMatrix.cpp.

Definition at line 393 of file vpGEMM.h.

References vpException::functionNotImplementedError.

template<class Type>
enum vpGEMMmethod
related

Enumeration of the operations applied on matrices in vpGEMM() function.

Operations are :

  • VP_GEMM_A_T to use the transpose matrix of A instead of the matrix A
  • VP_GEMM_B_T to use the transpose matrix of B instead of the matrix B
  • VP_GEMM_C_T to use the transpose matrix of C instead of the matrix C

Definition at line 57 of file vpGEMM.h.

Member Data Documentation

template<class Type>
Type* vpArray2D< Type >::data

Address of the first element of the data array.

Definition at line 84 of file vpArray2D.h.

Referenced by vpMatrix::AtA(), vpMbtFaceDepthDense::computeInteractionMatrixAndResidu(), vpMbTracker::computeJTR(), vpMatrix::conv2(), vpMatrix::detByLULapack(), vpColVector::dotProd(), vpMatrix::expm(), vpRobotViper650::getForceTorque(), vpRobotViper850::getForceTorque(), vpArray2D< Type >::getMaxValue(), vpArray2D< Type >::getMinValue(), vpRobotViper650::getPosition(), vpRobotViper850::getPosition(), vpMatrix::getRow(), vpImageFilter::getSobelKernelX(), vpImageFilter::getSobelKernelY(), vpRobotViper650::getVelocity(), vpRobotViper850::getVelocity(), vpColVector::hadamard(), vpArray2D< Type >::hadamard(), vpMatrix::hadamard(), vpSubColVector::init(), vpSubRowVector::init(), vpSubMatrix::init(), vpRobotViper650::init(), vpRobotViper850::init(), vpColVector::insert(), vpMatrix::insert(), vpMatrix::inverseByCholeskyLapack(), vpMatrix::inverseByCholeskyOpenCV(), vpMatrix::inverseByLUEigen3(), vpMatrix::inverseByLUGsl(), vpMatrix::inverseByLULapack(), vpMatrix::inverseByLUOpenCV(), vpMatrix::inverseByQRLapack(), vpMatrix::inverseTriangular(), vpColVector::invSort(), vpRowVector::mean(), vpColVector::mean(), vpRowVector::median(), vpColVector::median(), vpRobust::MEstimator(), vpMatrix::mult2Matrices(), vpMatrix::multMatrixVector(), vpTranslationVector::operator*(), vpRowVector::operator*(), vpColVector::operator*(), vpHomography::operator*(), vpMatrix::operator*(), vpTranslationVector::operator-(), vpRowVector::operator-(), vpColVector::operator-(), vpTranslationVector::operator/(), vpRowVector::operator/(), vpColVector::operator/(), vpHomography::operator/(), vpSubColVector::operator=(), vpTranslationVector::operator=(), vpRotationVector::operator=(), vpRowVector::operator=(), vpColVector::operator=(), vpMatrix::operator=(), vpArray2D< double >::operator=(), vpColVector::operator==(), vpHomography::robust(), vpRobotAfma4::setPosition(), vpRobotViper650::setPosition(), vpRobotViper850::setPosition(), vpMbTracker::setProjectionErrorKernelSize(), vpRobotAfma4::setVelocity(), vpRobotAfma6::setVelocity(), vpRobotViper650::setVelocity(), vpRobotViper850::setVelocity(), vpColVector::sort(), vpMatrix::stack(), vpMatrix::stackColumns(), vpMatrix::stackRows(), vpRowVector::stdev(), vpColVector::stdev(), vpMatrix::svdEigen3(), vpMatrix::svdGsl(), vpMatrix::svdLapack(), vpMatrix::svdOpenCV(), vpTranslationVector::t(), vpPoseVector::t(), vpRowVector::t(), vpColVector::t(), and vpMbTracker::vpMbTracker().

template<class Type>
unsigned int vpArray2D< Type >::dsize
protected

Current array size (rowNum * colNum)

Definition at line 80 of file vpArray2D.h.

Referenced by vpArray2D< Type >::getMaxValue(), vpArray2D< Type >::getMinValue(), vpArray2D< Type >::hadamard(), and vpArray2D< double >::resize().