Currently supported operators

The operators currently supported are listed below. The operators with a check box have been subject to a large degree of scrutiny and have been implemented for both forward and reverse McCormick relaxations.

Univariate McCormick Operators

Arbitrarily differentiable relaxations can be constructed for the following operators:

  • [x] Inverse (inv)
  • [x] Logarithms (log, log2, log10)
  • [x] Exponential Functions (exp, exp2, exp10)
  • [x] Square Root (sqrt)
  • [x] Absolute Value (abs)

Both nonsmooth and Whitney-1 (once differentiable) relaxations are supported:

  • [x] Step Functions (step, sign)
  • [x] Trignometric Functions (sin, cos, tan)
  • [x] Inverse Trignometric Functions (asin, acos, atan)
  • [x] Hyperbolic Functions (sinh, cosh, tanh)
  • [x] Inverse Hyperbolic Functions (asinh, acosh, atanh)

Bivariate Operators: McCormick & McCormick

The following bivariant operators are supported for two MC objects. Both nonsmooth and Whitney-1 (once differentiable) relaxations are supported.

  • [x] multiplication (*)
  • [x] division (/)

Arbitrarily differentiable relaxations can be constructed for the following operators:

  • [x] addition (+)
  • [x] subtraction (-)
  • [x] minimization (min)
  • [x] maximization (max)

Bivariate Operators: McCormick & (Integer or Float)

Arbitrarily differentiable relaxations can be constructed for the following operators:

  • [x] addition (+)
  • [x] subtraction (-)
  • [x] multiplication (*)
  • [x] division (/)
  • [x] minimization (min)
  • [x] maximization (max)
  • [x] Exponentiation (pow, ^)