Package org.hipparchus.geometry
Interface Vector<S extends Space>
-
- Type Parameters:
S- Type of the space.
- All Superinterfaces:
Point<S>,Serializable
public interface Vector<S extends Space> extends Point<S>
This interface represents a generic vector in a vectorial space or a point in an affine space.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Vector<S>add(double factor, Vector<S> v)Add a scaled vector to the instance.Vector<S>add(Vector<S> v)Add a vector to the instance.doubledistance1(Vector<S> v)Compute the distance between the instance and another vector according to the L1 norm.doubledistanceInf(Vector<S> v)Compute the distance between the instance and another vector according to the L∞ norm.doubledistanceSq(Vector<S> v)Compute the square of the distance between the instance and another vector.doubledotProduct(Vector<S> v)Compute the dot-product of the instance and another vector.doublegetNorm()Get the L2 norm for the vector.doublegetNorm1()Get the L1 norm for the vector.doublegetNormInf()Get the L∞ norm for the vector.doublegetNormSq()Get the square of the norm for the vector.Vector<S>getZero()Get the null vector of the vectorial space or origin point of the affine space.booleanisInfinite()Returns true if any coordinate of this vector is infinite and none are NaN; false otherwiseVector<S>negate()Get the opposite of the instance.Vector<S>normalize()Get a normalized vector aligned with the instance.Vector<S>scalarMultiply(double a)Multiply the instance by a scalar.Vector<S>subtract(double factor, Vector<S> v)Subtract a scaled vector from the instance.Vector<S>subtract(Vector<S> v)Subtract a vector from the instance.StringtoString(NumberFormat format)Get a string representation of this vector.
-
-
-
Method Detail
-
getZero
Vector<S> getZero()
Get the null vector of the vectorial space or origin point of the affine space.- Returns:
- null vector of the vectorial space or origin point of the affine space
-
getNorm1
double getNorm1()
Get the L1 norm for the vector.- Returns:
- L1 norm for the vector
-
getNorm
double getNorm()
Get the L2 norm for the vector.- Returns:
- Euclidean norm for the vector
-
getNormSq
double getNormSq()
Get the square of the norm for the vector.- Returns:
- square of the Euclidean norm for the vector
-
getNormInf
double getNormInf()
Get the L∞ norm for the vector.- Returns:
- L∞ norm for the vector
-
add
Vector<S> add(Vector<S> v)
Add a vector to the instance.- Parameters:
v- vector to add- Returns:
- a new vector
-
add
Vector<S> add(double factor, Vector<S> v)
Add a scaled vector to the instance.- Parameters:
factor- scale factor to apply to v before adding itv- vector to add- Returns:
- a new vector
-
subtract
Vector<S> subtract(Vector<S> v)
Subtract a vector from the instance.- Parameters:
v- vector to subtract- Returns:
- a new vector
-
subtract
Vector<S> subtract(double factor, Vector<S> v)
Subtract a scaled vector from the instance.- Parameters:
factor- scale factor to apply to v before subtracting itv- vector to subtract- Returns:
- a new vector
-
negate
Vector<S> negate()
Get the opposite of the instance.- Returns:
- a new vector which is opposite to the instance
-
normalize
Vector<S> normalize() throws MathRuntimeException
Get a normalized vector aligned with the instance.- Returns:
- a new normalized vector
- Throws:
MathRuntimeException- if the norm is zero
-
scalarMultiply
Vector<S> scalarMultiply(double a)
Multiply the instance by a scalar.- Parameters:
a- scalar- Returns:
- a new vector
-
isInfinite
boolean isInfinite()
Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise- Returns:
- true if any coordinate of this vector is infinite and none are NaN; false otherwise
-
distance1
double distance1(Vector<S> v)
Compute the distance between the instance and another vector according to the L1 norm.Calling this method is equivalent to calling:
q.subtract(p).getNorm1()except that no intermediate vector is built- Parameters:
v- second vector- Returns:
- the distance between the instance and p according to the L1 norm
-
distanceInf
double distanceInf(Vector<S> v)
Compute the distance between the instance and another vector according to the L∞ norm.Calling this method is equivalent to calling:
q.subtract(p).getNormInf()except that no intermediate vector is built- Parameters:
v- second vector- Returns:
- the distance between the instance and p according to the L∞ norm
-
distanceSq
double distanceSq(Vector<S> v)
Compute the square of the distance between the instance and another vector.Calling this method is equivalent to calling:
q.subtract(p).getNormSq()except that no intermediate vector is built- Parameters:
v- second vector- Returns:
- the square of the distance between the instance and p
-
dotProduct
double dotProduct(Vector<S> v)
Compute the dot-product of the instance and another vector.- Parameters:
v- second vector- Returns:
- the dot product this.v
-
toString
String toString(NumberFormat format)
Get a string representation of this vector.- Parameters:
format- the custom format for components- Returns:
- a string representation of this vector
-
-