| IGLib 1.5 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Static Public Member Functions | List of all members
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
| ) |  |
| inline static

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

Parameters

  numEq | Number of equations to be solved with decomposition.
  outLevel | Level 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
| ) |  |
| inline static

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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
| ) |  |
| inline static

Test of LU decomposition.

Parameters

  outLevel | Level of output.
  numEq | Number 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
| ) |  |
| inline static

Test of LU decomposition.

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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
| ) |  |
| inline static

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

Parameters

  outLevel | Level of output.
  numEq | Number 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
| ) |  |
| inline static

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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`
| ) |  |
| inline static

Test of LU decomposition.

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.CpuTime, IG.Num.LUDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.Matrix.Random(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, and IG.Lib.StopWatch.TotalTime.

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

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.CpuTime, IG.Num.QRDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.Matrix.Random(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, and IG.Lib.StopWatch.TotalTime.

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

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.CpuTime, IG.Num.CholeskyDecomposition.GetProduct(), IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.MatrixBase.SetRandomPositiveDiagonallyDominantSymmetric(), IG.Num.LinearSolverBase.Solve(), IG.Lib.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, and IG.Lib.StopWatch.TotalTime.

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

Test of LU decomposition.

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.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.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, IG.Lib.StopWatch.TotalTime, and IG.Num.MatrixBase.UnPermute().

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

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.CpuTime, IG.Num.MatrixBase.Multiply(), IG.Num.Vector.Random(), IG.Num.MatrixBase.SetRandomPositiveDiagonallyDominantSymmetric(), IG.Lib.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, and IG.Lib.StopWatch.TotalTime.

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

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

Parameters

  outLevel | Level of output.
  numEq | Number of equations to be solved with decomposition.
  testProduct | If 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.StopWatch.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.StopWatch.Start(), IG.Lib.StopWatch.Stop(), IG.Num.VectorBase.Subtract(), IG.Num.MatrixBase.Subtract(), IG.Lib.StopWatch.Time, IG.Lib.StopWatch.TotalCpuTime, and IG.Lib.StopWatch.TotalTime.

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsLU | ( |  | ) |
| inline static

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

See also
  http://en.wikipedia.org/wiki/LU_decomposition

LU decomposition

See also
  http://en.wikipedia.org/wiki/Invertible_matrix

Invertible matrix

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsQR | ( |  | ) |
| inline static

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

See also
  http://en.wikipedia.org/wiki/QR_decomposition

QR decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsEVD | ( |  | ) |
| inline static

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

See also
  http://en.wikipedia.org/wiki/Eigenvalue,_eigenvector_and_eigenspace

EVD decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsSVD | ( |  | ) |
| inline static

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

See also
  http://en.wikipedia.org/wiki/Singular_value_decomposition

SVD decomposition

static void IG.Num.SpeedTestCpu.ExampleMathNetNumericsCholesky | ( |  | ) |
| inline static

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

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

Cholesky decomposition

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

- igbase/numeric/tests/TestSpeed.cs