package Jampack; /** Merge is a class containing programs to merge matrices into one big matrix. The basic method (Merge.o) takes an array of Zmat's and merges them. For conformity, the Zmats along a row of the array must have the same number of rows, and the Zmats along a column of the array must have the same number of columns.
For convenience a number of special routines (o12, o21, o22, o13, ...)
are provided to merge the matrices in their argument list.
@version Pre-alpha
@author G. W. Stewart
*/
public class Merge{
/**
Merges the matrices in an array of Zmats
@param B[][] The array of Zmats
@return The merged Zmat
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o(Zmat[][] B)
throws JampackException{
int bi, bi0nr, bj, b0jnc, bnc, bnr, i, il, j, jl, nc, nr;
Zmat Bij;
bnr = B.length;
bnc = B[0].length;
/* Compute the number of columns in the result while
testing for columnwise conformity. */
nc = 0;
for (bj=0; bj
* A = | B00 |
* | B10 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o21(Zmat B00,
Zmat B10)
throws JampackException{
Zmat B[][] = new Zmat[2][1];
B[0][0] = B00;
B[1][0] = B10;
return Merge.o(B);
}
/**
Merges its arguments to create the matrix
* A = | B00 B01|
* | B10 B11|
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o22(Zmat B00, Zmat B01,
Zmat B10, Zmat B11)
throws JampackException{
Zmat B[][] = new Zmat[2][2];
B[0][0] = B00;
B[0][1] = B01;
B[1][0] = B10;
B[1][1] = B11;
return Merge.o(B);
}
/**
Merges its arguments to create the Zmat
* A = | B00 B01 B02 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o13(Zmat B00, Zmat B01, Zmat B02)
throws JampackException{
Zmat B[][] = new Zmat[1][3];
B[0][0] = B00;
B[0][1] = B01;
B[0][2] = B02;
return Merge.o(B);
}
/**
Merges its arguments to create the Zmat
* A = | B00 B01 B02 |
* | B10 B11 B12 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thown if there is a nonconformity.
*/
public static Zmat o23(Zmat B00, Zmat B01, Zmat B02,
Zmat B10, Zmat B11, Zmat B12)
throws JampackException{
Zmat B[][] = new Zmat[2][3];
B[0][0] = B00;
B[0][1] = B01;
B[0][2] = B02;
B[1][0] = B10;
B[1][1] = B11;
B[1][2] = B12;
return Merge.o(B);
}
/**
Merges its arguments to create the Zmat
* A = | B00 |
* | B10 |
* | B20 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o31(Zmat B00,
Zmat B10,
Zmat B20)
throws JampackException{
Zmat B[][] = new Zmat[3][1];
B[0][0] = B00;
B[1][0] = B10;
B[2][0] = B20;
return Merge.o(B);
}
/**
Merges its arguments to create the Zmat
* A = | B00 B01 |
* | B10 B11 |
* | B20 B21 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o32(Zmat B00, Zmat B01,
Zmat B10, Zmat B11,
Zmat B20, Zmat B21)
throws JampackException{
Zmat B[][] = new Zmat[3][2];
B[0][0] = B00;
B[0][1] = B01;
B[1][0] = B10;
B[1][1] = B11;
B[2][0] = B20;
B[2][1] = B21;
return Merge.o(B);
}
/**
Merges its arguments to create the Zmat
* A = | B00 B01 B02 |
* | B10 B11 B12 |
* | B20 B21 B22 |
@param Bij The Zmats to be merged
@return The composite Zmat A
@exception JampackException
Thrown if there is a nonconformity.
*/
public static Zmat o33(Zmat B00, Zmat B01, Zmat B02,
Zmat B10, Zmat B11, Zmat B12,
Zmat B20, Zmat B21, Zmat B22)
throws JampackException{
Zmat B[][] = new Zmat[3][3];
B[0][0] = B00;
B[0][1] = B01;
B[0][2] = B02;
B[1][0] = B10;
B[1][1] = B11;
B[1][2] = B12;
B[2][0] = B20;
B[2][1] = B21;
B[2][2] = B22;
return Merge.o(B);
}
}