001: /*
002: * Created on Apr 1, 2004
003: */
004: package org.jmatlab.linalg;
005:
006: /**
007: * @author Ali
008: */
009: public interface IMatrix extends INumber {
010: public int getRows();
011:
012: public int getCols();
013:
014: public IComplex[][] getMatrix();
015:
016: public IMatrix getMatrix(IMatrix m);
017:
018: public IMatrix getMatrix(IMatrix m, IMatrix n);
019:
020: public IMatrix getMatrix(double m, IMatrix n);
021:
022: public IMatrix getMatrix(IMatrix m, double n);
023:
024: public IComplex getMatrixElement(int i, int j);
025:
026: public void setMatrixElement(int i, int j, IComplex z);
027:
028: public void setMatrixElement(IMatrix i, int j, IMatrix z);
029:
030: public void setMatrixElement(int i, IMatrix j, IMatrix z);
031:
032: public void setMatrixElement(IMatrix i, IMatrix j, IMatrix z);
033:
034: public String toString();
035:
036: public String toSizeString();
037:
038: public String[][] getStringArr();
039:
040: public int getType();
041:
042: public IMatrix transpose();
043:
044: public IMatrix negative();
045:
046: public IMatrix pow(IMatrix m, int n);
047:
048: public IMatrix dotpow(IMatrix m);
049:
050: public IMatrix dotpow(double d);
051:
052: public IMatrix dotpow(IComplex z);
053:
054: public IMatrix mult(IMatrix m1, IMatrix m2);
055:
056: public IMatrix dotmult(IMatrix m1, IMatrix m2);
057:
058: public IMatrix mult(IComplex c);
059:
060: public IMatrix mult(double d);
061:
062: public IMatrix dividedBy(IMatrix m1, IMatrix m2);
063:
064: public IMatrix dotdividedBy(IMatrix m1, IMatrix m2);
065:
066: public IMatrix dividedBy(IMatrix m, IComplex c);
067:
068: public IMatrix dividedBy(IMatrix m, double d);
069:
070: public IMatrix dividedByReverse(IMatrix m, IComplex c);
071:
072: public IMatrix dividedByReverse(IMatrix m, double d);
073:
074: public boolean equal(IMatrix m);
075:
076: public boolean lessThan(IMatrix m);
077:
078: public boolean lessThan(IComplex c);
079:
080: public boolean lessThan(double d);
081:
082: public boolean greaterThan(IMatrix m);
083:
084: public boolean greaterThan(IComplex c);
085:
086: public boolean greaterThan(double d);
087:
088: public boolean lessThanEqual(IMatrix m);
089:
090: public boolean lessThanEqual(IComplex c);
091:
092: public boolean lessThanEqual(double d);
093:
094: public boolean greaterThanEqual(IMatrix m);
095:
096: public boolean greaterThanEqual(IComplex c);
097:
098: public boolean greaterThanEqual(double d);
099:
100: public IMatrix plus(IMatrix m);
101:
102: public IMatrix plus(IComplex c);
103:
104: public IMatrix plus(double d);
105:
106: public IMatrix minus(IMatrix m);
107:
108: public IMatrix minus(IComplex c);
109:
110: public IMatrix minus(double d);
111:
112: public double min();
113:
114: public double max();
115:
116: public boolean isAllReal();
117:
118: public boolean isAnyComplex();
119:
120: public double[][] getRealMatrix();
121:
122: public double[][] getImagMatrix();
123:
124: public double[] getRealRow(int i);
125:
126: public double[] getImagRow(int i);
127:
128: public double[] getRealCol(int i);
129:
130: public double[] getImagCol(int i);
131:
132: public IComplex[] getComplexRow(int i);
133:
134: public IComplex[] getComplexCol(int i);
135:
136: public int length(IMatrix m);
137:
138: public String[][] getMatrixAsStringArray();
139: }
|