Top Description Fields Constructors Methods
org.apache.commons.math3.geometry.euclidean.oned

public Class Vector1D

extends Object
implements Vector<Euclidean1D>
Class Inheritance
All Implemented Interfaces
org.apache.commons.math3.geometry.Vector, org.apache.commons.math3.geometry.Point, java.io.Serializable
Imports
java.text.NumberFormat, org.apache.commons.math3.exception.MathArithmeticException, org.apache.commons.math3.exception.util.LocalizedFormats, org.apache.commons.math3.geometry.Point, .Space, .Vector, org.apache.commons.math3.util.FastMath, .MathUtils

This class represents a 1D vector.

Instances of this class are guaranteed to be immutable.

Since
3.0

Field Summary

Modifier and TypeField and Description
public static final Vector1D
NaN

A vector with all coordinates set to NaN.

public static final Vector1D
NEGATIVE_INFINITY

A vector with all coordinates set to negative infinity.

public static final Vector1D
ONE

Unit (coordinates: 1).

public static final Vector1D
POSITIVE_INFINITY

A vector with all coordinates set to positive infinity.

private static final long
serialVersionUID

Serializable UID.

private final double
x

Abscissa.

public static final Vector1D
ZERO

Origin (coordinates: 0).

Constructor Summary

AccessConstructor and Description
public
Vector1D(double
abscissa
x
)

Simple constructor.

public
Vector1D(double
scale factor
a
,
Vector1D
base (unscaled) vector
u
)

Multiplicative constructor Build a vector from another one and a scale factor.

public
Vector1D(double
first scale factor
a1
,
Vector1D
first base (unscaled) vector
u1
,
double
second scale factor
a2
,
Vector1D
second base (unscaled) vector
u2
)

Linear constructor Build a vector from two other ones and corresponding scale factors.

public
Vector1D(double
first scale factor
a1
,
Vector1D
first base (unscaled) vector
u1
,
double
second scale factor
a2
,
Vector1D
second base (unscaled) vector
u2
,
double
third scale factor
a3
,
Vector1D
third base (unscaled) vector
u3
)

Linear constructor Build a vector from three other ones and corresponding scale factors.

public
Vector1D(double
first scale factor
a1
,
Vector1D
first base (unscaled) vector
u1
,
double
second scale factor
a2
,
Vector1D
second base (unscaled) vector
u2
,
double
third scale factor
a3
,
Vector1D
third base (unscaled) vector
u3
,
double
fourth scale factor
a4
,
Vector1D
fourth base (unscaled) vector
u4
)

Linear constructor Build a vector from four other ones and corresponding scale factors.

Method Summary

Modifier and TypeMethod and Description
public Vector1D
add(Vector<Euclidean1D>
vector to add
v
)

Implements org.apache.commons.math3.geometry.Vector.add.

Add a vector to the instance.

public Vector1D
add(double
scale factor to apply to v before adding it
factor
,
Vector<Euclidean1D>
vector to add
v
)

Implements org.apache.commons.math3.geometry.Vector.add.

Add a scaled vector to the instance.

public double
distance(Vector<Euclidean1D>
second vector
p
)

Implements org.apache.commons.math3.geometry.Vector.distance.

Deprecated as of 3.3, replaced with distance(Point)

Compute the distance between the instance and another vector according to the L2 norm.

public double
distance(Point<Euclidean1D>
second point
p
)

Implements org.apache.commons.math3.geometry.Point.distance.

Compute the distance between the instance and another point.

public static double

Returns:

the distance between p1 and p2 according to the L2 norm
distance
(Vector1D
first vector
p1
,
Vector1D
second vector
p2
)

Compute the distance between two vectors according to the L2 norm.

public double
distance1(Vector<Euclidean1D>
second vector
p
)

Implements org.apache.commons.math3.geometry.Vector.distance1.

Compute the distance between the instance and another vector according to the L1 norm.

public double
distanceInf(Vector<Euclidean1D>
second vector
p
)

Implements org.apache.commons.math3.geometry.Vector.distanceInf.

Compute the distance between the instance and another vector according to the L∞ norm.

public static double

Returns:

the distance between p1 and p2 according to the L∞ norm
distanceInf
(Vector1D
first vector
p1
,
Vector1D
second vector
p2
)

Compute the distance between two vectors according to the L∞ norm.

public double
distanceSq(Vector<Euclidean1D>
second vector
p
)

Implements org.apache.commons.math3.geometry.Vector.distanceSq.

Compute the square of the distance between the instance and another vector.

public static double

Returns:

the square of the distance between p1 and p2
distanceSq
(Vector1D
first vector
p1
,
Vector1D
second vector
p2
)

Compute the square of the distance between two vectors.

public double
dotProduct(final Vector<Euclidean1D>
second vector
v
)

Implements org.apache.commons.math3.geometry.Vector.dotProduct.

Compute the dot-product of the instance and another vector.

public boolean

Returns:

true if two 1D vector objects are equal, false if object is null, not an instance of Vector1D, or not equal to this Vector1D instance
equals
(Object
Object to test for equality to this
other
)

Overrides java.lang.Object.equals.

Test for the equality of two 1D vectors.

public double
getNorm()

Implements org.apache.commons.math3.geometry.Vector.getNorm.

Get the L2 norm for the vector.

public double
getNorm1()

Implements org.apache.commons.math3.geometry.Vector.getNorm1.

Get the L1 norm for the vector.

public double
getNormInf()

Implements org.apache.commons.math3.geometry.Vector.getNormInf.

Get the L∞ norm for the vector.

public double
getNormSq()

Implements org.apache.commons.math3.geometry.Vector.getNormSq.

Get the square of the norm for the vector.

public Space
getSpace()

Implements org.apache.commons.math3.geometry.Point.getSpace.

Get the space to which the point belongs.

public double

Returns:

abscissa of the vector
getX
()

Get the abscissa of the vector.

public Vector1D
getZero()

Implements org.apache.commons.math3.geometry.Vector.getZero.

Get the null vector of the vectorial space or origin point of the affine space.

public int

Returns:

a hash code value for this object
hashCode
()

Overrides java.lang.Object.hashCode.

Get a hashCode for the 1D vector.

public boolean
isInfinite()

Implements org.apache.commons.math3.geometry.Vector.isInfinite.

Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise

public boolean
isNaN()

Implements org.apache.commons.math3.geometry.Point.isNaN.

Returns true if any coordinate of this point is NaN; false otherwise

public Vector1D
negate()

Implements org.apache.commons.math3.geometry.Vector.negate.

Get the opposite of the instance.

public Vector1D
normalize()

Implements org.apache.commons.math3.geometry.Vector.normalize.

Get a normalized vector aligned with the instance.

public Vector1D
scalarMultiply(double
scalar
a
)

Implements org.apache.commons.math3.geometry.Vector.scalarMultiply.

Multiply the instance by a scalar.

public Vector1D
subtract(Vector<Euclidean1D>
vector to subtract
p
)

Implements org.apache.commons.math3.geometry.Vector.subtract.

Subtract a vector from the instance.

public Vector1D
subtract(double
scale factor to apply to v before subtracting it
factor
,
Vector<Euclidean1D>
vector to subtract
v
)

Implements org.apache.commons.math3.geometry.Vector.subtract.

Subtract a scaled vector from the instance.

public String

Returns:

a string representation of this vector
toString
()

Overrides java.lang.Object.toString.

Get a string representation of this vector.

public String
toString(final NumberFormat
the custom format for components
format
)

Implements org.apache.commons.math3.geometry.Vector.toString.

Get a string representation of this vector.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

NaNback to summary
public static final Vector1D NaN

A vector with all coordinates set to NaN.

NEGATIVE_INFINITYback to summary
public static final Vector1D NEGATIVE_INFINITY

A vector with all coordinates set to negative infinity.

ONEback to summary
public static final Vector1D ONE

Unit (coordinates: 1).

POSITIVE_INFINITYback to summary
public static final Vector1D POSITIVE_INFINITY

A vector with all coordinates set to positive infinity.

serialVersionUIDback to summary
private static final long serialVersionUID

Serializable UID.

xback to summary
private final double x

Abscissa.

ZEROback to summary
public static final Vector1D ZERO

Origin (coordinates: 0).

Constructor Detail

Vector1Dback to summary
public Vector1D(double x)

Simple constructor. Build a vector from its coordinates

Parameters
x:double

abscissa

See Also
getX()
Vector1Dback to summary
public Vector1D(double a, Vector1D u)

Multiplicative constructor Build a vector from another one and a scale factor. The vector built will be a * u

Parameters
a:double

scale factor

u:Vector1D

base (unscaled) vector

Vector1Dback to summary
public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2)

Linear constructor Build a vector from two other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2

Parameters
a1:double

first scale factor

u1:Vector1D

first base (unscaled) vector

a2:double

second scale factor

u2:Vector1D

second base (unscaled) vector

Vector1Dback to summary
public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2, double a3, Vector1D u3)

Linear constructor Build a vector from three other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3

Parameters
a1:double

first scale factor

u1:Vector1D

first base (unscaled) vector

a2:double

second scale factor

u2:Vector1D

second base (unscaled) vector

a3:double

third scale factor

u3:Vector1D

third base (unscaled) vector

Vector1Dback to summary
public Vector1D(double a1, Vector1D u1, double a2, Vector1D u2, double a3, Vector1D u3, double a4, Vector1D u4)

