CoinDenseVector

Dense Vector.

Dense Vector.

Description

Stores a dense (or expanded) vector of floating point values. Type of vector elements is controlled by templating. (Some working quantities such as accumulated sums are explicitly declared of type double). This allows the components of the vector integer, single or double precision. Here is a sample usage: const int ne = 4; double el[ne] = { 10., 40., 1., 50. }

// Create vector and set its value
CoinDenseVector<double> r(ne,el);

// access each element
assert( r.getElements()[0]==10. );
assert( r.getElements()[1]==40. );
assert( r.getElements()[2]== 1. );
assert( r.getElements()[3]==50. );

// Test for equality
CoinDenseVector<double> r1;
r1=r;

// Add dense vectors.
// Similarly for subtraction, multiplication,
// and division.
CoinDenseVector<double> add = r + r1;
assert( add[0] == 10.+10. );
assert( add[1] == 40.+40. );
assert( add[2] ==  1.+ 1. );
assert( add[3] == 50.+50. );

assert( r.sum() == 10.+40.+1.+50. );

Public Methods

getNumElements

Get the size.

int getNumElements()

size

int size()

getElements

Get element values.

const T * getElements()

getElements

Get element values.

T * getElements()

clear

Reset the vector (i.e. set all elemenets to zero)

void clear()

operator=

Assignment operator.

CoinDenseVector & operator=(const CoinDenseVector & )

Parameters:

operator[]

Member of array operator.

T & operator[](size_t index)

Parameters:

operator[]

Member of array operator.

const T & operator[](size_t index)

Parameters:

setVector

Set vector size, and elements.

void setVector(int size, const T * elems)

Parameters:

setConstant

Elements set to have the same scalar value.

void setConstant(int size, T elems)

Parameters:

setElement

Set an existing element in the dense vector The first argument is the "index" into the elements() array.

void setElement(size_t index, T element)

Parameters:

resize

Resize the dense vector to be the first newSize elements.

void resize(size_t newSize, T fill = T())

Parameters:

append

Append a dense vector to this dense vector.

void append(const CoinDenseVector & )

Parameters:

oneNorm

1-norm of vector

T oneNorm()

twoNorm

2-norm of vector

double twoNorm()

infNorm

infinity-norm of vector

T infNorm()

sum

sum of vector elements

T sum()

scale

scale vector elements

void scale(T factor)

Parameters:

operator+=

add value to every entry

void operator+=(T value)

Parameters:

operator-=

subtract value from every entry

void operator-=(T value)

Parameters:

operator*=

multiply every entry by value

void operator*=(T value)

Parameters:

operator/=

divide every entry by value

void operator/=(T value)

Parameters:

CoinDenseVector

Default constructor.

 CoinDenseVector()

CoinDenseVector

Alternate Constructors - set elements to vector of Ts.

 CoinDenseVector(size_t size, const T * elems)

Parameters:

CoinDenseVector

Alternate Constructors - set elements to same scalar value.

 CoinDenseVector(size_t size, T element = T())

Parameters:

CoinDenseVector

Copy constructors.

 CoinDenseVector(const CoinDenseVector & )

Parameters:

~CoinDenseVector

Destructor.

 ~CoinDenseVector()

Source

Header: layer-0/CoinUtils/src/CoinDenseVector.hpp