maspack.matrix
Class Matrix3x1

java.lang.Object
  extended by maspack.matrix.MatrixBase
      extended by maspack.matrix.DenseMatrixBase
          extended by maspack.matrix.Matrix3x1
All Implemented Interfaces:
DenseMatrix, LinearTransformNd, Matrix
Direct Known Subclasses:
Matrix3x1Block

public class Matrix3x1
extends DenseMatrixBase

Implements a 3 x 1 matrix.


Nested Class Summary
 
Nested classes/interfaces inherited from interface maspack.matrix.Matrix
Matrix.Partition, Matrix.WriteFormat
 
Field Summary
 double m00
           
 double m10
           
 double m20
           
static Matrix3x1 ZERO
          Global zero matrix.
 
Fields inherited from interface maspack.matrix.Matrix
INDEFINITE, POSITIVE_DEFINITE, SPD, SYMMETRIC
 
Constructor Summary
Matrix3x1()
          Creates a new Matrix3x1.
 
Method Summary
 void add(Matrix M)
          Adds this matrix to M and places the result in this matrix.
 void add(Matrix3x1 M)
          Adds the contents of a Matrix3x1 to this matrix block.
 Matrix3x1 clone()
          Creates a clone of this matrix.
 int colSize()
          Number of columns in the matrix associated with this transformation.
 double dot(Vector3d v)
          Forms the dot product of this Matrix3x1 with a vector.
 double get(int i, int j)
          Gets a single element of this matrix.
 void get(Vector3d v)
          Gets the contents of this Matrix3x1 into a Vector3d.
static void mulScaledTransposeRightAdd(Matrix3d MR, double s, Matrix3x1 M1, Matrix3x1 M2)
          Computes
 int rowSize()
          Number of rows in the matrix associated with this transformation.
 void scale(double s)
          Scales the elements of this matrix by s.
 void scale(double s, Vector3d v1)
          Scales the elements of vector v1 by s and places the results in this vector.
 void scaledAdd(double s, Matrix M)
          Scales the matrix M and add the result to this matrix.
 void scaledAdd(double s, Matrix3x1 M)
          Adds the scaled contents of a Matrix3x1 to this matrix block.
 void scaledAdd(double s, Vector3d v1)
          Computes s v1 and adds the result to this matrix.
 void set(int i, int j, double value)
          Sets a single element of this matrix.
 void set(Matrix M)
          Sets the size and values of this matrix to those of another matrix.
 void set(Matrix3x1 M)
          Sets the contents of this Matrix3x1 to those of a specified block.
 void set(Vector3d v)
          Sets the contents of this Matrix3x1 from a Vector3d.
 void setZero()
          Sets the elements of this matrix to zero.
 void sub(Matrix M)
          Subtracts this matrix from M and places the result in this matrix.
 void sub(Matrix3x1 M)
          Subtracts the contents of a Matrix3x1 from this matrix block.
 java.lang.String transposeToString()
           
 java.lang.String transposeToString(NumberFormat fmt)
           
 java.lang.String transposeToString(java.lang.String fmtStr)
           
 
Methods inherited from class maspack.matrix.DenseMatrixBase
add, checkConsistency, set, set, set, set, setCCSValues, setColumn, setColumn, setCRSValues, setRow, setRow, setSubMatrix
 
Methods inherited from class maspack.matrix.MatrixBase
containsNaN, determinant, epsilonEquals, equals, frobeniusNorm, get, get, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getColumn, getColumn, getColumn, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getDefaultFormat, getRow, getRow, getRow, getSize, getSubMatrix, hasNaN, idString, infinityNorm, isFixedSize, isSymmetric, mul, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, oneNorm, scan, setCRSValues, setDefaultFormat, setSize, toString, toString, toString, trace, write, write, write, write, write, writeToFile
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface maspack.matrix.Matrix
determinant, epsilonEquals, equals, frobeniusNorm, get, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getColumn, getColumn, getColumn, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getRow, getRow, getRow, getSize, getSubMatrix, infinityNorm, isFixedSize, isSymmetric, mul, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, oneNorm, scan, setSize, toString, trace, write, write, write
 

Field Detail

m00

public double m00

m10

public double m10

m20

public double m20

ZERO

public static final Matrix3x1 ZERO
Global zero matrix. Should not be modified.

Constructor Detail

