diff --git a/src/java/org/apache/commons/math/linear/SparseRealMatrix.java b/src/java/org/apache/commons/math/linear/OpenMapRealMatrix.java similarity index 90% rename from src/java/org/apache/commons/math/linear/SparseRealMatrix.java rename to src/java/org/apache/commons/math/linear/OpenMapRealMatrix.java index 0a1c3da34..e954f2fce 100644 --- a/src/java/org/apache/commons/math/linear/SparseRealMatrix.java +++ b/src/java/org/apache/commons/math/linear/OpenMapRealMatrix.java @@ -25,7 +25,7 @@ import org.apache.commons.math.util.OpenIntToDoubleHashMap; * @version $Revision$ $Date$ * @since 2.0 */ -public class SparseRealMatrix extends AbstractRealMatrix { +public class OpenMapRealMatrix extends AbstractRealMatrix { /** Serializable version identifier. */ private static final long serialVersionUID = -5962461716457143437L; @@ -44,7 +44,7 @@ public class SparseRealMatrix extends AbstractRealMatrix { * @param rowDimension number of rows of the matrix * @param columnDimension number of columns of the matrix */ - public SparseRealMatrix(int rowDimension, int columnDimension) { + public OpenMapRealMatrix(int rowDimension, int columnDimension) { super(rowDimension, columnDimension); this.rowDimension = rowDimension; this.columnDimension = columnDimension; @@ -55,7 +55,7 @@ public class SparseRealMatrix extends AbstractRealMatrix { * Build a matrix by copying another one. * @param matrix matrix to copy */ - public SparseRealMatrix(SparseRealMatrix matrix) { + public OpenMapRealMatrix(OpenMapRealMatrix matrix) { this.rowDimension = matrix.rowDimension; this.columnDimension = matrix.columnDimension; this.entries = new OpenIntToDoubleHashMap(matrix.entries); @@ -64,14 +64,14 @@ public class SparseRealMatrix extends AbstractRealMatrix { /** {@inheritDoc} */ @Override public RealMatrix copy() { - return new SparseRealMatrix(this); + return new OpenMapRealMatrix(this); } /** {@inheritDoc} */ @Override public RealMatrix createMatrix(int rowDimension, int columnDimension) throws IllegalArgumentException { - return new SparseRealMatrix(rowDimension, columnDimension); + return new OpenMapRealMatrix(rowDimension, columnDimension); } /** {@inheritDoc} */ @@ -85,7 +85,7 @@ public class SparseRealMatrix extends AbstractRealMatrix { public RealMatrix add(final RealMatrix m) throws IllegalArgumentException { try { - return add((SparseRealMatrix) m); + return add((OpenMapRealMatrix) m); } catch (ClassCastException cce) { return super.add(m); } @@ -98,12 +98,12 @@ public class SparseRealMatrix extends AbstractRealMatrix { * @return this + m * @throws IllegalArgumentException if m is not the same size as this */ - public RealMatrix add(SparseRealMatrix m) throws IllegalArgumentException { + public RealMatrix add(OpenMapRealMatrix m) throws IllegalArgumentException { // safety check MatrixUtils.checkAdditionCompatible(this, m); - final RealMatrix out = new SparseRealMatrix(this); + final RealMatrix out = new OpenMapRealMatrix(this); for (OpenIntToDoubleHashMap.Iterator iterator = m.entries.iterator(); iterator.hasNext();) { iterator.advance(); final int row = iterator.key() / columnDimension; @@ -120,7 +120,7 @@ public class SparseRealMatrix extends AbstractRealMatrix { public RealMatrix subtract(final RealMatrix m) throws IllegalArgumentException { try { - return subtract((SparseRealMatrix) m); + return subtract((OpenMapRealMatrix) m); } catch (ClassCastException cce) { return super.add(m); } @@ -133,12 +133,12 @@ public class SparseRealMatrix extends AbstractRealMatrix { * @return this - m * @throws IllegalArgumentException if m is not the same size as this */ - public RealMatrix subtract(SparseRealMatrix m) throws IllegalArgumentException { + public RealMatrix subtract(OpenMapRealMatrix m) throws IllegalArgumentException { // safety check MatrixUtils.checkAdditionCompatible(this, m); - final RealMatrix out = new SparseRealMatrix(this); + final RealMatrix out = new OpenMapRealMatrix(this); for (OpenIntToDoubleHashMap.Iterator iterator = m.entries.iterator(); iterator.hasNext();) { iterator.advance(); final int row = iterator.key() / columnDimension; @@ -155,7 +155,7 @@ public class SparseRealMatrix extends AbstractRealMatrix { public RealMatrix multiply(final RealMatrix m) throws IllegalArgumentException { try { - return multiply((SparseRealMatrix) m); + return multiply((OpenMapRealMatrix) m); } catch (ClassCastException cce) { // safety check @@ -187,13 +187,13 @@ public class SparseRealMatrix extends AbstractRealMatrix { * @throws IllegalArgumentException * if columnDimension(this) != rowDimension(m) */ - public SparseRealMatrix multiply(SparseRealMatrix m) throws IllegalArgumentException { + public OpenMapRealMatrix multiply(OpenMapRealMatrix m) throws IllegalArgumentException { // safety check MatrixUtils.checkMultiplicationCompatible(this, m); final int outCols = m.getColumnDimension(); - SparseRealMatrix out = new SparseRealMatrix(rowDimension, outCols); + OpenMapRealMatrix out = new OpenMapRealMatrix(rowDimension, outCols); for (OpenIntToDoubleHashMap.Iterator iterator = entries.iterator(); iterator.hasNext();) { iterator.advance(); final double value = iterator.value(); diff --git a/src/java/org/apache/commons/math/linear/SparseRealVector.java b/src/java/org/apache/commons/math/linear/OpenMapRealVector.java similarity index 91% rename from src/java/org/apache/commons/math/linear/SparseRealVector.java rename to src/java/org/apache/commons/math/linear/OpenMapRealVector.java index d90e5e0c9..6f2c95d0f 100644 --- a/src/java/org/apache/commons/math/linear/SparseRealVector.java +++ b/src/java/org/apache/commons/math/linear/OpenMapRealVector.java @@ -25,7 +25,7 @@ import org.apache.commons.math.util.OpenIntToDoubleHashMap.Iterator; * @version $Revision: 728186 $ $Date$ * @since 2.0 */ -public class SparseRealVector implements RealVector { +public class OpenMapRealVector implements RealVector { /** Serializable version identifier. */ private static final long serialVersionUID = 8772222695580707260L; @@ -46,12 +46,12 @@ public class SparseRealVector implements RealVector { * Build a 0-length vector. *
Zero-length vectors may be used to initialized construction of vectors
* by data gathering. We start with zero-length and use either the {@link
- * #SparseRealVector(SparseRealVector, int)} constructor
+ * #SparseRealVector(OpenMapRealVector, int)} constructor
* or one of the append
method ({@link #append(double)}, {@link
* #append(double[])}, {@link #append(RealVector)}) to gather data
* into this vector.
this
with v
* @throws IllegalArgumentException If the dimensions don't match
*/
- public SparseRealVector add(SparseRealVector v) throws IllegalArgumentException{
+ public OpenMapRealVector add(OpenMapRealVector v) throws IllegalArgumentException{
checkVectorDimensions(v.getDimension());
- SparseRealVector res = (SparseRealVector)copy();
+ OpenMapRealVector res = (OpenMapRealVector)copy();
Iterator iter = v.getEntries().iterator();
while (iter.hasNext()) {
iter.advance();
@@ -253,7 +253,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector add(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- SparseRealVector res = new SparseRealVector(getDimension());
+ OpenMapRealVector res = new OpenMapRealVector(getDimension());
for (int i = 0; i < v.length; i++) {
res.setEntry(i, v[i] + getEntry(i));
}
@@ -265,8 +265,8 @@ public class SparseRealVector implements RealVector {
* @param v vector to append
* @return The result of appending v
to self
*/
- public SparseRealVector append(SparseRealVector v) {
- SparseRealVector res = new SparseRealVector(this, v.getDimension());
+ public OpenMapRealVector append(OpenMapRealVector v) {
+ OpenMapRealVector res = new OpenMapRealVector(this, v.getDimension());
Iterator iter = v.entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -277,22 +277,22 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector append(RealVector v) {
- if (v instanceof SparseRealVector) {
- return append((SparseRealVector) v);
+ if (v instanceof OpenMapRealVector) {
+ return append((OpenMapRealVector) v);
}
return append(v.getData());
}
/** {@inheritDoc} */
public RealVector append(double d) {
- RealVector res = new SparseRealVector(this, 1);
+ RealVector res = new OpenMapRealVector(this, 1);
res.setEntry(virtualSize, d);
return res;
}
/** {@inheritDoc} */
public RealVector append(double[] a) {
- RealVector res = new SparseRealVector(this, a.length);
+ RealVector res = new OpenMapRealVector(this, a.length);
for (int i = 0; i < a.length; i++) {
res.setEntry(i + virtualSize, a[i]);
}
@@ -301,7 +301,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector copy() {
- return new SparseRealVector(this);
+ return new OpenMapRealVector(this);
}
/** {@inheritDoc} */
@@ -335,7 +335,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector ebeDivide(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- SparseRealVector res = new SparseRealVector(this);
+ OpenMapRealVector res = new OpenMapRealVector(this);
Iterator iter = res.entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -347,7 +347,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector ebeDivide(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- SparseRealVector res = new SparseRealVector(this);
+ OpenMapRealVector res = new OpenMapRealVector(this);
Iterator iter = res.entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -359,7 +359,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector ebeMultiply(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- SparseRealVector res = new SparseRealVector(this);
+ OpenMapRealVector res = new OpenMapRealVector(this);
Iterator iter = res.entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -371,7 +371,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector ebeMultiply(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- SparseRealVector res = new SparseRealVector(this);
+ OpenMapRealVector res = new OpenMapRealVector(this);
Iterator iter = res.entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -384,7 +384,7 @@ public class SparseRealVector implements RealVector {
public RealVector getSubVector(int index, int n) throws MatrixIndexException {
checkIndex(index);
checkIndex(index + n - 1);
- SparseRealVector res = new SparseRealVector(n);
+ OpenMapRealVector res = new OpenMapRealVector(n);
int end = index + n;
Iterator iter = entries.iterator();
while (iter.hasNext()) {
@@ -419,7 +419,7 @@ public class SparseRealVector implements RealVector {
* @return The distance from this
and v
* @throws IllegalArgumentException If the dimensions don't match
*/
- public double getDistance(SparseRealVector v) throws IllegalArgumentException {
+ public double getDistance(OpenMapRealVector v) throws IllegalArgumentException {
Iterator iter = entries.iterator();
double res = 0;
while (iter.hasNext()) {
@@ -444,8 +444,8 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public double getDistance(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- if (v instanceof SparseRealVector) {
- return getDistance((SparseRealVector) v);
+ if (v instanceof OpenMapRealVector) {
+ return getDistance((OpenMapRealVector) v);
}
return getDistance(v.getData());
}
@@ -475,7 +475,7 @@ public class SparseRealVector implements RealVector {
* @param v vector to which distance is requested
* @return distance between two vectors.
*/
- public double getL1Distance(SparseRealVector v) {
+ public double getL1Distance(OpenMapRealVector v) {
double max = 0;
Iterator iter = entries.iterator();
while (iter.hasNext()) {
@@ -498,8 +498,8 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public double getL1Distance(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- if (v instanceof SparseRealVector) {
- return getL1Distance((SparseRealVector) v);
+ if (v instanceof OpenMapRealVector) {
+ return getL1Distance((OpenMapRealVector) v);
}
return getL1Distance(v.getData());
}
@@ -531,7 +531,7 @@ public class SparseRealVector implements RealVector {
* @param v The vector to compute from
* @return the LInfDistance
*/
- private double getLInfDistance(SparseRealVector v) {
+ private double getLInfDistance(OpenMapRealVector v) {
double max = 0;
Iterator iter = entries.iterator();
while (iter.hasNext()) {
@@ -557,8 +557,8 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public double getLInfDistance(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- if (v instanceof SparseRealVector) {
- return getLInfDistance((SparseRealVector) v);
+ if (v instanceof OpenMapRealVector) {
+ return getLInfDistance((OpenMapRealVector) v);
}
return getLInfDistance(v.getData());
}
@@ -1032,9 +1032,9 @@ public class SparseRealVector implements RealVector {
* @return The outer product of this
and v
* @throws IllegalArgumentException If the dimensions don't match
*/
- public SparseRealMatrix outerproduct(SparseRealVector v) throws IllegalArgumentException{
+ public OpenMapRealMatrix outerproduct(OpenMapRealVector v) throws IllegalArgumentException{
checkVectorDimensions(v.getDimension());
- SparseRealMatrix res = new SparseRealMatrix(virtualSize, virtualSize);
+ OpenMapRealMatrix res = new OpenMapRealMatrix(virtualSize, virtualSize);
Iterator iter = entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -1051,10 +1051,10 @@ public class SparseRealVector implements RealVector {
public RealMatrix outerProduct(RealVector v)
throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- if (v instanceof SparseRealVector) {
- return outerproduct((SparseRealVector)v);
+ if (v instanceof OpenMapRealVector) {
+ return outerproduct((OpenMapRealVector)v);
}
- RealMatrix res = new SparseRealMatrix(virtualSize, virtualSize);
+ RealMatrix res = new OpenMapRealMatrix(virtualSize, virtualSize);
Iterator iter = entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -1069,7 +1069,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealMatrix outerProduct(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- RealMatrix res = new SparseRealMatrix(virtualSize, virtualSize);
+ RealMatrix res = new OpenMapRealMatrix(virtualSize, virtualSize);
Iterator iter = entries.iterator();
while (iter.hasNext()) {
iter.advance();
@@ -1091,7 +1091,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector projection(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- return projection(new SparseRealVector(v));
+ return projection(new OpenMapRealVector(v));
}
/** {@inheritDoc} */
@@ -1133,9 +1133,9 @@ public class SparseRealVector implements RealVector {
* @return The difference of this
and v
* @throws IllegalArgumentException If the dimensions don't match
*/
- public SparseRealVector subtract(SparseRealVector v) throws IllegalArgumentException{
+ public OpenMapRealVector subtract(OpenMapRealVector v) throws IllegalArgumentException{
checkVectorDimensions(v.getDimension());
- SparseRealVector res = (SparseRealVector)copy();
+ OpenMapRealVector res = (OpenMapRealVector)copy();
Iterator iter = v.getEntries().iterator();
while (iter.hasNext()) {
iter.advance();
@@ -1152,8 +1152,8 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector subtract(RealVector v) throws IllegalArgumentException {
checkVectorDimensions(v.getDimension());
- if (v instanceof SparseRealVector) {
- return subtract((SparseRealVector) v);
+ if (v instanceof OpenMapRealVector) {
+ return subtract((OpenMapRealVector) v);
}
return subtract(v.getData());
}
@@ -1161,7 +1161,7 @@ public class SparseRealVector implements RealVector {
/** {@inheritDoc} */
public RealVector subtract(double[] v) throws IllegalArgumentException {
checkVectorDimensions(v.length);
- SparseRealVector res = new SparseRealVector(this);
+ OpenMapRealVector res = new OpenMapRealVector(this);
for (int i = 0; i < v.length; i++) {
if (entries.containsKey(i)) {
res.setEntry(i, entries.get(i) - v[i]);
@@ -1267,10 +1267,10 @@ public class SparseRealVector implements RealVector {
if (obj == null) {
return false;
}
- if (!(obj instanceof SparseRealVector)) {
+ if (!(obj instanceof OpenMapRealVector)) {
return false;
}
- SparseRealVector other = (SparseRealVector) obj;
+ OpenMapRealVector other = (OpenMapRealVector) obj;
if (virtualSize != other.virtualSize) {
return false;
}