Transformation operations [Collection of auxiliary useful vector 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.

Generated on Thu Sep 18 12:33:53 2008 for AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects by  1.3.9.1