Jampack
Class Zmat

java.lang.Object
  extended by Jampack.Zmat
Direct Known Subclasses:
Zltmat, Zpsdmat, Zutmat

public class Zmat
extends java.lang.Object

Zmat implements general complex matrix stored in a rectangular array class Z.

Version:
Pre-alpha
Author:
G. W. Stewart

Field Summary
 int bx
          The base index
 int cx
          The upper column index
 int nc
          The number of columns
 int nr
          The number of rows
 int rx
          The upper row index
 
Constructor Summary
Zmat(double[][] A)
          Creates a Zmat and initializes its real part to to an array of class double.
Zmat(double[][] re, double[][] im)
          Creates a Zmat and initializes its real and imaginary parts to a pair of arrays.
Zmat(int nrow, int ncol)
          Creates a Zmat and initializes it to zero.
Zmat(Z[][] A)
          Creates a Zmat and initializes it to an array of class Z.
Zmat(Z1 A)
          Creates a Zmat and initialize it to a Z1.
Zmat(Zdiagmat D)
          Creates a Zmat and initialize it to a Zdiagmat.
Zmat(Zmat A)
          Creates a Zmat and intitializes it to a Zmat.
 
Method Summary
 Zmat get(int[] ii, int[] jj)
          Returns the submatrix (ii[], jj[]).
 Zmat get(int[] ii, int jj1, int jj2)
          Returns the submatrix (ii[], jj1:jj2).
 Z get(int ii, int jj)
          Returns the (ii,jj)-element of a Zmat.
 Zmat get(int ii1, int ii2, int[] jj)
          Returns the submatrix (ii1:ii2, jj[]).
 Zmat get(int ii1, int ii2, int jj1, int jj2)
          Returns the submatrix (ii1:ii2, jj1:jj2).
 Z get0(int i, int j)
          Returns the zero-based (i,j)-element of a Zmat.
 Zchol getCHOL()
          Returns a Cholesky decomposition if a valid one exists.
 Zhqrd getHQR()
          Returns a Householder QR decomposition if a valid one exists.
 double[][] getIm()
          Returns a copy of the imaginary part of a Zmat.
 Zludpp getLU()
          Returns an LU decomposition if a valid one exists.
 void getProperties()
          Sets the public parameters.
 double[][] getRe()
          Returns a copy of the real part of a Zmat.
 Z[][] getZ()
          Returns a copy of the real and imaginary parts as a complex array.
 void put(int[] ii, int[] jj, Zmat A)
          Overwrites the submatrix (ii[], jj[]) with a Zmat.
 void put(int[] ii, int jj1, int jj2, Zmat A)
          Overwrites the submatrix (ii[], jj1:jj2) with a Zmat.
 void put(int ii1, int ii2, int[] jj, Zmat A)
          Overwrites the submatrix (ii1:ii2, jj[]) with a Zmat.
 void put(int ii1, int ii2, int jj1, int jj2, Zmat A)
          Overwrites the submatrix (ii1:ii2, jj1:jj2) with a Zmat.
 void put(int ii, int jj, Z a)
          Writes the (ii,jj) element of a Zmat.
 void put0(int i, int j, Z a)
          Writes the zero-based (i,j)-element of a Zmat.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bx

public int bx
The base index


rx

public int rx
The upper row index


nr

public int nr
The number of rows


cx

public int cx
The upper column index


nc

public int nc
The number of columns

Constructor Detail

Zmat

public Zmat(double[][] re,
            double[][] im)
     throws JampackException
Creates a Zmat and initializes its real and imaginary parts to a pair of arrays.

Parameters:
re - Contains the real part.
im - Contains the imaginary part.
Throws:
JampackException - if the dimensions of re and im do not match

Zmat

public Zmat(Z[][] A)
Creates a Zmat and initializes it to an array of class Z.


Zmat

public Zmat(double[][] A)
Creates a Zmat and initializes its real part to to an array of class double. The imaginary part is set to zero.


Zmat

public Zmat(Zmat A)
Creates a Zmat and intitializes it to a Zmat.


