JavaView© v3.95.000

jv.vecmath
Class PcMatrix

java.lang.Object
  extended byjv.vecmath.PcMatrix
All Implemented Interfaces:
java.io.Serializable

public class PcMatrix
extends java.lang.Object
implements java.io.Serializable

Linear algebra class for small matrices of complex numbers.

See Also:
PdMatrix, Serialized Form

Field Summary
 PuComplex[][] m_data
          Data array containing the components of the vector.
 
Constructor Summary
PcMatrix()
          Create a new matrix of zero size.
PcMatrix(int aSize)
          Create a square matrix with given dimension.
PcMatrix(int iSize, int jSize)
          Create a non-square matrix with given dimensions.
 
Method Summary
 PcMatrix add(PcMatrix m)
           
 PcMatrix add(PcMatrix m1, PcMatrix m2)
           
 PuComplex[] aEigenvector(PuComplex l)
          Matrix must be 2x2.
 java.lang.Object clone()
          Duplicate matrix and data array.
 PcMatrix copy(PcMatrix m)
           
static PcMatrix copyNew(PcMatrix mat)
          Create a new matrix as clone of argument matrix.
 PuComplex determinant()
          Computes the determinant of the matrix.
 PuComplex[] eigenvalues()
          Compute the eigenvalues of a 2x2 matrix.
 int getISize()
          Get number of rows of matrix.
 int getJSize()
          Get number of columns of matrix.
 int getSize()
          Get dimension of square matrix, return -1 for non-square matrices.
 PcMatrix inverse()
          Computes the inverse of 'this'
 boolean isSquare()
          Check if matrix is square.
 PcMatrix leftMult(PcMatrix m)
          Multiply with square matrix from left of same sizes using this = m*this.
 PuComplex minor(int i, int j)
          Computes the determinant of the matrix obtained by deleting 'i'th row and 'j'th column.
 PcMatrix minorMatrix(int row, int col)
          Computes the matrix obtained by deleting row 'row' and column 'col'.
 PcMatrix mult(PcMatrix m1, PcMatrix m2)
          Multiply two matrices of possibly different sizes using this = m1*m2.
static PcMatrix multNew(PcMatrix m1, PcMatrix m2)
          Return product of two matrices m1*m2.
 PcMatrix multScalar(PcMatrix m, PuComplex scalar)
           
 PcMatrix multScalar(PuComplex scalar)
           
 PcMatrix rightMult(PcMatrix m)
          Multiply with square matrix from right of same sizes using this = this*m.
 PcMatrix setConstant(PuComplex aValue)
          Set all matrix entries to a constant value.
 PcMatrix setIdentity()
          Initialize square matrix to be identity matrix.
 void setSize(int aSize)
          Set dimension of square matrix.
 void setSize(int iSize, int jSize)
          Set dimension of non-square matrix.
 PcMatrix sub(PcMatrix m)
           
 PcMatrix sub(PcMatrix m1, PcMatrix m2)
           
 java.lang.String toShortString()
          Deprecated. use toString()
 java.lang.String toString()
          Create a string representation of matrix.
 PcMatrix transpose()
          Transpose a square matrix by this = transpose(this).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_data

public PuComplex[][] m_data
Data array containing the components of the vector. Array has public access for efficiency reasons in numerical computations, although method access should be preferred. Do not modify length of array directly.

Constructor Detail

PcMatrix

public PcMatrix()
Create a new matrix of zero size.


PcMatrix

public PcMatrix(int aSize)
Create a square matrix with given dimension.


PcMatrix

public PcMatrix(int iSize,
                int jSize)
Create a non-square matrix with given dimensions.

Method Detail

clone

public java.lang.Object clone()
Duplicate matrix and data array. Method just returns result of copyNew(PcMatrix).

See Also:
copyNew(PcMatrix)

copyNew

public static PcMatrix copyNew(PcMatrix mat)
Create a new matrix as clone of argument matrix.


getISize

public int getISize()
Get number of rows of matrix.


getJSize

public int getJSize()
Get number of columns of matrix.


getSize

public int getSize()
Get dimension of square matrix, return -1 for non-square matrices.


setSize

public void setSize(int aSize)
Set dimension of square matrix.


setSize

public void setSize(int iSize,
                    int jSize)
Set dimension of non-square matrix.


isSquare

public boolean isSquare()
Check if matrix is square.


setIdentity

public PcMatrix setIdentity()
Initialize square matrix to be identity matrix.


setConstant

public PcMatrix setConstant(PuComplex aValue)
Set all matrix entries to a constant value.


add

public PcMatrix add(PcMatrix m)

add

public PcMatrix add(PcMatrix m1,
                    PcMatrix m2)

sub

public PcMatrix sub(PcMatrix m)

sub

public PcMatrix sub(PcMatrix m1,
                    PcMatrix m2)

copy

public PcMatrix copy(PcMatrix m)

multScalar

public PcMatrix multScalar(PuComplex scalar)

multScalar

public PcMatrix multScalar(PcMatrix m,
                           PuComplex scalar)

leftMult

public PcMatrix leftMult(PcMatrix m)
Multiply with square matrix from left of same sizes using this = m*this. Size of 'this' does not change.


rightMult

public PcMatrix rightMult(PcMatrix m)
Multiply with square matrix from right of same sizes using this = this*m. Size of 'this' does not change.


mult

public PcMatrix mult(PcMatrix m1,
                     PcMatrix m2)
Multiply two matrices of possibly different sizes using this = m1*m2. Size of 'this' is adjusted to have number of rows equal to first factor and number of columns equal to second factor.


multNew

public static PcMatrix multNew(PcMatrix m1,
                               PcMatrix m2)
Return product of two matrices m1*m2.

Since:
JavaView 2.90.001

transpose

public PcMatrix transpose()
Transpose a square matrix by this = transpose(this).


toString

public java.lang.String toString()
Create a string representation of matrix.


toShortString

public java.lang.String toShortString()
Deprecated. use toString()

Create a short string representation of matrix with all instance variables.


eigenvalues

public PuComplex[] eigenvalues()
Compute the eigenvalues of a 2x2 matrix.

Returns:
the two eigenvalues

minorMatrix

public PcMatrix minorMatrix(int row,
                            int col)
Computes the matrix obtained by deleting row 'row' and column 'col'.

Returns:
the minor matrix
Since:
JavaView 2.90.001

minor

public PuComplex minor(int i,
                       int j)
Computes the determinant of the matrix obtained by deleting 'i'th row and 'j'th column.

Returns:
the minor
Since:
JavaView 2.90.001

determinant

public PuComplex determinant()
Computes the determinant of the matrix.

Returns:
the determinant if the matrix is square, otherwise null.
Since:
JavaView 2.90.001

inverse

public PcMatrix inverse()
Computes the inverse of 'this'

Returns:
the inverse matrix
Since:
JavaView 2.90.001

aEigenvector

public PuComplex[] aEigenvector(PuComplex l)
Matrix must be 2x2.

Parameters:
l - eigenvalue of matrix
Returns:
2-array that contains (zx,zy) of a arbitrary eigenvector of eigenvalue l; Mz = lz; first component is normalized to 1

JavaView© v3.95.000

The software JavaView© is copyright protected. All Rights Reserved.