FRAMES NO FRAMES

IlcScalProd

public IlcFloatExp IlcScalProd(const IlcFloatVarArray array1, const IlcFloatVarArray array2)
public IlcIntExp IlcScalProd(const IlcIntVarArray array1, const IlcIntVarArray array2)
public IlcIntExp IlcScalProd(const IlcIntVarArray array1, const IlcIntArray array2)
public IlcIntExp IlcScalProd(const IlcIntArray array1, const IlcIntVarArray array2)
public IlcInt IlcScalProd(const IlcIntArray array1, const IlcIntArray array2)
public IlcFloatExp IlcScalProd(const IlcFloatVarArray array1, const IlcFloatArray array2)
public IlcFloatExp IlcScalProd(const IlcFloatArray array1, const IlcFloatVarArray array2)
public IlcFloat IlcScalProd(const IlcFloatArray array1, const IlcFloatArray array2)
Definition file: ilsolver/nlinflt.h
Include file: <ilsolver/ilosolver.h>

This function returns the scalar product of its arguments, that is:

 (array1[0]*array2[0]) + ... + (array1[size-1]*array2[size-1])

When either of its arguments is an array of constrained expressions, then it creates a new constrained expression equal to the scalar product of its arguments.

When both its arguments are arrays of simple unconstrained variables (that is, instances of IlcIntArray or IlcFloatArray), it merely creates and returns the scalar product.

In any case, the two arrays passed as arguments must have the same number of elements.

The effects of this function are reversible.

See Also: