/* AUTO-GENERATED */
package jsci.maths.matrices;
import jsci.GlobalSettings;
import jsci.maths.Complex;
import jsci.maths.ComplexMapping;
import jsci.maths.DimensionException;
import jsci.maths.MathDouble;
import jsci.maths.MathInteger;
import jsci.maths.algebras.*;
import jsci.maths.fields.*;
import jsci.maths.groups.AbelianGroup;
import jsci.maths.vectors.AbstractComplexVector;
import jsci.maths.vectors.ComplexVector;
/**
* The AbstractComplexMatrix class provides an object for encapsulating matrices containing complex numbers.
* @version 2.2
* @author Mark Hale
*/
public abstract class AbstractComplexMatrix extends Matrix {
/**
* Constructs a matrix.
*/
protected AbstractComplexMatrix(final int rows,final int cols) {
super(rows,cols);
}
/**
* Compares two complex matrices for equality.
* @param obj a complex matrix
*/
public final boolean equals(Object obj) {
if(obj instanceof AbstractComplexMatrix) {
return equals((AbstractComplexMatrix)obj);
} else {
return false;
}
}
/**
* Compares two complex matrices for equality.
* Two matrices are considered to be equal if the Frobenius norm of their difference is within the zero tolerance.
* @param m a complex matrix
*/
public final boolean equals(AbstractComplexMatrix m) {
return equals(m, GlobalSettings.ZERO_TOL);
}
public boolean equals(AbstractComplexMatrix m, double tol) {
if(m != null && numRows == m.rows() && numCols == m.columns()) {
double sumSqr = 0.0;
for(int i=0;i
-norm.
* @author Taber Smith
*/
public double infNorm() {
double result=0.0,tmpResult;
for(int i=0;iresult)
result=tmpResult;
}
return result;
}
/**
* Returns the Frobenius or Hilbert-Schmidt (l2) norm.
* @jsci.planetmath FrobeniusMatrixNorm
* @author Taber Smith
*/
public double frobeniusNorm() {
double result=0.0;
for(int i=0;i
Ads help maintain this website.