IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Num.SpeedTestCpu Class Reference

Various utilities for testing computational speed of the current system. More...

Static Public Member Functions

static double TestComputationalTimesQR (int numEq, int outLevel)
 Test of QR decomposition. Writes times necessary for all steps. More...
 
static double TestComputationalTimesQR (int numEq, int outLevel, bool testProduct)
 Test of QR decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesLU (int numEq, int outLevel)
 Test of LU decomposition. More...
 
static double TestComputationalTimesLU (int numEq, int outLevel, bool testProduct)
 Test of LU decomposition. More...
 
static double TestComputationalTimesCholesky (int numEq, int outLevel)
 Test of Cholesky decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesCholesky (int numEq, int outLevel, bool testProduct)
 Test of Cholesky decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesLU_IGLib (int numEq, int outLevel, bool testProduct=false)
 Test of LU decomposition. More...
 
static double TestComputationalTimesQR_IGLib (int numEq, int outLevel, bool testProduct=false)
 Test of QR decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesCholesky_IGLib (int numEq, int outLevel, bool testProduct=false)
 Test of Cholesky decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesLU_Base (int numEq, int outLevel, bool testProduct=false)
 Test of LU decomposition. More...
 
static double TestComputationalTimesCholesky_Base (int numEq, int outLevel, bool testProduct=false)
 Test of Cholesky decomposition, also measures time necessary fo rindividual operations. More...
 
static double TestComputationalTimesLdlt_Base (int numEq, int outLevel, bool testProduct=false)
 Test of Ldlt decomposition, also measures time necessary fo rindividual operations. More...
 
static void ExampleMathNetNumericsLU ()
 Example of how to use LU decomposition from Math.NET numerics. More...
 
static void ExampleMathNetNumericsQR ()
 Example of how to use QR decomposition from Math.NET numerics. More...
 
static void ExampleMathNetNumericsEVD ()
 Example of how to use EVD (eigenvalue decomposition) from Math.NET Numerics. More...
 
static void ExampleMathNetNumericsSVD ()
 Example of how to use SVD ( singular value decomposition) from Math.NET numerics. More...
 
static void ExampleMathNetNumericsCholesky ()
 Example of how to use Choleski decomposition from Math.NET Numerics. More...
 

Detailed Description

Various utilities for testing computational speed of the current system.

$A Igor xx Feb08;

Member Function Documentation

static double IG.Num.SpeedTestCpu.TestComputationalTimesQR ( int  numEq,
int  outLevel 
)
inlinestatic

Test of QR decomposition. Writes times necessary for all steps.

Parameters
numEqNumber of equations to be solved with decomposition.
outLevelLevel of output.
Returns
Total time spent for all operations.

Referenced by IG.Lib.CommandLineApplicationInterpreter.TestComputationalTimesQR().

static double IG.Num.SpeedTestCpu.TestComputationalTimesQR ( int  numEq,
int  outLevel,
bool  testProduct 
)
inlinestatic

Test of QR decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.
static double IG.Num.SpeedTestCpu.TestComputationalTimesLU ( int  numEq,
int  outLevel 
)
inlinestatic

Test of LU decomposition.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
Returns
Total wallclock time (in seconds) spent for the test.

Referenced by IG.Lib.CommandLineApplicationInterpreter.TestComputationalTimesLU().

static double IG.Num.SpeedTestCpu.TestComputationalTimesLU ( int  numEq,
int  outLevel,
bool  testProduct 
)
inlinestatic

Test of LU decomposition.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.
static double IG.Num.SpeedTestCpu.TestComputationalTimesCholesky ( int  numEq,
int  outLevel 
)
inlinestatic

Test of Cholesky decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
Returns
Total wallclock time (in seconds) spent for the test.
static double IG.Num.SpeedTestCpu.TestComputationalTimesCholesky ( int  numEq,
int  outLevel,
bool  testProduct 
)
inlinestatic