Matrix3x1

public Matrix3x1()
Creates a new Matrix3x1.

Method Detail

rowSize

public int rowSize()
Number of rows in the matrix associated with this transformation. This will equal the size of the output vector in mul.

Specified by:
rowSize in interface LinearTransformNd
Specified by:
rowSize in interface Matrix
Specified by:
rowSize in class MatrixBase
Returns:
number of rows

colSize

public int colSize()
Number of columns in the matrix associated with this transformation. This will equal the size of the input vector in mul.

Specified by:
colSize in interface LinearTransformNd
Specified by:
colSize in interface Matrix
Specified by:
colSize in class MatrixBase
Returns:
number of columns

get

public double get(int i,
                  int j)
Gets a single element of this matrix.

Specified by:
get in interface Matrix
Specified by:
get in class MatrixBase
Parameters:
i - element row index
j - element column index
Returns:
element value

get

public void get(Vector3d v)
Gets the contents of this Matrix3x1 into a Vector3d.

Parameters:
v - vector to return contents in

set

public void set(int i,
                int j,
                double value)
Sets a single element of this matrix.

Specified by:
set in interface DenseMatrix
Specified by:
set in class DenseMatrixBase
Parameters:
i - element row index
j - element column index
value - element value

setZero

public void setZero()
Sets the elements of this matrix to zero.


set

public void set(Matrix M)
Description copied from class: DenseMatrixBase
Sets the size and values of this matrix to those of another matrix.

Specified by:
set in interface Matrix
Overrides:
set in class DenseMatrixBase
Parameters:
M - matrix whose size and values are copied

set

public void set(Matrix3x1 M)
Sets the contents of this Matrix3x1 to those of a specified block.

Parameters:
M - matrix block providing new values

set

public void set(Vector3d v)
Sets the contents of this Matrix3x1 from a Vector3d.

Parameters:
v - vector providing new values

scale

public void scale(double s)
Scales the elements of this matrix by s.

Parameters:
s - scaling factor

scale

public void scale(double s,
                  Vector3d v1)
Scales the elements of vector v1 by s and places the results in this vector.

Parameters:
s - scaling factor
v1 - vector to be scaled

scaledAdd

public void scaledAdd(double s,
                      Vector3d v1)
Computes s v1 and adds the result to this matrix.

Parameters:
s - scaling factor
v1 - vector to be scaled

add

public void add(Matrix M)
Adds this matrix to M and places the result in this matrix.

Parameters:
M - right-hand matrix
Throws:
ImproperSizeException - if this matrix and M have different sizes

scaledAdd

public void scaledAdd(double s,
                      Matrix M)
Scales the matrix M and add the result to this matrix.

Parameters:
s - scaling factor
M - matrix to be scaled and added
Throws:
ImproperSizeException - if this matrix and M have different sizes

add

public void add(Matrix3x1 M)
Adds the contents of a Matrix3x1 to this matrix block.

Parameters:
M - matrix block to add

scaledAdd

public void scaledAdd(double s,
                      Matrix3x1 M)
Adds the scaled contents of a Matrix3x1 to this matrix block.

Parameters:
M - matrix block to add

sub

public void sub(Matrix M)
Subtracts this matrix from M and places the result in this matrix.

Parameters:
M - right-hand matrix
Throws:
ImproperSizeException - if this matrix and M have different sizes

sub

public void sub(Matrix3x1 M)
Subtracts the contents of a Matrix3x1 from this matrix block.

Parameters:
M - matrix block to subtract

dot

public double dot(Vector3d v)
Forms the dot product of this Matrix3x1 with a vector.

Parameters:
v - vector to take dot product with

mulScaledTransposeRightAdd

public static void mulScaledTransposeRightAdd(Matrix3d MR,
                                              double s,
                                              Matrix3x1 M1,
                                              Matrix3x1 M2)
Computes

s M1 * M2^T

and adds the result to matrix MR.

Parameters:
MR - matrix to add result to
s - scale value
M1 - left matrix
M2 - right matrix transpose

transposeToString

public java.lang.String transposeToString()

transposeToString

public java.lang.String transposeToString(java.lang.String fmtStr)

transposeToString

public java.lang.String transposeToString(NumberFormat fmt)

clone

public Matrix3x1 clone()
Creates a clone of this matrix.

Overrides:
clone in class java.lang.Object