|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--javaslam.util.Flops
A class containing methods for counting floating point operations.
| Field Summary | |
static boolean |
countFlops
A flag that determines whether count(long) will
increment the flop count. |
protected static long |
flops
A counter of the number of floating-point operations performed. |
| Constructor Summary | |
Flops()
|
|
| Method Summary | |
static int |
add(int n,
int m)
Counts the number of floating point operations used to add two n-by-m matrices. |
static int |
backSubst(int n,
int k,
int m)
Counts the number of floating point operations used to solve for X via back substitution in the matrix equation AX = B where A is upper triangular. |
static int |
chol(int n)
Counts the number of floating point operations used to compute the Cholesky decomposition of an n-by-n
symmetric positive definite matrix. |
static long |
count()
Returns the number of floating point operations performed by code in the tjtf package since the virtual machine was
started. |
static void |
count(long f)
Increments the flop counter by f. |
static int |
det(int n,
boolean isSPD)
Counts the number of floating point operations used to compute the determinant of an n-by-n matrix
that is possibly symmetric positive definite. |
static int |
exp()
Counts the number of floating point operations used to compute the exponential of a number. |
static int |
forwardSubst(int n,
int k,
int m)
Counts the number of floating point operations used to solve for X via back substitution in the matrix equation AX = B where A is unit lower triangular. |
static int |
inv(int n,
boolean isSPD)
Counts the number of floating point operations used to invert an n-by-n matrix that is possibly
symmetric positive definite. |
static int |
log()
Counts the number of floating point operations used to compute the logarithm of a number. |
static int |
lu(int n)
Counts the number of floating point operations used to compute the LU decomposition of an n-by-n
square matrix. |
static int |
mult(int n,
int k,
int m)
Counts the number of floating point operations used to compute the product of two matrices A and B. |
static int |
rand()
Counts the number of floating point operations used to compute a random double-precision floating point number between 0.0 and 1.0 using a simple linear-congruential formula xi + 1 = a xi + b (mod c). |
static int |
randn()
Counts the number of floating point operations used to compute a sample from the standard normal using the Box-Muller method. |
static int |
randnorm(int n,
int k)
Counts the number of floating point operations used to compute n samples from a k-dimensional
multivariate Gaussian distribution represented using a covariance
matrix. |
static void |
reset()
A method that resets the flop count. |
static int |
solve(int n,
int k,
int m,
boolean isSPD)
Counts the number of floating point operations used to solve for X in the matrix equation AX = B where A is possibly symmetric positive definite. |
static int |
sqrt()
Counts the number of floating point operations used to compute the square root of a number. |
static int |
trace(int n)
Counts the number of floating point operations used to compute the trace of a square matrix A. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static boolean countFlops
count(long) will
increment the flop count.
protected static long flops
| Constructor Detail |
public Flops()
| Method Detail |
public static long count()
tjtf package since the virtual machine was
started.
public static void count(long f)
f.
public static void reset()
public static int solve(int n,
int k,
int m,
boolean isSPD)
n - the number of rows in Ak - the number of columns in A (and also the number
of rows in B)m - the number of columns in BisSPD - true if A is positive definite, enabling
the Cholesky decomposition
public static int backSubst(int n,
int k,
int m)
n - the number of rows in Ak - the number of columns in A (and also the number
of rows in B)m - the number of columns in B
public static int forwardSubst(int n,
int k,
int m)
n - the number of rows in Ak - the number of columns in A (and also the number
of rows in B)m - the number of columns in B
public static int inv(int n,
boolean isSPD)
n-by-n matrix that is possibly
symmetric positive definite.
This algorithm comes from the Numerical Recipes algorithm via the
Lightspeed Matlab library of Tom Minka.
n - the number of rows and columns of the square matrixisSPD - true if the matrix is positive definite,
enabling the Cholesky decomposition
public static int chol(int n)
n-by-n
symmetric positive definite matrix.
This formula comes from the Numerical Recipes algorithm via the
Lightspeed Matlab library of Tom Minka.
n - the number of rows and columns of the square matrix
public static int lu(int n)
n-by-n
square matrix.
This formula comes from
http://www.maths.uq.edu.au/~gac/math2200/mn_nla2.pdf.
n - the number of rows and columns of the square matrix
public static int sqrt()
15 and is based on source code for
sqrt() function at
http://www.opencores.org/cvsweb.shtml/or1k/newlib/newlib/libm/mathfp/s_sqrt.c.
This formula comes from the Lightspeed Matlab library of Tom
Minka.
public static int det(int n,
boolean isSPD)
n-by-n matrix
that is possibly symmetric positive definite.
n - the number of rows and columns of the square matrixisSPD - true if the matrix is positive definite,
enabling the Cholesky decomposition
This formula comes from the Lightspeed Matlab library of Tom
Minka.public static int log()
20; this formula comes from the Lightspeed Matlab
library of Tom Minka.
public static int exp()
20; this formula comes from the Lightspeed Matlab
library of Tom Minka.
public static int rand()
public static int randn()
public static int randnorm(int n,
int k)
n samples from a k-dimensional
multivariate Gaussian distribution represented using a covariance
matrix.
n - the number of samplesk - the dimension of the Gaussian distribution
n times from a
k-dimensional multivariate Gaussian
distribution represented using a covariance matrix.
public static int mult(int n,
int k,
int m)
n - the number of rows in Ak - the number of columns in A (and also the number
of rows in B)m - the number of columns in B
public static int trace(int n)
n - the number of rows (and columns) in A
public static int add(int n,
int m)
n-by-m matrices.
n - the number of rows in each matrixm - the number of columns in each matrix
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||