Package org.jscience.mathematics.vector
Class Vector<F extends Field<F>>
- java.lang.Object
-
- org.jscience.mathematics.vector.Vector<F>
-
- All Implemented Interfaces:
javolution.lang.Immutable,javolution.lang.Realtime,javolution.lang.ValueType,GroupAdditive<Vector<F>>,Structure<Vector<F>>,VectorSpace<Vector<F>,F>
- Direct Known Subclasses:
AbstractParamVector,ComplexVector,DenseVector,Float64Vector,SparseVector
public abstract class Vector<F extends Field<F>> extends java.lang.Object implements VectorSpace<Vector<F>,F>, javolution.lang.ValueType, javolution.lang.Realtime
This class represents an immutable element of a vector space.
- Version:
- 3.3, January 2, 2007
- Author:
- Jean-Marie Dautelle
- See Also:
- Wikipedia: Vector Space
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract Vector<F>copy()Returns a copy of this vectorallocatedby the calling thread (possibly on the stack).Vector<F>cross(Vector<F> that)Returns the cross product of two 3-dimensional vectors.booleanequals(java.lang.Object that)Indicates if this vector is equal to the object specified.booleanequals(Vector<F> that, java.util.Comparator<F> cmp)Indicates if this vector can be considered equals to the one specified using the specified comparator when testing for element equality.abstract Fget(int i)Returns a single element from this vector.abstract intgetDimension()Returns the number of elements held by this vector.inthashCode()Returns a hash code value for this vector.Vector<F>minus(Vector<F> that)Returns the difference between this vector and the one specified.abstract Vector<F>opposite()Returns the negation of this vector.abstract Vector<F>plus(Vector<F> that)Returns the sum of this vector with the one specified.abstract Vector<F>times(F k)Returns the product of this vector with the specified coefficient.abstract Ftimes(Vector<F> that)Returns the dot product of this vector with the one specified.java.lang.StringtoString()Returns the text representation of this vector as ajava.lang.String.javolution.text.TexttoText()Returns the text representation of this vector.
-
-
-
Method Detail
-
getDimension
public abstract int getDimension()
Returns the number of elements held by this vector.- Returns:
- this vector dimension.
-
get
public abstract F get(int i)
Returns a single element from this vector.- Parameters:
i- the element index (range [0..n[).- Returns:
- the element at
i. - Throws:
java.lang.IndexOutOfBoundsException-(i < 0) || (i >= size())
-
opposite
public abstract Vector<F> opposite()
Returns the negation of this vector.- Specified by:
oppositein interfaceGroupAdditive<F extends Field<F>>- Returns:
-this.
-
plus
public abstract Vector<F> plus(Vector<F> that)
Returns the sum of this vector with the one specified.- Specified by:
plusin interfaceGroupAdditive<F extends Field<F>>- Parameters:
that- the vector to be added.- Returns:
this + that.- Throws:
DimensionException- is vectors dimensions are different.
-
minus
public Vector<F> minus(Vector<F> that)
Returns the difference between this vector and the one specified.- Parameters:
that- the vector to be subtracted.- Returns:
this - that.
-
times
public abstract Vector<F> times(F k)
Returns the product of this vector with the specified coefficient.
-
times
public abstract F times(Vector<F> that)
Returns the dot product of this vector with the one specified.- Parameters:
that- the vector multiplier.- Returns:
this · that- Throws:
DimensionException- ifthis.dimension() != that.dimension()- See Also:
- Wikipedia: Dot Product
-
cross
public Vector<F> cross(Vector<F> that)
Returns the cross product of two 3-dimensional vectors.- Parameters:
that- the vector multiplier.- Returns:
this x that- Throws:
DimensionException- if(this.getDimension() != 3) && (that.getDimension() != 3)
-
toText
public javolution.text.Text toText()
Returns the text representation of this vector.- Specified by:
toTextin interfacejavolution.lang.Realtime- Returns:
- the text representation of this vector.
-
toString
public final java.lang.String toString()
Returns the text representation of this vector as ajava.lang.String.- Overrides:
toStringin classjava.lang.Object- Returns:
toText().toString()
-
equals
public boolean equals(Vector<F> that, java.util.Comparator<F> cmp)
Indicates if this vector can be considered equals to the one specified using the specified comparator when testing for element equality. The specified comparator may allow for some tolerance in the difference between the vector elements.- Parameters:
that- the vector to compare for equality.cmp- the comparator to use when testing for element equality.- Returns:
trueif this vector and the specified matrix are both vector with equal elements according to the specified comparator;falseotherwise.
-
equals
public boolean equals(java.lang.Object that)
Indicates if this vector is equal to the object specified.- Overrides:
equalsin classjava.lang.Object- Parameters:
that- the object to compare for equality.- Returns:
trueif this vector and the specified object are both vectors with equal elements;falseotherwise.
-
hashCode
public int hashCode()
Returns a hash code value for this vector. Equals objects have equal hash codes.- Overrides:
hashCodein classjava.lang.Object- Returns:
- this vector hash code value.
- See Also:
equals(org.jscience.mathematics.vector.Vector<F>, java.util.Comparator<F>)
-
-