Linear constructor Build a vector from four other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4

Parameters
a1:double

first scale factor

u1:Vector1D

first base (unscaled) vector

a2:double

second scale factor

u2:Vector1D

second base (unscaled) vector

a3:double

third scale factor

u3:Vector1D

third base (unscaled) vector

a4:double

fourth scale factor

u4:Vector1D

fourth base (unscaled) vector

Method Detail

addback to summary
public Vector1D add(Vector<Euclidean1D> v)

Implements org.apache.commons.math3.geometry.Vector.add.

Doc from org.apache.commons.math3.geometry.Vector.add.

Add a vector to the instance.

Parameters
v:Vector<Euclidean1D>

vector to add

Returns:Vector1D

a new vector

addback to summary
public Vector1D add(double factor, Vector<Euclidean1D> v)

Implements org.apache.commons.math3.geometry.Vector.add.

Doc from org.apache.commons.math3.geometry.Vector.add.

Add a scaled vector to the instance.

Parameters
factor:double

scale factor to apply to v before adding it

v:Vector<Euclidean1D>

vector to add

Returns:Vector1D

a new vector

distanceback to summary
public double distance(Vector<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Vector.distance.

Doc from org.apache.commons.math3.geometry.Vector.distance.

Deprecated

as of 3.3, replaced with distance(Point)

Compute the distance between the instance and another vector according to the L2 norm.

Calling this method is equivalent to calling: q.subtract(p).getNorm() except that no intermediate vector is built

Parameters
p:Vector<Euclidean1D>

second vector

Returns:double

the distance between the instance and p according to the L2 norm

Annotations
@Deprecated
distanceback to summary
public double distance(Point<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Point.distance.

Doc from org.apache.commons.math3.geometry.Point.distance.

Compute the distance between the instance and another point.

Parameters
p:Point<Euclidean1D>

second point

Returns:double

the distance between the instance and p

distanceback to summary
public static double distance(Vector1D p1, Vector1D p2)

Compute the distance between two vectors according to the L2 norm.

Calling this method is equivalent to calling: p1.subtract(p2).getNorm() except that no intermediate vector is built

Parameters
p1:Vector1D

first vector

p2:Vector1D

second vector

Returns:double

the distance between p1 and p2 according to the L2 norm

distance1back to summary
public double distance1(Vector<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Vector.distance1.

Doc from org.apache.commons.math3.geometry.Vector.distance1.

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
p:Vector<Euclidean1D>

second vector

Returns:double

the distance between the instance and p according to the L1 norm

distanceInfback to summary
public double distanceInf(Vector<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Vector.distanceInf.

Doc from org.apache.commons.math3.geometry.Vector.distanceInf.

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
p:Vector<Euclidean1D>

second vector

Returns:double

the distance between the instance and p according to the L∞ norm

distanceInfback to summary
public static double distanceInf(Vector1D p1, Vector1D p2)

Compute the distance between two vectors according to the L∞ norm.

Calling this method is equivalent to calling: p1.subtract(p2).getNormInf() except that no intermediate vector is built

Parameters
p1:Vector1D

first vector

p2:Vector1D

second vector

Returns:double

the distance between p1 and p2 according to the L∞ norm

distanceSqback to summary
public double distanceSq(Vector<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Vector.distanceSq.

Doc from org.apache.commons.math3.geometry.Vector.distanceSq.

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
p:Vector<Euclidean1D>

second vector

Returns:double

the square of the distance between the instance and p

distanceSqback to summary
public static double distanceSq(Vector1D p1, Vector1D p2)

Compute the square of the distance between two vectors.

Calling this method is equivalent to calling: p1.subtract(p2).getNormSq() except that no intermediate vector is built

Parameters
p1:Vector1D

first vector

p2:Vector1D

second vector

Returns:double

the square of the distance between p1 and p2

dotProductback to summary
public double dotProduct(final Vector<Euclidean1D> v)

Implements org.apache.commons.math3.geometry.Vector.dotProduct.

Doc from org.apache.commons.math3.geometry.Vector.dotProduct.

Compute the dot-product of the instance and another vector.

Parameters
v:Vector<Euclidean1D>

second vector

Returns:double

the dot product this.v

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Test for the equality of two 1D vectors.

If all coordinates of two 1D vectors are exactly the same, and none are Double.NaN, the two 1D vectors are considered to be equal.

NaN coordinates are considered to affect globally the vector and be equals to each other - i.e, if either (or all) coordinates of the 1D vector are equal to Double.NaN, the 1D vector is equal to NaN.

Parameters
other:Object

Object to test for equality to this

Returns:boolean

true if two 1D vector objects are equal, false if object is null, not an instance of Vector1D, or not equal to this Vector1D instance

Annotations
@Override
getNormback to summary
public double getNorm()

Implements org.apache.commons.math3.geometry.Vector.getNorm.

Doc from org.apache.commons.math3.geometry.Vector.getNorm.

Get the L2 norm for the vector.

Returns:double

Euclidean norm for the vector

getNorm1back to summary
public double getNorm1()

Implements org.apache.commons.math3.geometry.Vector.getNorm1.

Doc from org.apache.commons.math3.geometry.Vector.getNorm1.

Get the L1 norm for the vector.

Returns:double

L1 norm for the vector

getNormInfback to summary
public double getNormInf()

Implements org.apache.commons.math3.geometry.Vector.getNormInf.

Doc from org.apache.commons.math3.geometry.Vector.getNormInf.

Get the L∞ norm for the vector.

Returns:double

L∞ norm for the vector

getNormSqback to summary
public double getNormSq()

Implements org.apache.commons.math3.geometry.Vector.getNormSq.

Doc from org.apache.commons.math3.geometry.Vector.getNormSq.

Get the square of the norm for the vector.

Returns:double

square of the Euclidean norm for the vector

getSpaceback to summary
public Space getSpace()

Implements org.apache.commons.math3.geometry.Point.getSpace.

Doc from org.apache.commons.math3.geometry.Point.getSpace.

Get the space to which the point belongs.

Returns:Space

containing space

getXback to summary
public double getX()

Get the abscissa of the vector.

Returns:double

abscissa of the vector

See Also
Vector1D(double)
getZeroback to summary
public Vector1D getZero()

Implements org.apache.commons.math3.geometry.Vector.getZero.

Doc from org.apache.commons.math3.geometry.Vector.getZero.

Get the null vector of the vectorial space or origin point of the affine space.

Returns:Vector1D

null vector of the vectorial space or origin point of the affine space

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Get a hashCode for the 1D vector.

All NaN values have the same hash code.

Returns:int

a hash code value for this object

Annotations
@Override
isInfiniteback to summary
public boolean isInfinite()

Implements org.apache.commons.math3.geometry.Vector.isInfinite.

Doc from org.apache.commons.math3.geometry.Vector.isInfinite.

Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise

Returns:boolean

true if any coordinate of this vector is infinite and none are NaN; false otherwise

isNaNback to summary
public boolean isNaN()

Implements org.apache.commons.math3.geometry.Point.isNaN.

Doc from org.apache.commons.math3.geometry.Point.isNaN.

Returns true if any coordinate of this point is NaN; false otherwise

Returns:boolean

true if any coordinate of this point is NaN; false otherwise

negateback to summary
public Vector1D negate()

Implements org.apache.commons.math3.geometry.Vector.negate.

Doc from org.apache.commons.math3.geometry.Vector.negate.

Get the opposite of the instance.

Returns:Vector1D

a new vector which is opposite to the instance

normalizeback to summary
public Vector1D normalize() throws MathArithmeticException

Implements org.apache.commons.math3.geometry.Vector.normalize.

Doc from org.apache.commons.math3.geometry.Vector.normalize.

Get a normalized vector aligned with the instance.

Returns:Vector1D

a new normalized vector

Exceptions
MathArithmeticException:
if the norm is zero
scalarMultiplyback to summary
public Vector1D scalarMultiply(double a)

Implements org.apache.commons.math3.geometry.Vector.scalarMultiply.

Doc from org.apache.commons.math3.geometry.Vector.scalarMultiply.

Multiply the instance by a scalar.

Parameters
a:double

scalar

Returns:Vector1D

a new vector

subtractback to summary
public Vector1D subtract(Vector<Euclidean1D> p)

Implements org.apache.commons.math3.geometry.Vector.subtract.

Doc from org.apache.commons.math3.geometry.Vector.subtract.

Subtract a vector from the instance.

Parameters
p:Vector<Euclidean1D>

vector to subtract

Returns:Vector1D

a new vector

subtractback to summary
public Vector1D subtract(double factor, Vector<Euclidean1D> v)

Implements org.apache.commons.math3.geometry.Vector.subtract.

Doc from org.apache.commons.math3.geometry.Vector.subtract.

Subtract a scaled vector from the instance.

Parameters
factor:double

scale factor to apply to v before subtracting it

v:Vector<Euclidean1D>

vector to subtract

Returns:Vector1D

a new vector

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Get a string representation of this vector.

Returns:String

a string representation of this vector

Annotations
@Override
toStringback to summary
public String toString(final NumberFormat format)

Implements org.apache.commons.math3.geometry.Vector.toString.

Doc from org.apache.commons.math3.geometry.Vector.toString.

Get a string representation of this vector.

Parameters
format:NumberFormat

the custom format for components

Returns:String

a string representation of this vector