SMatrix - PowerPoint PPT Presentation

About This Presentation
Title:

SMatrix

Description:

Test performances in matrix operations and Kalman filter ... The Coordinate system type is a template parameter of the vector class: ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 2
Provided by: root3
Category:
Tags: class | smatrix

less

Transcript and Presenter's Notes

Title: SMatrix


1
MathCore contains presently the basic
Mathematical functionality such as evaluation of
special and statistical functions and physics and
geometry vectors. It is expected to be extended
to include basic mathematical functionality
present currently in libCore, like the random
number classes. SMatrix is a package for
providing optimized matrix compuation for small
(dimension lt 610) and fixed (at compile time)
matrices. MathMore is a package with some extra
functionality typically less used than those in
MathCore. The current implementation in MathMore
is based on GSL.
  • Mathematical Functions in MathCore and MathMore
  • Special Functions
  • use interface proposed to C standard
  • double cyl_bessel_i (double nu, double x)
  • Statistical Functions
  • Probability density functions (pdf)
  • Cumulative dist. (lower tail and upper tail)
  • Inverse of cumulative distributions
  • Coherent naming scheme. Example ?2 distribution
  • chisquared_pdf
  • chisquared_cdf, chisquared_cdf_c,
  • chisquared_quantile, chisquare_quantile_c
  • Improved precision for the new functions
  • comparison tests with TMath and Mathematica
  • SMatrix
  • Package with matrix and vector classes of
    arbitrary type (initially developed by T. Glebe
    for HeraB software)
  • complementary to TMatrix (not a replacement)
  • for fixed (not dynamic) matrix and vector sizes
  • SMatrixlt double, 2 , 5gt, SVectorlt double, 5 gt
  • optimized for small matrix sizes
  • use expression templates to avoid temporaries
  • support for vector-matrix arithmetic operations
    and matrix inversion, but not full linear
    algebra functionality
  • Test performances in matrix operations and Kalman
    filter

On lxplus (slc4 dual-core Intel 64 bits)
For various platforms
  • 3D and 4D Vector packages
  • Generic Vector package properties
  • Possible to choose the internal coordinate
    system. The Coordinate system type is a template
    parameter of the vector class
  • LorentzVectorltPxPyPzE4D lt double gt gt
  • LorentzVectorltPtEtaPhiE4D lt double gt gt
  • Coordinate system classes
  • Cartesian3D,Polar3D,Cylindrical3D,CylindricalEta3D
  • PxPyPzE4D,PxPyPzM4D,PtEtaPhiE4D,PtEtaPhiM4D
  • Vector classes template on the scalar type
  • Point and Vector distinction in 3D
  • Displacement3DVector lt Cartesian3D ltdouble gt gt
  • Position3DPoint lt Cartesian3D ltdouble gt gt
  • Transformation classes (based on double
    precision)
  • 3D Rotation classes
  • Rotation3D,AxisAngle,EulerAngles,Quaternion
  • RotationX, RotationY, RotationZ
  • LorentzRotation classes
  • LorenzRotation,Boost, BoostX, BoostY, BoostZ
  • Random Numbers
  • TRandom
  • base class with methods for generating random
    numbers according to various distributions
  • contain a very simple, bad quality generator
  • TRandom3 Mersenne-Twister generator
  • good random quality, very long period (106000),
    fast
  • TRandom1 RanLux generator (from M. Lüscher )
  • proven random quality but not very fast
  • TRandom2 Tausworthe (from LEcuyer)
  • fast generator with acceptable quality (period
    1026)
  • Quality and CPU performance tests for uniform
    generators
  • on lxplus
  • (slc4 dual-core Intel 64 bits)
  • New algorithms for non-uniform generators
  • Use also UNURAN package for generating
    non-uniform random numbers
  • no virtual functions
  • use of inline methods
  • user can choose optimal coordinate system
    according to the use case
  • E.g. make CylindricalEta based vectors when
    cutting on ?R

On lxplus (slc4 dual-core Intel 64 bits)
ROOT Users Workshop, CERN, March 26-28, 2007
Write a Comment
User Comments (0)
About PowerShow.com