MOOCHO (Single Doxygen Collection) Version of the Day
Functions
Transformation operations
Collection of auxiliary useful vector operations.
Collaboration diagram for Transformation operations:

Functions

void AbstractLinAlgPack::force_in_bounds (const Vector &xl, const Vector &xu, VectorMutable *x)
 Force a vector in bounds.
void AbstractLinAlgPack::force_in_bounds_buffer (const value_type rel_push, const value_type abs_push, const Vector &xl, const Vector &xu, VectorMutable *x)
 Force a vector sufficiently within bounds according to a specified absolute and relative buffer.
void AbstractLinAlgPack::inv_of_difference (const value_type alpha, const Vector &v0, const Vector &v1, VectorMutable *z)
 Computes the inverse of the difference between two vectors.
void AbstractLinAlgPack::correct_lower_bound_multipliers (const Vector &xl, const value_type inf_bound_limit, VectorMutable *vl)
 Corrects the lower bound multipliers with infinite bounds.
void AbstractLinAlgPack::correct_upper_bound_multipliers (const Vector &xu, const value_type inf_bound_limit, VectorMutable *vu)
 Corrects the upper bound multipliers with infinite bounds.
void AbstractLinAlgPack::lowerbound_multipliers_step (const value_type mu, const Vector &invXl, const Vector &vl, const Vector &d_k, VectorMutable *dvl)
 Calculates the multiplier step for lower bounds.
void AbstractLinAlgPack::upperbound_multipliers_step (const value_type mu, const Vector &invXu, const Vector &vu, const Vector &d_k, VectorMutable *dvu)
 Calculates the multiplier step for the upper bounds.
void AbstractLinAlgPack::ele_wise_sqrt (VectorMutable *z)
 Calculates the sqrt of each element in the vector Pre Condition: all elements of z must be positive.
void AbstractLinAlgPack::max_vec_scalar (value_type min_ele, VectorMutable *y)
 Take the maximum value of the vector elements and a scalar.
void AbstractLinAlgPack::max_abs_vec_scalar (value_type min_ele, VectorMutable *y)
 Take the maximum value of the absolute vector elements and a scalar.

Function Documentation

void AbstractLinAlgPack::force_in_bounds ( const Vector xl,
const Vector xu,
VectorMutable *  x 
)

Force a vector in bounds.


          / xl(i)  : if x(i) < xl(i)
  x(i) =  | x(i)   : if xl(i) <= x(i) <= xu(i)
          \ xu(i)  : if x(i) > xu(i)

  , for 1 = 1...n
 

Definition at line 390 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::force_in_bounds_buffer ( const value_type  rel_push,
const value_type  abs_push,
const Vector xl,
const Vector xu,
VectorMutable *  x 
)

Force a vector sufficiently within bounds according to a specified absolute and relative buffer.

Definition at line 404 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::inv_of_difference ( const value_type  alpha,
const Vector v0,
const Vector v1,
VectorMutable *  z 
)

Computes the inverse of the difference between two vectors.

 z(i) = alpha/(v0(i) - v1(i));
 

Definition at line 419 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::correct_lower_bound_multipliers ( const Vector xl,
const value_type  inf_bound_limit,
VectorMutable *  vl 
)

Corrects the lower bound multipliers with infinite bounds.

 vl(i) = (xl(i) <= inf_bound_limit) ? 0.0 : v(i);
 

Definition at line 432 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::correct_upper_bound_multipliers ( const Vector xu,
const value_type  inf_bound_limit,
VectorMutable *  vu 
)

Corrects the upper bound multipliers with infinite bounds.

 vl(i) = (xu(i) >= inf_bound_limit) ? 0.0 : v(i);
 

Definition at line 444 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::lowerbound_multipliers_step ( const value_type  mu,
const Vector invXl,
const Vector vl,
const Vector d_k,
VectorMutable *  dvl 
)

Calculates the multiplier step for lower bounds.

dvl(i) = -vl(i) + mu*invXl(i)*e - invXl(i)*Vl(i)*d_k(i)

Definition at line 456 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::upperbound_multipliers_step ( const value_type  mu,
const Vector invXu,
const Vector vu,
const Vector d_k,
VectorMutable *  dvu 
)

Calculates the multiplier step for the upper bounds.

dvu(i) = -vu(i) + mu*invXl(i)*e + invXl(i)*Vl(i)*d_k(i)

Definition at line 470 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::ele_wise_sqrt ( VectorMutable *  z)

Calculates the sqrt of each element in the vector Pre Condition: all elements of z must be positive.

 z(i) = sqrt(z(i));
 

Definition at line 484 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::max_vec_scalar ( value_type  min_ele,
VectorMutable *  y 
)

Take the maximum value of the vector elements and a scalar.


 y(i) = max( y(i), min_ele ), for i = 1...n
 

Definition at line 492 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

void AbstractLinAlgPack::max_abs_vec_scalar ( value_type  min_ele,
VectorMutable *  y 
)

Take the maximum value of the absolute vector elements and a scalar.


 y(i) = max( fabs(y(i)), min_ele ), for i = 1...n
 

Definition at line 503 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines