|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object Facemorph.BigMat Facemorph.Gaussian
public class Gaussian
A Gaussian distribution class
Constructor Summary | |
---|---|
Gaussian()
Constructor for an empty Gaussian |
|
Gaussian(double[] mean,
BigMat covar,
boolean invert)
Construct a Gaussian using the data given |
|
Gaussian(int dim)
Constructs a Gaussian for the dimensions specified |
Method Summary | |
---|---|
boolean |
build(java.util.Vector samples)
Builds a Gaussian from a set of arrays |
boolean |
build(java.util.Vector samples,
BigMat dist)
Build a Gaussian from the supplied samples |
double |
build(java.util.Vector samples,
java.util.Vector sampleWeights,
int index)
Builds the mean and covariance matrix from the samples given |
void |
display(java.lang.String label)
DIsplay the eigenvector matrix, the eigenvalue array and the mean |
double[] |
eigenAnalysis(double[] sample)
Analyse the sample into its principal components |
double[] |
eigenSynthesis(double[] sample)
Synthesise a sample with the given principal component weights |
BigMat |
getCovar(boolean invert)
Uses the eigenvalues and eigenvectors to reconstruct the covariance matrix or it inverse |
double[] |
getDiag()
gets the variances of this Gaussian |
double[] |
getMean()
Get the mean of this Gaussian |
double[] |
getRandomSample(java.util.Random rand)
Gets a random vector sampled from this Gaussian distribution |
static void |
main(java.lang.String[] args)
Used for testing |
double |
probability(double[] sample)
Calculates the probability of a sample vector |
boolean |
read(java.io.InputStream in)
Read this Gaussian from the given InputStream |
boolean |
read(java.io.StreamTokenizer st)
Read from the given StreamTokenizer |
void |
setSize(int dim)
Sets the size of this Gaussian |
Gaussian |
slice(double[] sample,
double[] weight)
Takes a slice through the Gaussian, to produce a new Gaussian first "fixed" elements are fixed remaining elements of the Gaussian are used in the new Gaussian |
double[] |
slice1d(double[] start,
double[] direction)
Takes a 1D slice through the Gaussian along the line through start pointing in direction the output Gaussian is centred on start and the units are 1 equals the length of direction |
double |
squaredMeanDistance(double[] sample)
Get the squared distance of the mean from the sample |
double |
T_squared(Gaussian g,
double weight1,
double weight2)
Hotelling's T^2 statistic (the N-D t-test equivalent) |
boolean |
write(java.io.PrintStream out)
Writes this to the given PrintStream |
Methods inherited from class Facemorph.BigMat |
---|
add, add, copy, copy, dotProduct, equals, equals, get, getColumn, getColumnCopy, getHeight, getRowCopy, getWidth, invertSVD, jacobi, magnitude, multiply, multiply, multiply, multiplyOtherTranspose, multiplySelfTranspose, multiplyTranspose, multiplyTranspose, normaliseColumns, normaliseRows, put, qrdcmp, qrdcmp, qrsolv, read, read, readBinary, readBinary, reconstructQR, removeNaNRecords, rsolv, setColumn, setRow, setSize, SIGN, sort, subMat, subMat, subMat, subMatCols, subMatRows, subtract, sumSquares, svbksb, svbksb, svbksbt, svbksbt, svdcmp, svdcmpt, transposeCopy, upperTriangularBacksub, upperTriangularInverseMultiply, vectorise, write, writeBinary, writeBinary |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Gaussian()
public Gaussian(int dim)
dim
- the required dimensionality of this Gaussianpublic Gaussian(double[] mean, BigMat covar, boolean invert)
mean
- The mean vectorcovar
- The covariance matrixinvert
- specifies if the covariane matrix should be invertedMethod Detail |
---|
public void setSize(int dim) throws BigMatException
dim
- The number of dimensions
BigMatException
- thrown if problems setting the matrix sizepublic boolean build(java.util.Vector samples)
samples
- The vector of sample arrays
public boolean build(java.util.Vector samples, BigMat dist)
samples
- the data samplesdist
- The a priri distribution
public double build(java.util.Vector samples, java.util.Vector sampleWeights, int index)
samples
- the Vector of double[] samplessampleWeights
- the Vector of double[] sample weightsindex
- the index in each sampleWeight array of this Gaussian
public BigMat getCovar(boolean invert) throws BigMatException
invert
- flag indicating if the inverse covariance matrix is required
BigMatException
public double[] getMean()
public double[] getDiag()
public double[] eigenAnalysis(double[] sample)
sample
- the sample to analyse
public double[] eigenSynthesis(double[] sample)
sample
- the weights
public double squaredMeanDistance(double[] sample)
sample
- the sample to test
public double probability(double[] sample) throws BigMatException
sample
- The sample to test
BigMatException
public double T_squared(Gaussian g, double weight1, double weight2) throws BigMatException
g
- The Gaussian to compare withweight1
- the weight of this Gaussianweight2
- the weight of g
BigMatException
public double[] getRandomSample(java.util.Random rand)
rand
- A random number generating object
public Gaussian slice(double[] sample, double[] weight) throws BigMatException
sample
- the fixed values of the first n dimensionsweight
- an optional array of size 1 used to store the slice probability, can be null if not needed
BigMatException
public double[] slice1d(double[] start, double[] direction)
start
- the starting pointdirection
- the direction the line is going in
public void display(java.lang.String label)
display
in class BigMat
label
- The label to display with this Gaussianpublic boolean write(java.io.PrintStream out)
write
in class BigMat
out
- the PrintStream to write to
public boolean read(java.io.InputStream in)
in
- the InputStream to read from
public boolean read(java.io.StreamTokenizer st)
read
in class BigMat
st
- the StreamTokenizer to read from
public static void main(java.lang.String[] args) throws BigMatException
args
- the command line arguments
BigMatException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |