MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
Collaboration diagram for Transformation operations:

Functions

void AbstractLinAlgPack::force_in_bounds (const Vector &xl, const Vector &xu, VectorMutable *x)
 Force a vector in bounds. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void AbstractLinAlgPack::max_vec_scalar (value_type min_ele, VectorMutable *y)
 Take the maximum value of the vector elements and a scalar. More...
 
void AbstractLinAlgPack::max_abs_vec_scalar (value_type min_ele, VectorMutable *y)
 Take the maximum value of the absolute vector elements and a scalar. More...
 

Detailed Description

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 403 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 417 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 432 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 445 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 457 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 469 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 483 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 497 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 505 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 516 of file AbstractLinAlgPack_VectorAuxiliaryOps.cpp.