NeurApp 1.1
NeurApp - software for exploring approximation by artificial neural networks on functions of one or two variables.

IG::Num::ComplexVectorBase Class Reference

Base class for complex vectors. More...

Inheritance diagram for IG::Num::ComplexVectorBase:
Collaboration diagram for IG::Num::ComplexVectorBase:

List of all members.

Public Member Functions

virtual complex[] ToArray ()
 Copies the current vector to an array and returns that array.
abstract ComplexVectorBase GetCopyBase ()
 Creates and returns a copy of the current vector. WARNING: This method should be overridden in the derived classes in such a way that the returned vector is of the same type as the current vector.
abstract ComplexVectorBase GetNewBase (int length)
 Creates and returns a new vector of the specified dimension in such a way that the type of the returned vector is the same as of the current vector. WARNING: This method should be overridden in all derived classes such that the returned vector type is the same as the type of the current vector.
abstract ComplexVectorBase GetNewBase ()
 Creates and returns a new vector with the same dimension and of the same type as the current vector.
abstract ComplexMatrixBase GetNewComplexMatrixBase (int rowCount, int columnCount)
 Creates and returns a new matrix with the specified dimensona, and of a type that is consistent with the type of the current vector.
abstract ComplexMatrixBase GetNewComplexMatrixBase ()
 Creates and returns a new matrix of a type that is consistent with the type of the current vector, and with both dimensions equal to the dimension of the current vector.
virtual IComplexVector GetCopy ()
 Returns a deep copy of the current object.
virtual IComplexVector GetNew (int length)
 Creates and returns a new vector with the specified dimension, and of the same type as the current vector.
virtual IComplexVector GetNew ()
 Creates and returns a new vector with the same dimension and of the same type as the current vector.
virtual IComplexMatrix GetNewComplexMatrix (int rowCount, int columnCount)
 Creates and returns a new matrix with the specified dimensona, and of a type that is consistent with the type of the current vector.
virtual IComplexMatrix GetNewComplexMatrix ()
 Creates and returns a new matrix of a type that is consistent with the type of the current vector, and with both dimensions equal to the dimension of the current vector.
virtual void SetZero ()
 Sets all components of the current complex vector to 0.
virtual void SetConstant (complex elementValue)
 Sets all components of the current complex vector to the specified value.
virtual void SetUnit (int which)
 Sets the current complex vector to the specific unit vector (one component equals 1, others are 0).
virtual void SetRandom ()
 Sets the current vector such that it contains random elements on the interval (0,1].
virtual void SetRandom (IRandomGenerator rnd)
 Sets the current vector such that it contains random elements on the interval {(0,1],(0,1]}.
virtual double NormP (int p)
 p-norm, p-th root of sum of absolute values of components raised to the power of p.
IComplexVector Normalized ()
 Returns a vector that equals a normalized current complex vector.
void Normalize ()
 Normalizes the current vector.
void Negate ()
 Changes the sign of the current complex vector.

Static Public Member Functions

static int Compare (IComplexVector v1, IComplexVector v2)
 Compares two complex vectors and returns -1 if the first complex vector is smaller than the second one, 0 if complex vectors are equal, and 1 if the first complex vector is greater. Complex vector that is null is considered smaller than a complex vector that is not null. Two null complex vectors are considered equal. Complex vector with smaller dimension is considered smaller than a complex vector with greater dimension. Complex vector with equal dimensions ar compared by elements. The first element that is different decides which complex vector is considered greater.
static void Resize (ref IComplexVector vec, IComplexVector template, int dimension)
 Resizes, if necessary, the specified complex vector according to the required dimension. If the complex vector is initially null then a new complex vector is created. If in this case a template complex vector is specified then the newly created complex vector will be of the same type as that template complex vector, because it is created by the GetNew() method on that vector. If dimension of the initial complex vector does not match the required dim., then vector is resized. If the specified complex vector dimension is less or equal to 0 then vector is resized with the same dimension as that of the template vector. If in this case the template vector is null, an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If vector and template are null then the type of nawly created vector is Vector.
static void Resize (ref IComplexVector vec, int dimension)
 Resizes, if necessary, the specified complex vector according to the required dimension. If the complex vector is initially null then a new vector is created. If dimension of the initial complex vector does not match the required dimension, then vector is resized. Components are NOT preserved and have in general undefined values after operation is performed. WARNING: If the vector is initially null then the type of the newly created vector is Vector.
static void Resize (ref IComplexVector vec, IComplexVector template)
 Resizes, if necessary, the specified complex vector according to the dimension of the specified template vector. If the complex vector is initially null then a new complex vector is created. In this case the newly created vector will be of the same type as that template vector, because it is created by the GetNew() method on that vector. If dimension of the initial complex vector does not match the dimension of the template vector, then vector is resized. If the template vector is null, then an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If complex vector and template are null then the type of newly created vector is Vector.
static void CopyPlain (IComplexVector a, IComplexVector result)
 Copies components of a complex vector to another complex vector. This is a plain version that does not perform any dimension checks. WARNING: dimensions of the copied vector and result vector must match.
static void Copy (IComplexVector a, IComplexVector result)
 Copies components of a complex vector to another complexvector. WARNING: dimensions of the copied vector and result vector must match.
static void Copy (IComplexVector a, ref IComplexVector result)
 Copies components of a complex vectr to another complex vector. Resulting complex vector is allocated or reallocated if necessary.
static void NegatePlain (IComplexVector a, IComplexVector result)
 Stores a negative complex vector of the specified complex vector to another complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the copied vector and result vector must match.
static void Negate (IComplexVector a, IComplexVector result)
 Stores a negative complex vector of the specified complex vector to another complex vector. WARNING: dimensions of the copied vector and result vector must match.
static void Negate (IComplexVector a, ref IComplexVector result)
 Stores a negative complex vector of the specified complex vector to another complex vector. Resulting vector is allocated or reallocated if necessary.
static void AddPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Sums two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of vectors must match, otherwise an exception is thrown.
static void Add (IComplexVector a, IComplexVector b, IComplexVector result)
 Sums two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of vectors must match, otherwise an exception is thrown.
static void Add (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Sums two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void SubtractPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Subtracts two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of vectors must match, otherwise an exception is thrown.
static void Subtract (IComplexVector a, IComplexVector b, IComplexVector result)
 Subtracts two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of vectors must match, otherwise an exception is thrown.
static void Subtract (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Subtracts two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayAddPlain (IComplexVector a, double scal, IComplexVector result)
 Addition of a scalar to all components of a complex vector. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).
static void ArrayAdd (IComplexVector a, double scal, IComplexVector result)
 Addition of a scalar to all components of a complex vector. Vector operand must be defined (non-null).
static void ArrayAdd (IComplexVector a, double scal, ref IComplexVector result)
 Addition of a scalar to all components of a complex vector. Vector operand must be defined (non-null).
static void ArraySubtractPlain (IComplexVector a, double scal, IComplexVector result)
 Subtraction of a scalar from all components of a complex vector. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).
static void ArraySubtract (IComplexVector a, double scal, IComplexVector result)
 Subtraction of a scalar from all components of a complex vector. Vector operand must be defined (non-null).
static void ArraySubtract (IComplexVector a, double scal, ref IComplexVector result)
 Subtraction of a scalar to all components of a complex vector. Vector operand must be defined (non-null).
static void MultiplyPlain (IComplexVector a, double scal, IComplexVector result)
 Multiplication of a complex vector by a scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).
static void Multiply (IComplexVector a, double scal, IComplexVector result)
 Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).
static void Multiply (IComplexVector a, double scal, ref IComplexVector result)
 Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).
static void ScalePlain (IComplexVector a, double scal, IComplexVector result)
 Multiplication of a complex vector by a scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).
static void Scale (IComplexVector a, double scal, IComplexVector result)
 Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).
static void Scale (IComplexVector a, double scal, ref IComplexVector result)
 Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).
static void DividePlain (IComplexVector a, complex scal, IComplexVector result)
 Division of a complex vector by a complex scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).
static void Divide (IComplexVector a, complex scal, IComplexVector result)
 Division of a complex vector by a complex scalar. Complex vector operand must be defined (non-null).
static void Divide (IComplexVector a, complex scal, ref IComplexVector result)
 Division of a complex vector by a complex scalar. Complex vector operand must be defined (non-null).
static void DyadicProductPlain (IComplexVector a, IComplexVector b, IComplexMatrix result)
 Calculates dyadic product of two complex vectors and stores the result in the specified result matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions must match, otherwise an exception is thrown.
static void DyadicProduct (IComplexVector a, IComplexVector b, IComplexMatrix result)
 Calculates dyadic product of two complex vectors and stores the result in the specified result complex matrix. WARNING: dimensions must match, otherwise an exception is thrown.
static void DyadicProduct (IComplexVector a, IComplexVector b, ref IComplexMatrix result)
 Calculates dyadic product of two complex vectors and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void CrossProductPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void CrossProduct (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void CrossProduct (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void VectorProductPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void VectorProduct (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void VectorProduct (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayProductPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void ArrayProduct (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void ArrayProduct (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.
static void ArrayQuotientPlain (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void ArrayQuotient (IComplexVector a, IComplexVector b, IComplexVector result)
 Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.
static void ArrayQuotient (IComplexVector a, IComplexVector b, ref IComplexVector result)
 Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Properties

abstract int Length [get]
 Gets dimension of the complex vector.
abstract complex this [int i] [get, set]
 Gets or sets the element indexed by i in the current complex vector.
virtual double Norm [get]
 Gets Euclidean norm of the vector.
virtual double Norm2 [get]
 Gets Euclidean norm of the vector.
virtual double NormEuclidean [get]
 Gets Euclidean norm of the vector.
virtual double SquaredNorm [get]
 Squared Euclidean norm, sum of squared components.
virtual double Norm1 [get]
 1-norm (Manhattan norm or Taxicab norm), sum of absolute values of components.
virtual double NormInf [get]
 Infinity-norm, maximum absolute value of any component.

Detailed Description

Base class for complex vectors.

$A Igor Nov9 Apr11;


Member Function Documentation

virtual complex [] IG::Num::ComplexVectorBase::ToArray ( ) [inline, virtual]

Copies the current vector to an array and returns that array.

abstract ComplexVectorBase IG::Num::ComplexVectorBase::GetCopyBase ( ) [pure virtual]

Creates and returns a copy of the current vector. WARNING: This method should be overridden in the derived classes in such a way that the returned vector is of the same type as the current vector.

Implemented in IG::Num::ComplexVector.

abstract ComplexVectorBase IG::Num::ComplexVectorBase::GetNewBase ( int  length) [pure virtual]

Creates and returns a new vector of the specified dimension in such a way that the type of the returned vector is the same as of the current vector. WARNING: This method should be overridden in all derived classes such that the returned vector type is the same as the type of the current vector.

Parameters:
lengthDimension of the returned vector.

Implemented in IG::Num::ComplexVector.

abstract ComplexVectorBase IG::Num::ComplexVectorBase::GetNewBase ( ) [pure virtual]

Creates and returns a new vector with the same dimension and of the same type as the current vector.

Implemented in IG::Num::ComplexVector.

abstract ComplexMatrixBase IG::Num::ComplexVectorBase::GetNewComplexMatrixBase ( int  rowCount,
int  columnCount 
) [pure virtual]

Creates and returns a new matrix with the specified dimensona, and of a type that is consistent with the type of the current vector.

Parameters:
rowCountNumber of rows of the returned matrix.
columnCountNumber of rows of the returned matrix.
Returns:
A matrix with specified dimensions, whose type is consistent with the type of the current vector.

Implemented in IG::Num::ComplexVector.

abstract ComplexMatrixBase IG::Num::ComplexVectorBase::GetNewComplexMatrixBase ( ) [pure virtual]

Creates and returns a new matrix of a type that is consistent with the type of the current vector, and with both dimensions equal to the dimension of the current vector.

Implemented in IG::Num::ComplexVector.

virtual IComplexVector IG::Num::ComplexVectorBase::GetCopy ( ) [inline, virtual]

Returns a deep copy of the current object.

Implements IG::Num::IComplexVector.

virtual IComplexVector IG::Num::ComplexVectorBase::GetNew ( int  length) [inline, virtual]

Creates and returns a new vector with the specified dimension, and of the same type as the current vector.

Parameters:
lengthDimension of the newly created vector.
Returns:
A newly created vector of the specified dimension and of the same type as the current vector.

Implements IG::Num::IComplexVector.

virtual IComplexVector IG::Num::ComplexVectorBase::GetNew ( ) [inline, virtual]

Creates and returns a new vector with the same dimension and of the same type as the current vector.

Implements IG::Num::IComplexVector.

virtual IComplexMatrix IG::Num::ComplexVectorBase::GetNewComplexMatrix ( int  rowCount,
int  columnCount 
) [inline, virtual]

Creates and returns a new matrix with the specified dimensona, and of a type that is consistent with the type of the current vector.

Parameters:
rowCountNumber of rows of the returned matrix.
columnCountNumber of rows of the returned matrix.
Returns:
A matrix with specified dimensions, whose type is consistent with the type of the current vector.

Implements IG::Num::IComplexVector.

virtual IComplexMatrix IG::Num::ComplexVectorBase::GetNewComplexMatrix ( ) [inline, virtual]

Creates and returns a new matrix of a type that is consistent with the type of the current vector, and with both dimensions equal to the dimension of the current vector.

Implements IG::Num::IComplexVector.

virtual void IG::Num::ComplexVectorBase::SetZero ( ) [inline, virtual]

Sets all components of the current complex vector to 0.

Implements IG::Num::IComplexVector.

virtual void IG::Num::ComplexVectorBase::SetConstant ( complex  elementValue) [inline, virtual]

Sets all components of the current complex vector to the specified value.

Parameters:
elementValueValue to which vector elements are set.

Implements IG::Num::IComplexVector.

virtual void IG::Num::ComplexVectorBase::SetUnit ( int  which) [inline, virtual]

Sets the current complex vector to the specific unit vector (one component equals 1, others are 0).

Parameters:
whichSpecifies which unit vector is set (i.e., which component equals 1).

Implements IG::Num::IComplexVector.

virtual void IG::Num::ComplexVectorBase::SetRandom ( ) [inline, virtual]

Sets the current vector such that it contains random elements on the interval (0,1].

Implements IG::Num::IComplexVector.

virtual void IG::Num::ComplexVectorBase::SetRandom ( IRandomGenerator  rnd) [inline, virtual]

Sets the current vector such that it contains random elements on the interval {(0,1],(0,1]}.

Parameters:
rndRandom generator used to generate vector elements.

Implements IG::Num::IComplexVector.

virtual double IG::Num::ComplexVectorBase::NormP ( int  p) [inline, virtual]

p-norm, p-th root of sum of absolute values of components raised to the power of p.

IComplexVector IG::Num::ComplexVectorBase::Normalized ( ) [inline]

Returns a vector that equals a normalized current complex vector.

Implements IG::Num::IComplexVector.

void IG::Num::ComplexVectorBase::Normalize ( ) [inline]

Normalizes the current vector.

Returns:
void IG::Num::ComplexVectorBase::Negate ( ) [inline]

Changes the sign of the current complex vector.

Returns:
static int IG::Num::ComplexVectorBase::Compare ( IComplexVector  v1,
IComplexVector  v2 
) [inline, static]

Compares two complex vectors and returns -1 if the first complex vector is smaller than the second one, 0 if complex vectors are equal, and 1 if the first complex vector is greater. Complex vector that is null is considered smaller than a complex vector that is not null. Two null complex vectors are considered equal. Complex vector with smaller dimension is considered smaller than a complex vector with greater dimension. Complex vector with equal dimensions ar compared by elements. The first element that is different decides which complex vector is considered greater.

Parameters:
v1First complex vector to be compared.
v2Second complex vector to be compared.
Returns:
-1 if the first complex vector is smaller than the second one, 0 if vectors are equal, and 1 if the second is greater.

This comparison does not have any mathematical meaning. It is just used for sotting of vectors in data structures. $A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Resize ( ref IComplexVector  vec,
IComplexVector  template,
int  dimension 
) [inline, static]

Resizes, if necessary, the specified complex vector according to the required dimension. If the complex vector is initially null then a new complex vector is created. If in this case a template complex vector is specified then the newly created complex vector will be of the same type as that template complex vector, because it is created by the GetNew() method on that vector. If dimension of the initial complex vector does not match the required dim., then vector is resized. If the specified complex vector dimension is less or equal to 0 then vector is resized with the same dimension as that of the template vector. If in this case the template vector is null, an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If vector and template are null then the type of nawly created vector is Vector.

Parameters:
vecComplex vector that is resized.
templateComplex vector that is taken as template (for type of a newly created complex vector or for dimension if it is not specified).
dimensonIf greater than 0 then it specifies the dimension to which vector is resized.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Resize ( ref IComplexVector  vec,
int  dimension 
) [inline, static]

Resizes, if necessary, the specified complex vector according to the required dimension. If the complex vector is initially null then a new vector is created. If dimension of the initial complex vector does not match the required dimension, then vector is resized. Components are NOT preserved and have in general undefined values after operation is performed. WARNING: If the vector is initially null then the type of the newly created vector is Vector.

Parameters:
vecComplex vector that is resized.
dimensonDimension to which complex vector is resized (if less or equal to 0 then exception is thrown).

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Resize ( ref IComplexVector  vec,
IComplexVector  template 
) [inline, static]

Resizes, if necessary, the specified complex vector according to the dimension of the specified template vector. If the complex vector is initially null then a new complex vector is created. In this case the newly created vector will be of the same type as that template vector, because it is created by the GetNew() method on that vector. If dimension of the initial complex vector does not match the dimension of the template vector, then vector is resized. If the template vector is null, then an exception is thrown. WARNINGS: Components are NOT preserved and have in general undefined values after operation is performed. If complex vector and template are null then the type of newly created vector is Vector.

Parameters:
vecComplex vector that is resized.
templateComplex vector that is taken as template (for type of a newly created vector or for dimension).

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::CopyPlain ( IComplexVector  a,
IComplexVector  result 
) [inline, static]

Copies components of a complex vector to another complex vector. This is a plain version that does not perform any dimension checks. WARNING: dimensions of the copied vector and result vector must match.

Parameters:
aOriginal complex vector.
resultComplex vector where copy will be stored. Dimensions must match dimensions of original.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Copy ( IComplexVector  a,
IComplexVector  result 
) [inline, static]

Copies components of a complex vector to another complexvector. WARNING: dimensions of the copied vector and result vector must match.

Parameters:
aOriginal complex vector.
resultComplex vector where copy will be stored. Dimensions must match dimensions of original.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Copy ( IComplexVector  a,
ref IComplexVector  result 
) [inline, static]

Copies components of a complex vectr to another complex vector. Resulting complex vector is allocated or reallocated if necessary.

Parameters:
aOriginal complex vector.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::NegatePlain ( IComplexVector  a,
IComplexVector  result 
) [inline, static]

Stores a negative complex vector of the specified complex vector to another complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of the copied vector and result vector must match.

Parameters:
aOriginal complex vector.
resultComplex vector where result is be stored. Dimensions must match dimensions of original.
static void IG::Num::ComplexVectorBase::Negate ( IComplexVector  a,
IComplexVector  result 
) [inline, static]

Stores a negative complex vector of the specified complex vector to another complex vector. WARNING: dimensions of the copied vector and result vector must match.

Parameters:
aOriginal vector.
resultComplex vector where result is be stored. Dimensions must match dimensions of original.
static void IG::Num::ComplexVectorBase::Negate ( IComplexVector  a,
ref IComplexVector  result 
) [inline, static]

Stores a negative complex vector of the specified complex vector to another complex vector. Resulting vector is allocated or reallocated if necessary.

Parameters:
aOriginal vector.
resultComplex vector where result is be stored.
static void IG::Num::ComplexVectorBase::AddPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Sums two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of vectors must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Add ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Sums two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of vectors must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Add ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Sums two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::SubtractPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Subtracts two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of vectors must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Subtract ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Subtracts two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of vectors must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Subtract ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Subtracts two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArrayAddPlain ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Addition of a scalar to all components of a complex vector. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArrayAdd ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Addition of a scalar to all components of a complex vector. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArrayAdd ( IComplexVector  a,
double  scal,
ref IComplexVector  result 
) [inline, static]

Addition of a scalar to all components of a complex vector. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArraySubtractPlain ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Subtraction of a scalar from all components of a complex vector. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArraySubtract ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Subtraction of a scalar from all components of a complex vector. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ArraySubtract ( IComplexVector  a,
double  scal,
ref IComplexVector  result 
) [inline, static]

Subtraction of a scalar to all components of a complex vector. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::MultiplyPlain ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Multiply ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Multiply ( IComplexVector  a,
double  scal,
ref IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::ScalePlain ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Scale ( IComplexVector  a,
double  scal,
IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::Scale ( IComplexVector  a,
double  scal,
ref IComplexVector  result 
) [inline, static]

Multiplication of a complex vector by a scalar. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (scalar).
resultResult.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::DividePlain ( IComplexVector  a,
complex  scal,
IComplexVector  result 
) [inline, static]

Division of a complex vector by a complex scalar. This is a plain version of the method that does not perform any consistency checks. Vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (complex scalar).
resultResult.
static void IG::Num::ComplexVectorBase::Divide ( IComplexVector  a,
complex  scal,
IComplexVector  result 
) [inline, static]

Division of a complex vector by a complex scalar. Complex vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (complex scalar).
resultResult.
static void IG::Num::ComplexVectorBase::Divide ( IComplexVector  a,
complex  scal,
ref IComplexVector  result 
) [inline, static]

Division of a complex vector by a complex scalar. Complex vector operand must be defined (non-null).

Parameters:
v1First operand (complex vector).
dSecond operand (complex scalar).
resultResult.
static void IG::Num::ComplexVectorBase::DyadicProductPlain ( IComplexVector  a,
IComplexVector  b,
IComplexMatrix  result 
) [inline, static]

Calculates dyadic product of two complex vectors and stores the result in the specified result matrix. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultcomplex matrix where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::DyadicProduct ( IComplexVector  a,
IComplexVector  b,
IComplexMatrix  result 
) [inline, static]

Calculates dyadic product of two complex vectors and stores the result in the specified result complex matrix. WARNING: dimensions must match, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultcomplex matrix where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::DyadicProduct ( IComplexVector  a,
IComplexVector  b,
ref IComplexMatrix  result 
) [inline, static]

Calculates dyadic product of two complex vectors and stores the result in the specified result complex matrix. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex matrix where copy will be stored.

$A Igor xx; Tako78 Apr19;

static void IG::Num::ComplexVectorBase::CrossProductPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::CrossProduct ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::CrossProduct ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::VectorProductPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::VectorProduct ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::VectorProduct ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Calculates a vector product (cross product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayProductPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayProduct ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayProduct ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Calculates array product (element-by-element product) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayQuotientPlain ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. This is a plain version of the method that does not perform any consistency checks. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayQuotient ( IComplexVector  a,
IComplexVector  b,
IComplexVector  result 
) [inline, static]

Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of all vectors must be 3, otherwise an exception is thrown.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where result is stored. Dimension must match dimensions of operands.

$A Igor xx; Tako78 Apr19

static void IG::Num::ComplexVectorBase::ArrayQuotient ( IComplexVector  a,
IComplexVector  b,
ref IComplexVector  result 
) [inline, static]

Calculates array quotient (element-by-element division) of two complex vectors and stores the result in the specified result complex vector. WARNING: dimensions of operands must match, otherwise an exception is thrown. If dimensions of the result do not match then teh result is re-allocated.

Parameters:
aFirst operand.
bSecond operand.
resultComplex vector where copy will be stored.

$A Igor xx; Tako78 Apr19


Property Documentation

abstract int IG::Num::ComplexVectorBase::Length [get]

Gets dimension of the complex vector.

Reimplemented in IG::Num::ComplexVector.

abstract complex IG::Num::ComplexVectorBase::this[int i] [get, set]

Gets or sets the element indexed by i in the current complex vector.

Parameters:
iElement index, 0 - based.

Reimplemented in IG::Num::ComplexVector.

virtual double IG::Num::ComplexVectorBase::Norm [get]

Gets Euclidean norm of the vector.

virtual double IG::Num::ComplexVectorBase::Norm2 [get]

Gets Euclidean norm of the vector.

virtual double IG::Num::ComplexVectorBase::NormEuclidean [get]

Gets Euclidean norm of the vector.

virtual double IG::Num::ComplexVectorBase::SquaredNorm [get]

Squared Euclidean norm, sum of squared components.

virtual double IG::Num::ComplexVectorBase::Norm1 [get]

1-norm (Manhattan norm or Taxicab norm), sum of absolute values of components.

virtual double IG::Num::ComplexVectorBase::NormInf [get]

Infinity-norm, maximum absolute value of any component.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties