13.2.5 Add_Values_ELL_Matrix Procedure

The Add_Values_ELL_Matrix procedure increments the values for an ELL Matrix by the specified array of values. It may be called three different ways.

The single value form adds to a single matrix entry. If this form is used, then the same number of procedure calls must take place on every processor - this is required by internal verification calls that use global communication. If a different number of values are to be add on each processor, then one of the other calling forms should be used.

The vector form, with the plural nomenclature, can be used to add to selected values, one per row, in the ELL Matrix. Only the rows listed in the Rows vector are modified.

The array form, with the plural nomenclature, can be used to add to selected values in the ELL Matrix. Only the rows and columns listed in the Rows and Columns vectors are modified.

Calling syntax:

call Add_Values (ELLM, Value, Row, Column, Global) or
call Add_Values (ELLM, Values, Rows, Columns, Global)  

Input variable:

 Values  A vector or an array of values to be added to the ELL_Matrix object. Values must have a size smaller than or equal to the size of the ELL_Matrix.
 Rows  An integer vector of rows to be incremented. This vector may be sized smaller than the row size of the ELL_Matrix object.
 Columns  A vector or an array of columns for the ELL_Matrix object. Columns must have a size smaller than or equal to the size of the ELL_Matrix.
 Global  A toggle between using global or local (on this PE) indices for the Rows variables. Default is true (use global). Note that the Columns variables are always global.
 Value  A single value to be added to the ELL_Matrix object. The Row and Column variables must be present for this form of the procedure.
 Row  The row index for the Value variable.
 Column  The column index for the Value variable.

Input/Output variable:

 ELLM  The ELL_Matrix object to be incremented.

The Add_Values_ELL_Matrix code listing contains additional documentation.

Michael L. Hall