public final class ACG_Distribution extends java.lang.Object implements AxialDistribution
9.4.4 of Mardia and Jupp ("Directional Statistics", Wiley, 2000)
Constructor and Description |
---|
ACG_Distribution(RealMatrix A,
java.util.Random r) |
ACG_Distribution(Vector3D[] evecs,
double[] sigmaSqs,
java.util.Random r) |
Modifier and Type | Method and Description |
---|---|
Vector3D[] |
eigenvectors() |
double |
logPDF(Vector3D x)
Gets the log pdf of the distribution.
|
Vector3D |
nextVector()
Gets the next Vector from the distribution.
|
double |
pdf(Vector3D x)
Gets the pdf of the distribution.
|
double[] |
sigmas() |
java.lang.String |
toString() |
public ACG_Distribution(RealMatrix A, java.util.Random r)
A
- the covariance matrix of a Gaussian distribution N(0,A).r
- a Random number generator used for the generation of samples.public ACG_Distribution(Vector3D[] evecs, double[] sigmaSqs, java.util.Random r)
evecs
- the eigenvectors of A, ordered by the associated eigenvalue, with
the greatest first.sigmaSqs
- eigenvalues of A, in descending order, such that sigmaSqs[i]
corresponds to evecs[i]
.r
- a Random number generator used for the generation of samples.public double pdf(Vector3D x)
pdf
in interface AxialDistribution
x
- a unit vector on the unit sphere.public double logPDF(Vector3D x)
x
- a unit vector on the unit sphere.public Vector3D nextVector()
AxialDistribution
nextVector
in interface AxialDistribution
public java.lang.String toString()
toString
in class java.lang.Object
public Vector3D[] eigenvectors()
public double[] sigmas()