org.jutil.math.matrix
Class Row

java.lang.Object
  |
  +--org.jutil.math.matrix.NMatrix
        |
        +--org.jutil.math.matrix.Matrix
              |
              +--org.jutil.math.matrix.Row

public class Row
extends Matrix

A class of matrices containing only 1 row.


Class Specifications
public invariant getNbRows() == 1;

Specifications inherited from class Matrix
public invariant getNbDimensions() == 2;

Specifications inherited from class NMatrix
public invariant getDimensions().length == getNbDimensions();
public invariant ( \forall int i; i >= 0&&i < getNbDimensions(); getDimensions()[i] > 0);

Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
Row(double[] elements)
          Create a new Row with the given elements.
Row(int size)
          Create a new Row with the given size.
 
Method Summary
 double elementAt(int index)
          Return the element at the given index.
 void setElementAt(int index, double value)
          Set the element at the given index
 void setSubRow(int lower, Row row)
          Replace a sub-row of this Row, starting at the given position with the given row.
 int size()
          Return the size of this Row.
 Row subRow(int lower, int upper)
          Return a sub-row of this row starting from and ending at
 boolean validIndex(int index)
          Check whether or not the given index is a valid index for this Column.
 
Methods inherited from class org.jutil.math.matrix.Matrix
add, clone, divide, elementAt, elementAt, equals, getColumn, getDimensions, getNbColumns, getNbDimensions, getNbRows, getRow, isDiagonal, isLowerTriangular, isPermutationMatrix, isSquare, isSymmetric, isUpperTriangular, leftGivens, minus, multiply, plus, returnTranspose, rightGivens, sameDimensions, setColumn, setElementAt, setElementAt, setRow, setSubMatrix, subMatrix, subtract, times, times, toString, transpose, unity, validIndex
 
Methods inherited from class org.jutil.math.matrix.NMatrix
validIndex
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CVS_REVISION

public static final java.lang.String CVS_REVISION
Constructor Detail

Row

public Row(int size)
Create a new Row with the given size.

Parameters:
size - The size of the new row.

Specifications:
public behavior
requires size > 0;
ensures size() == size;
ensures ( \forall int i; i > 0&&i <= size(); elementAt(i) == 0);

Row

public Row(double[] elements)
Create a new Row with the given elements.

Parameters:
elements - An array containing the elements for this row.

Specifications:
public behavior
requires elements != null;
requires elements.length > 0;
ensures size() == elements.length;
ensures ( \forall int i; i > 0&&i <= size(); elementAt(i) == elements[i-1]);
Method Detail

elementAt

public double elementAt(int index)
Return the element at the given index.

Parameters:
index - The index of the element to be retrieved.

Specifications:
public behavior
requires validIndex(index);
ensures \result == elementAt(1,index);

setElementAt

public void setElementAt(int index,
                         double value)
Set the element at the given index

Parameters:
index - The index of the element to be set
value - The new value for the index

Specifications:
public behavior
requires validIndex(index);
ensures elementAt(index) == value;

size

public int size()
Return the size of this Row.

Specifications:
public behavior
ensures \result == getNbColumns();

subRow

public Row subRow(int lower,
                  int upper)
Return a sub-row of this row starting from and ending at

Parameters:
lower - The lower index
upper - The upper index

Specifications:
public behavior
requires validIndex(lower);
requires validIndex(upper);
requires lower <= upper;
ensures \result != null;
ensures \result .size() == upper-lower+1;
ensures ( \forall int i; i >= lower&&i <= upper; \result .elementAt(i-lower+1) == elementAt(i));

setSubRow

public void setSubRow(int lower,
                      Row row)
Replace a sub-row of this Row, starting at the given position with the given row.

Parameters:
lower - The index at which the row must be pasted.
row - The row to paste into this row.

Specifications:
public behavior
requires validIndex(lower);
requires validIndex(lower+row.size()-1);
requires row != null;
ensures subRow(lower,lower+row.size()-1).equals(row);

validIndex

public boolean validIndex(int index)
Check whether or not the given index is a valid index for this Column.

Parameters:
index - The index to be verified

Specifications:
public behavior
ensures \result == (index > 0)&&(index <= size());