org.apache.commons.math3.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

Methods Modifier and Type Method and 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`

**distance**(Vector<S> v)Compute the distance between the instance and another vector according to the L_{2}norm.`double`

**distance1**(Vector<S> v)Compute the distance between the instance and another vector according to the L_{1}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 L_{2}norm for the vector.`double`

**getNorm1**()Get the L_{1}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 otherwise`Vector<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 L_{1}norm for the vector.- Returns:
- L
_{1}norm for the vector

#### getNorm

double getNorm()

Get the L_{2}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 it`v`

- 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 it`v`

- 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 MathArithmeticException

Get a normalized vector aligned with the instance.- Returns:
- a new normalized vector
- Throws:
`MathArithmeticException`

- 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 L_{1}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 L
_{1}norm

#### distance

double distance(Vector<S> v)

Compute the distance between the instance and another vector according to the L_{2}norm.Calling this method is equivalent to calling:

`q.subtract(p).getNorm()`

except that no intermediate vector is built- Parameters:
`v`

- second vector- Returns:
- the distance between the instance and p according to the L
_{2}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

**SCaVis 2.1 © jWork.ORG**