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.double
distance1(Vector<S> v)
Compute the distance between the instance and another vector according to the L1 norm.double
distanceInf(Vector<S> v)
Compute the distance between the instance and another vector according to the L∞ norm.double
distanceSq(Vector<S> v)
Compute the square of the distance between the instance and another vector.double
dotProduct(Vector<S> v)
Compute the dot-product of the instance and another vector.double
getNorm()
Get the L2 norm for the vector.double
getNorm1()
Get the L1 norm for the vector.double
getNormInf()
Get the L∞ norm for the vector.double
getNormSq()
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.boolean
isInfinite()
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.String
toString(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
-
-