#include <math.h>
#include "exprOp.hpp"
#include "exprMul.hpp"
#include "exprClone.hpp"
#include "exprConst.hpp"
Include dependency graph for exprPow.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
class | exprPow |
Power of an expression (binary operator). More... | |
Functions | |
CouNumber | safe_pow (CouNumber base, CouNumber exponent) |
compute power and check for integer-and-odd inverse exponent | |
void | addPowEnvelope (const CouenneCutGenerator *, OsiCuts &, int, int, CouNumber, CouNumber, CouNumber, CouNumber, CouNumber, int) |
add upper/lower envelope to power in convex/concave areas | |
CouNumber | powNewton (CouNumber, CouNumber, unary_function, unary_function, unary_function) |
find proper tangent point to add deepest tangent cut | |
CouNumber | powNewton (CouNumber, CouNumber, funtriplet *) |
find proper tangent point to add deepest tangent cut |
compute power and check for integer-and-odd inverse exponent
Definition at line 117 of file exprPow.hpp.
References COUENNE_EPS, COUENNE_INFINITY, and COUENNE_round.
Referenced by exprPow::closestFeasible(), kpowertriplet::F(), powertriplet::F(), kpowertriplet::Fp(), powertriplet::Fp(), kpowertriplet::FpInv(), powertriplet::FpInv(), kpowertriplet::Fpp(), powertriplet::Fpp(), exprPow::generateCuts(), exprPow::getBounds(), exprPow::gradientNorm(), exprPow::impliedBound(), exprPow::isCuttable(), negPowSelectBranch(), exprPow::operator()(), and exprPow::selectBranch().
void addPowEnvelope | ( | const CouenneCutGenerator * | , | |
OsiCuts & | , | |||
int | , | |||
int | , | |||
CouNumber | , | |||
CouNumber | , | |||
CouNumber | , | |||
CouNumber | , | |||
CouNumber | , | |||
int | ||||
) |
add upper/lower envelope to power in convex/concave areas
Definition at line 24 of file conv-exprPow-envelope.cpp.
References COU_MAX_COEFF, log(), and powNewton().
Referenced by exprPow::generateCuts().
CouNumber powNewton | ( | CouNumber | , | |
CouNumber | , | |||
unary_function | , | |||
unary_function | , | |||
unary_function | ||||
) |
find proper tangent point to add deepest tangent cut
Definition at line 27 of file powNewton.cpp.
References COU_POW_TOLERANCE, f, k, and MAX_ITER.
CouNumber powNewton | ( | CouNumber | , | |
CouNumber | , | |||
funtriplet * | ||||
) |
find proper tangent point to add deepest tangent cut
Definition at line 73 of file powNewton.cpp.
References COU_POW_TOLERANCE, k, and MAX_ITER.