Test of Cholesky decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.
static double IG.Num.SpeedTestCpu.TestComputationalTimesLU_IGLib ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of LU decomposition.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Lib.StopWatch1.CpuTime, IG.Num.LUDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.Matrix.Random(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, and IG.Lib.StopWatch1.TotalTime.

static double IG.Num.SpeedTestCpu.TestComputationalTimesQR_IGLib ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of QR decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Lib.StopWatch1.CpuTime, IG.Num.QRDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.Matrix.Random(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, and IG.Lib.StopWatch1.TotalTime.

static double IG.Num.SpeedTestCpu.TestComputationalTimesCholesky_IGLib ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of Cholesky decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Lib.StopWatch1.CpuTime, IG.Num.CholeskyDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.MatrixBase.SetRandomPositiveDiagonallyDominantSymmetric(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, and IG.Lib.StopWatch1.TotalTime.

static double IG.Num.SpeedTestCpu.TestComputationalTimesLU_Base ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of LU decomposition.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Lib.StopWatch1.CpuTime, IG.Num.MatrixBase.LuDecompose(), IG.Num.MatrixBase.LuExtractLower(), IG.Num.MatrixBase.LuExtractUpper(), IG.Num.MatrixBase.LuSolve(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.Matrix.Random(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, IG.Lib.StopWatch1.TotalTime, and IG.Num.MatrixBase.UnPermute().

static double IG.Num.SpeedTestCpu.TestComputationalTimesCholesky_Base ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of Cholesky decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Num.MatrixBase.CholeskyDecompose(), IG.Num.MatrixBase.CholeskyExtractLower(), IG.Num.MatrixBase.CholeskyExtractUpper(), IG.Num.MatrixBase.CholeskySolve(), IG.Lib.StopWatch1.CpuTime, IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.MatrixBase.SetRandomPositiveDiagonallyDominantSymmetric(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, and IG.Lib.StopWatch1.TotalTime.

static double IG.Num.SpeedTestCpu.TestComputationalTimesLdlt_Base ( int  numEq,
int  outLevel,
bool  testProduct = false 
)
inlinestatic

Test of Ldlt decomposition, also measures time necessary fo rindividual operations.

Parameters
outLevelLevel of output.
numEqNumber of equations to be solved with decomposition.
testProductIf true then it is tested if the product of factors gives the original matrix. Otherwise, this test is skipped.
Returns
Total wallclock time (in seconds) spent for the test.

References IG.Num.A, IG.Lib.StopWatch1.CpuTime, IG.Num.MatrixBase.LdltDecompose(), IG.Num.MatrixBase.LdltExtractLower(), IG.Num.MatrixBase.LdltExtractUpper(), IG.Num.MatrixBase.LdltSolve(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.MatrixBase.SetRandomPositiveDiagonallyDominantSymmetric(), IG.Lib.StopWatch1.Start(), IG.Lib.StopWatch1.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch1.Time, IG.Lib.StopWatch1.TotalCpuTime, and IG.Lib.StopWatch1.TotalTime.

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsLU ( )
inlinestatic

Example of how to use LU decomposition from Math.NET numerics.

See also:

LU decomposition: http://en.wikipedia.org/wiki/LU_decomposition

Invertible matrix: http://en.wikipedia.org/wiki/Invertible_matrix

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsQR ( )
inlinestatic

Example of how to use QR decomposition from Math.NET numerics.

http://en.wikipedia.org/wiki/QR_decomposition QR decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsEVD ( )
inlinestatic

Example of how to use EVD (eigenvalue decomposition) from Math.NET Numerics.

http://en.wikipedia.org/wiki/Eigenvalue,_eigenvector_and_eigenspace EVD decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsSVD ( )
inlinestatic

Example of how to use SVD ( singular value decomposition) from Math.NET numerics.

http://en.wikipedia.org/wiki/Singular_value_decomposition SVD decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsCholesky ( )
inlinestatic

Example of how to use Choleski decomposition from Math.NET Numerics.

http://en.wikipedia.org/wiki/Cholesky_decomposition


The documentation for this class was generated from the following file: