# StepBoundInfo

Calculates the largest multiple of a vector that can be added to this vector while keeping each element of this vector nonnegative.

## Synopsis

    #include "tao_solver.h"
    int TaoVec::StepBoundInfo(TaoVec* XL ,TaoVec* XU, TaoVec*S, double *bmin1,double *bmin2, double *bmax)

## Input Parameters

| txl | - the lower bounds on this vector
| txu | - the upper bounds on this vector
| tdx | - the step direction for this vector

## Output Parameters

| boundmin | - the step to closest bound i.e min(a1, ..., an);
| wolfemin | - the step to closest bound not equal i.e min(b1, ..., bn);
| boundmax | - the step to farthest bound i.e. max(c1, ..., cn);

## Where

if tdx[i] > 0; ai = (txu[i] - this[i])/tdx[i] ; bi=ai, ci=ai; if tdx[i] < 0; ai = (txl[i] - this[i])/tdx[i] ; bi=ai, ci=ai if tdx[i] == 0 && txl[i] < x[i] < txu[i] ; ai=TAO_INFINITY, bi=ai, ci=ai; if tdx[i] == 0 && (txl[i] == x[i] || txu[i] == x[i]) ; ai= 0, bi=TAO_INFINITY, ci=0;

## Note

If there is no maximum steplength, the output scalar may be set to TAO_INFINITY.

Level:advanced
Location:src/vector/taovec.c
TAO Solver Index
Table of Contents