Zmat

public Zmat(Z1 A)
Creates a Zmat and initialize it to a Z1.


Zmat

public Zmat(Zdiagmat D)
Creates a Zmat and initialize it to a Zdiagmat.


Zmat

public Zmat(int nrow,
            int ncol)
Creates a Zmat and initializes it to zero.

Method Detail

getProperties

public void getProperties()
Sets the public parameters.


getRe

public double[][] getRe()
Returns a copy of the real part of a Zmat.


getIm

public double[][] getIm()
Returns a copy of the imaginary part of a Zmat.


getZ

public Z[][] getZ()
Returns a copy of the real and imaginary parts as a complex array.


get

public Z get(int ii,
             int jj)
Returns the (ii,jj)-element of a Zmat.

Parameters:
ii - The row index of the element
jj - The column index of the element

get0

public Z get0(int i,
              int j)
Returns the zero-based (i,j)-element of a Zmat.

Parameters:
i - The row index of the element
j - The column index of the element

put

public void put(int ii,
                int jj,
                Z a)
Writes the (ii,jj) element of a Zmat.

Parameters:
ii - The row index of the element
jj - The column index of the element
a - The new value of the element

put0

public void put0(int i,
                 int j,
                 Z a)
Writes the zero-based (i,j)-element of a Zmat.

Parameters:
i - The row index of the element
j - The column index of the element
a - The new value of the element

get

public Zmat get(int ii1,
                int ii2,
                int jj1,
                int jj2)
Returns the submatrix (ii1:ii2, jj1:jj2).

Parameters:
ii1 - The lower column index
ii2 - The upper column index
jj1 - The lower row index
jj2 - The upper row index

put

public void put(int ii1,
                int ii2,
                int jj1,
                int jj2,
                Zmat A)
Overwrites the submatrix (ii1:ii2, jj1:jj2) with a Zmat.

Parameters:
ii1 - The lower column index
ii2 - The upper column index
jj1 - The lower row index
jj2 - The upper row index
A - The new value of the submatrix

get

public Zmat get(int[] ii,
                int jj1,
                int jj2)
Returns the submatrix (ii[], jj1:jj2).

Parameters:
i[] - Contains the row indices of the submatrix
jj1 - The lower column index
jj2 - The upper column index

put

public void put(int[] ii,
                int jj1,
                int jj2,
                Zmat A)
Overwrites the submatrix (ii[], jj1:jj2) with a Zmat.

Parameters:
i[] - Contains the row indices of the submatrix
jj1 - The lower column index
jj2 - The upper column index
A - The new value of the submatrix.

get

public Zmat get(int ii1,
                int ii2,
                int[] jj)
Returns the submatrix (ii1:ii2, jj[]).

Parameters:
ii1 - The lower row index
ii2 - The upper row index
jj[] - Contains the column indices of the submatrix

put

public void put(int ii1,
                int ii2,
                int[] jj,
                Zmat A)
Overwrites the submatrix (ii1:ii2, jj[]) with a Zmat.

Parameters:
ii1 - The lower row index
ii2 - The upper row index
jj[] - Contains the column indices of the submatrix
A - The new value of the submatrix

get

public Zmat get(int[] ii,
                int[] jj)
Returns the submatrix (ii[], jj[]).

Parameters:
ii[] - Contains the row indices of the submatrix
jj[] - Contains the column indices of the submatrix

put

public void put(int[] ii,
                int[] jj,
                Zmat A)
Overwrites the submatrix (ii[], jj[]) with a Zmat. Returns the submatrix (ii[], jj[])

Parameters:
ii[] - Contains the row indices of the submatrix
jj[] - Contains the column indices of the submatrix
A - The value of the new submatrix

getLU

public Zludpp getLU()
Returns an LU decomposition if a valid one exists. Otherwise returns null.


getHQR

public Zhqrd getHQR()
Returns a Householder QR decomposition if a valid one exists. Otherwise returns null.


getCHOL

public Zchol getCHOL()
Returns a Cholesky decomposition if a valid one exists. Otherwise returns null.