AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects
Version of the Day
|
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... | |
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.