JSci.maths.vectors
Class Integer3Vector

java.lang.Object
  extended by JSci.maths.vectors.MathVector
      extended by JSci.maths.vectors.AbstractIntegerVector
          extended by JSci.maths.vectors.Integer3Vector
All Implemented Interfaces:
java.io.Serializable, Module.Member, AbelianGroup.Member, Member

public final class Integer3Vector
extends AbstractIntegerVector

An optimised implementation of a 3D integer vector.

See Also:
Serialized Form

Field Summary
protected  int x
           
protected  int y
           
protected  int z
           
 
Fields inherited from class JSci.maths.vectors.MathVector
N
 
Constructor Summary
Integer3Vector()
          Constructs an empty 3-vector.
Integer3Vector(int[] array)
          Constructs a 3-vector.
Integer3Vector(int x, int y, int z)
          Constructs a 3-vector.
 
Method Summary
 AbelianGroup.Member add(AbelianGroup.Member vec)
          Returns the addition of this vector and another.
 AbstractIntegerVector add(AbstractIntegerVector vec)
          Returns the addition of this vector and another.
 boolean equals(java.lang.Object obj, double tol)
          Compares two integer vectors for equality.
 int getComponent(int n)
          Returns a component of this vector.
 double infNorm()
          Returns the linfinity-norm.
 Integer3Vector multiply(Integer3Vector vec)
          Returns the vector product of this vector and another (so(3) algebra).
 AbelianGroup.Member negate()
          Returns the negative of this vector.
 double norm()
          Returns the l2-norm (magnitude).
 double norm(int n)
          Returns the ln-norm.
 AbstractIntegerVector scalarMultiply(int k)
          Returns the multiplication of this vector by a scalar.
 Module.Member scalarMultiply(Ring.Member x)
          Returns the multiplication of this vector by a scalar.
 int scalarProduct(AbstractIntegerVector vec)
          Returns the scalar product of this vector and another.
 void setComponent(int n, int value)
          Sets the value of a component of this vector.
 AbelianGroup.Member subtract(AbelianGroup.Member vec)
          Returns the subtraction of this vector by another.
 AbstractIntegerVector subtract(AbstractIntegerVector vec)
          Returns the subtraction of this vector by another.
 AbstractComplexVector toComplexVector()
          Converts this 3-vector to a complex 3-vector.
 AbstractDoubleVector toDoubleVector()
          Converts this 3-vector to a double 3-vector.
 java.lang.String toString()
          Returns a comma delimited string representing the value of this vector.
 
Methods inherited from class JSci.maths.vectors.AbstractIntegerVector
equals, getSet, hashCode
 
Methods inherited from class JSci.maths.vectors.MathVector
dimension, getInvalidComponentMsg
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

x

protected int x

y

protected int y

z

protected int z
Constructor Detail

Integer3Vector

public Integer3Vector()
Constructs an empty 3-vector.


Integer3Vector

public Integer3Vector(int x,
                      int y,
                      int z)
Constructs a 3-vector.

Parameters:
x - x coordinate.
y - y coordinate.
z - z coordinate.

Integer3Vector

public Integer3Vector(int[] array)
Constructs a 3-vector.

Method Detail

equals

public boolean equals(java.lang.Object obj,
                      double tol)
Compares two integer vectors for equality.

Parameters:
obj - a integer 3-vector

toString

public java.lang.String toString()
Returns a comma delimited string representing the value of this vector.

Overrides:
toString in class AbstractIntegerVector

toDoubleVector

public AbstractDoubleVector toDoubleVector()
Converts this 3-vector to a double 3-vector.

Overrides:
toDoubleVector in class AbstractIntegerVector
Returns:
a double 3-vector

toComplexVector

public AbstractComplexVector toComplexVector()
Converts this 3-vector to a complex 3-vector.

Returns:
a complex 3-vector

getComponent

public int getComponent(int n)
Returns a component of this vector.

Specified by:
getComponent in class AbstractIntegerVector
Parameters:
n - index of the vector component
Throws:
VectorDimensionException - If attempting to access an invalid component.

setComponent

public void setComponent(int n,
                         int value)
Sets the value of a component of this vector. Should only be used to initialise this vector.

Specified by:
setComponent in class AbstractIntegerVector
Parameters:
n - index of the vector component
value - a number
Throws:
VectorDimensionException - If attempting to access an invalid component.

norm

public double norm(int n)
Returns the ln-norm.

Overrides:
norm in class AbstractIntegerVector

norm

public double norm()
Returns the l2-norm (magnitude).

Overrides:
norm in class AbstractIntegerVector

infNorm

public double infNorm()
Returns the linfinity-norm.

Overrides:
infNorm in class AbstractIntegerVector

negate

public AbelianGroup.Member negate()
Returns the negative of this vector.


add

public AbelianGroup.Member add(AbelianGroup.Member vec)
Returns the addition of this vector and another.

Parameters:
vec - a group member

add

public AbstractIntegerVector add(AbstractIntegerVector vec)
Returns the addition of this vector and another.

Specified by:
add in class AbstractIntegerVector
Parameters:
vec - a integer 3-vector

subtract

public AbelianGroup.Member subtract(AbelianGroup.Member vec)
Returns the subtraction of this vector by another.

Parameters:
vec - a group member

subtract

public AbstractIntegerVector subtract(AbstractIntegerVector vec)
Returns the subtraction of this vector by another.

Specified by:
subtract in class AbstractIntegerVector
Parameters:
vec - a integer 3-vector

scalarMultiply

public Module.Member scalarMultiply(Ring.Member x)
Returns the multiplication of this vector by a scalar.

Parameters:
x - a ring member

scalarMultiply

public AbstractIntegerVector scalarMultiply(int k)
Returns the multiplication of this vector by a scalar.

Specified by:
scalarMultiply in class AbstractIntegerVector
Parameters:
k - a integer
Returns:
a integer 3-vector

scalarProduct

public int scalarProduct(AbstractIntegerVector vec)
Returns the scalar product of this vector and another.

Specified by:
scalarProduct in class AbstractIntegerVector
Parameters:
vec - a integer 3-vector

multiply

public Integer3Vector multiply(Integer3Vector vec)
Returns the vector product of this vector and another (so(3) algebra).

Parameters:
vec - a integer 3-vector