AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends 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.