jsci.maths.vectors
Class Complex2Vector
- java.lang.Object
-
- jsci.maths.vectors.MathVector
-
- jsci.maths.vectors.AbstractComplexVector
-
- jsci.maths.vectors.Complex2Vector
-
- All Implemented Interfaces:
- java.io.Serializable, BanachSpace.Member, HilbertSpace.Member, Module.Member, VectorSpace.Member, AbelianGroup.Member, Member
public final class Complex2Vector extends AbstractComplexVector
An optimised implementation of a 2D complex vector.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description Complex2Vector()Constructs an empty 2-vector.Complex2Vector(Complex x, Complex y)Constructs a 2-vector.Complex2Vector(double xRe, double xIm, double yRe, double yIm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description AbelianGroup.Memberadd(AbelianGroup.Member vec)Returns the addition of this vector and another.AbstractComplexVectoradd(AbstractComplexVector vec)Returns the addition of this vector and another.AbstractComplexVectoradd(AbstractDoubleVector vec)Returns the addition of this vector and another.AbstractComplexVectoradd(AbstractIntegerVector vec)Returns the addition of this vector and another.AbstractComplexVectorconjugate()Returns the complex conjugate of this vector.booleanequals(java.lang.Object obj, double tol)Compares two complex vectors for equality.ComplexgetComponent(int n)Returns a component of this vector.doublegetImagComponent(int n)doublegetRealComponent(int n)AbstractDoubleVectorimag()Returns the imaginary part of this complex 2-vector.doubleinfNorm()Returns the l
-norm.AbstractComplexVectormapComponents(ComplexMapping mapping)Applies a function on all the vector components.AbelianGroup.Membernegate()Returns the negative of this vector.doublenorm()Returns the l2-norm (magnitude).AbstractDoubleVectorreal()Returns the real part of this complex 2-vector.AbstractComplexVectorscalarDivide(Complex z)Returns the division of this vector by a scalar.AbstractComplexVectorscalarDivide(double k)Returns the division of this vector by a scalar.VectorSpace.MemberscalarDivide(Field.Member x)Returns the division of this vector by a scalar.AbstractComplexVectorscalarMultiply(Complex z)Returns the multiplication of this vector by a scalar.AbstractComplexVectorscalarMultiply(double k)Returns the multiplication of this vector by a scalar.Module.MemberscalarMultiply(Ring.Member x)Returns the multiplication of this vector by a scalar.ComplexscalarProduct(AbstractComplexVector vec)Returns the scalar product of this vector and another.ComplexscalarProduct(Complex2Vector vec)Returns the scalar product of this vector and another.ComplexscalarProduct(HilbertSpace.Member vec)Returns the scalar product of this vector and another.voidsetComponent(int n, Complex z)Sets the value of a component of this vector.voidsetComponent(int n, double x, double y)Sets the value of a component of this vector.AbelianGroup.Membersubtract(AbelianGroup.Member vec)Returns the subtraction of this vector by another.AbstractComplexVectorsubtract(AbstractComplexVector vec)Returns the subtraction of this vector by another.AbstractComplexVectorsubtract(AbstractDoubleVector vec)Returns the subtraction of this vector by another.AbstractComplexVectorsubtract(AbstractIntegerVector vec)Returns the subtraction of this vector by another.java.lang.StringtoString()Returns a comma delimited string representing the value of this vector.-
Methods inherited from class jsci.maths.vectors.AbstractComplexVector
equals, getSet, hashCode, normalize
-
Methods inherited from class jsci.maths.vectors.MathVector
dimension
-
-
-
-
Constructor Detail
-
Complex2Vector
public Complex2Vector()
Constructs an empty 2-vector.
-
Complex2Vector
public Complex2Vector(Complex x, Complex y)
Constructs a 2-vector.- Parameters:
x- x coordinate.y- y coordinate.
-
Complex2Vector
public Complex2Vector(double xRe, double xIm, double yRe, double yIm)
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object obj, double tol)Compares two complex vectors for equality.- Overrides:
equalsin classAbstractComplexVector- Parameters:
obj- a complex 2-vector
-
toString
public java.lang.String toString()
Returns a comma delimited string representing the value of this vector.- Overrides:
toStringin classAbstractComplexVector
-
real
public AbstractDoubleVector real()
Returns the real part of this complex 2-vector.- Specified by:
realin classAbstractComplexVector
-
imag
public AbstractDoubleVector imag()
Returns the imaginary part of this complex 2-vector.- Specified by:
imagin classAbstractComplexVector
-
getComponent
public Complex getComponent(int n)
Returns a component of this vector.- Specified by:
getComponentin classAbstractComplexVector- Parameters:
n- index of the vector component- Throws:
VectorDimensionException- If attempting to access an invalid component.
-
getRealComponent
public double getRealComponent(int n)
- Specified by:
getRealComponentin classAbstractComplexVector
-
getImagComponent
public double getImagComponent(int n)
- Specified by:
getImagComponentin classAbstractComplexVector
-
setComponent
public void setComponent(int n, Complex z)Sets the value of a component of this vector. Should only be used to initialise this vector.- Specified by:
setComponentin classAbstractComplexVector- Parameters:
n- index of the vector componentz- a complex number- Throws:
VectorDimensionException- If attempting to access an invalid component.
-
setComponent
public void setComponent(int n, double x, double y)Sets the value of a component of this vector. Should only be used to initialise this vector.- Specified by:
setComponentin classAbstractComplexVector- Parameters:
n- index of the vector componentx- the real part of a complex numbery- the imaginary part of a complex number- Throws:
VectorDimensionException- If attempting to access an invalid component.
-
norm
public double norm()
Returns the l2-norm (magnitude).- Specified by:
normin interfaceBanachSpace.Member- Overrides:
normin classAbstractComplexVector
-
infNorm
public double infNorm()
Returns the l
-norm.- Overrides:
infNormin classAbstractComplexVector
-
negate
public AbelianGroup.Member negate()
Returns the negative of this vector.
-
conjugate
public AbstractComplexVector conjugate()
Returns the complex conjugate of this vector.- Specified by:
conjugatein classAbstractComplexVector- Returns:
- a complex 2-vector
-
add
public AbelianGroup.Member add(AbelianGroup.Member vec)
Returns the addition of this vector and another.- Parameters:
vec- a group member
-
add
public AbstractComplexVector add(AbstractComplexVector vec)
Returns the addition of this vector and another.- Specified by:
addin classAbstractComplexVector- Parameters:
vec- a complex 2-vector
-
add
public AbstractComplexVector add(AbstractDoubleVector vec)
Returns the addition of this vector and another.- Parameters:
vec- a double 2-vector
-
add
public AbstractComplexVector add(AbstractIntegerVector vec)
Returns the addition of this vector and another.- Parameters:
vec- an integer 2-vector
-
subtract
public AbelianGroup.Member subtract(AbelianGroup.Member vec)
Returns the subtraction of this vector by another.- Parameters:
vec- a group member
-
subtract
public AbstractComplexVector subtract(AbstractComplexVector vec)
Returns the subtraction of this vector by another.- Specified by:
subtractin classAbstractComplexVector- Parameters:
vec- a complex 2-vector
-
subtract
public AbstractComplexVector subtract(AbstractDoubleVector vec)
Returns the subtraction of this vector by another.- Parameters:
vec- a double 2-vector
-
subtract
public AbstractComplexVector subtract(AbstractIntegerVector vec)
Returns the subtraction of this vector by another.- Parameters:
vec- an integer 2-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 AbstractComplexVector scalarMultiply(Complex z)
Returns the multiplication of this vector by a scalar.- Specified by:
scalarMultiplyin classAbstractComplexVector- Parameters:
z- a complex number- Returns:
- a complex 2-vector
-
scalarMultiply
public AbstractComplexVector scalarMultiply(double k)
Returns the multiplication of this vector by a scalar.- Specified by:
scalarMultiplyin classAbstractComplexVector- Parameters:
k- a double- Returns:
- a complex 2-vector
-
scalarDivide
public VectorSpace.Member scalarDivide(Field.Member x)
Returns the division of this vector by a scalar.- Parameters:
x- a field member
-
scalarDivide
public AbstractComplexVector scalarDivide(Complex z)
Returns the division of this vector by a scalar.- Specified by:
scalarDividein classAbstractComplexVector- Parameters:
z- a complex number- Returns:
- a complex 2-vector
- Throws:
java.lang.ArithmeticException- If divide by zero.
-
scalarDivide
public AbstractComplexVector scalarDivide(double k)
Returns the division of this vector by a scalar.- Specified by:
scalarDividein classAbstractComplexVector- Parameters:
k- a double- Returns:
- a complex 2-vector
- Throws:
java.lang.ArithmeticException- If divide by zero.
-
scalarProduct
public Complex scalarProduct(HilbertSpace.Member vec)
Returns the scalar product of this vector and another.- Parameters:
vec- a Hilbert space vector
-
scalarProduct
public Complex scalarProduct(AbstractComplexVector vec)
Returns the scalar product of this vector and another.- Specified by:
scalarProductin classAbstractComplexVector- Parameters:
vec- a complex vector- Throws:
VectorDimensionException- If the vectors are different sizes.
-
scalarProduct
public Complex scalarProduct(Complex2Vector vec)
Returns the scalar product of this vector and another.- Parameters:
vec- a complex 2-vector
-
mapComponents
public AbstractComplexVector mapComponents(ComplexMapping mapping)
Applies a function on all the vector components.- Specified by:
mapComponentsin classAbstractComplexVector- Parameters:
mapping- a user-defined function- Returns:
- a complex 2-vector
-
-
DMelt 3.0 © DataMelt by jWork.ORG