Package ucar.ma2
Class MAVector
- java.lang.Object
-
- ucar.ma2.MAVector
-
public class MAVector extends Object
Abstraction for vector operations. A vector is a rank-1 Array. All operations done in double precision
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MAVectorcopy()Create a new MAVector that is the same as this one, with a copy of the backing store.doublecos(MAVector v)Cos between two vectors = dot(v) / norm() * norm(v)doubledot(MAVector v)Dot product of 2 vectorsdoublegetDouble(int i)intgetNelems()doublenorm()Get the L2 norm of this vector.voidnormalize()Normalize this vector, so it has norm = 1.0.voidsetDouble(int i, double val)
-
-
-
Constructor Detail
-
MAVector
public MAVector(double[] values)
Create an MAVector out of a double array
-
MAVector
public MAVector(int nelems)
Create an MAVector of the given length.
-
MAVector
public MAVector(Array a)
Create an MAVector using the given rank-1 array.- Parameters:
a- rank-1 array- Throws:
IllegalArgumentException- is a is not rank 1
-
-
Method Detail
-
getNelems
public int getNelems()
-
getDouble
public double getDouble(int i)
-
setDouble
public void setDouble(int i, double val)
-
copy
public MAVector copy()
Create a new MAVector that is the same as this one, with a copy of the backing store.
-
cos
public double cos(MAVector v)
Cos between two vectors = dot(v) / norm() * norm(v)- Parameters:
v- cosine with this vector- Returns:
- double result: cos between this and v
- Throws:
IllegalArgumentException- if nelems != v.getNelems().
-
dot
public double dot(MAVector v)
Dot product of 2 vectors- Parameters:
v- dot product with this vector- Returns:
- double result: dot product
- Throws:
IllegalArgumentException- if nelems != v.getNelems().
-
norm
public double norm()
Get the L2 norm of this vector.- Returns:
- double norm
-
normalize
public void normalize()
Normalize this vector, so it has norm = 1.0.
-
-