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 MAVector
copy()
Create a new MAVector that is the same as this one, with a copy of the backing store.double
cos(MAVector v)
Cos between two vectors = dot(v) / norm() * norm(v)double
dot(MAVector v)
Dot product of 2 vectorsdouble
getDouble(int i)
int
getNelems()
double
norm()
Get the L2 norm of this vector.void
normalize()
Normalize this vector, so it has norm = 1.0.void
setDouble(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.
-
-