public class ArrayVect1f extends java.lang.Object implements Vect
Modifier and Type | Field and Description |
---|---|
protected float[] |
_data
Array of wrapped data
|
protected int |
_firstSample
This is the first sample to treat as non-zero.
|
protected double |
_variance
Variance of each ArrayVect1f
|
Modifier | Constructor and Description |
---|---|
protected |
ArrayVect1f()
Constructor for derived classes that call init()
|
|
ArrayVect1f(float[] data,
int firstSample,
double variance)
Construct from an array of data.
|
Modifier and Type | Method and Description |
---|---|
void |
add(double scaleThis,
double scaleOther,
VectConst other)
Add a scaled version of another vector to a scaled version of this
vector.
|
ArrayVect1f |
clone() |
void |
constrain()
Optionally apply a hard constraint (such as an inequality)
to the current vector.
|
void |
dispose()
Optionally free any resources held by this object.
|
double |
dot(VectConst other)
Return the Cartesian dot product of this vector with another
vector (not including any inverse covariance).
|
static void |
extractContainer(float[][] data,
VectContainer container)
Extract 2D array from a VectContainer with instances of ArrayVect1f.
|
static void |
fillContainer(VectContainer container,
int[] firstSamples,
float[][] data,
double variance)
Fill a VectContainer with instances of ArrayVect1f
from a 2D array.
|
float[] |
getData()
Get the embedded data
|
int |
getFirstSample()
This is the first sample to treat as non-zero.
|
int |
getSize()
Return the size of the embedded array
|
protected void |
init(float[] data,
int firstSample,
double variance)
Construct from an array of data.
|
double |
magnitude()
This is the dot product of the vector with
itself premultiplied by the inverse covariance.
|
void |
multiplyInverseCovariance()
Optionally multiply a vector by the inverse covariance matrix.
|
void |
postCondition()
Apply a linear filter that enhances components that should
be optimized first, and suppresses components of lesser importance.
|
void |
project(double scaleThis,
double scaleOther,
VectConst other)
Project another vector onto the space of this vector,
then scale, and add to a scaled version of this vector.
|
void |
setData(float[] data)
Set the internal data array to new values.
|
java.lang.String |
toString() |
protected transient float[] _data
protected transient double _variance
protected transient int _firstSample
public ArrayVect1f(float[] data, int firstSample, double variance)
data
- This is the data that will be manipulated.firstSample
- This is the first sample to treat as non-zero.
Earlier samples should be constrained to zero.variance
- The method multiplyInverseCovariance()
will divide all samples by this number. Pass a value
of 1 if you do not care.protected ArrayVect1f()
protected final void init(float[] data, int firstSample, double variance)
data
- This is the data that will be manipulated.firstSample
- This is the first sample to treat as non-zero.
Earlier samples should be constrained to zero.variance
- The method multiplyInverseCovariance()
will divide all samples by this number. Pass a value
of 1 if you do not care.public int getFirstSample()
public int getSize()
public float[] getData()
public void setData(float[] data)
data
- Copy this data into the internal wrapped array.public static void fillContainer(VectContainer container, int[] firstSamples, float[][] data, double variance)
container
- Container to be filled with instances of float[]
wrapped as ArrayVect1f.data
- Array of data to be wrapped.firstSamples
- Array of first non-zero samples in each array.variance
- Variance of each ArrayVect1fpublic static void extractContainer(float[][] data, VectContainer container)
data
- Array of data to be extracted.container
- Container of ArrayVect1f to be extracted from.public ArrayVect1f clone()
public java.lang.String toString()
toString
in class java.lang.Object
public double dot(VectConst other)
VectConst
public void dispose()
Vect
public void multiplyInverseCovariance()
Vect
multiplyInverseCovariance
in interface Vect
public void constrain()
Vect
public void add(double scaleThis, double scaleOther, VectConst other)
Vect
public void project(double scaleThis, double scaleOther, VectConst other)
Vect
public double magnitude()
VectConst
Vect vect = (Vect) this.clone(); vect.multiplyInverseCovariance(); return this.dot(vect);But you can usually avoid the clone.
public void postCondition()
Vect
postCondition
in interface Vect