Presentation is loading. Please wait.

Presentation is loading. Please wait.

New ROOT Mathematical Libraries SMatrix Package with matrix and vector classes of arbitrary type (initially developed by T. Glebe for HeraB software) complementary.

Similar presentations


Presentation on theme: "New ROOT Mathematical Libraries SMatrix Package with matrix and vector classes of arbitrary type (initially developed by T. Glebe for HeraB software) complementary."— Presentation transcript:

1 New ROOT Mathematical Libraries 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 : SMatrix, SVector 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 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 <= 6~10) 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 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: LorentzVector > 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 > Position3DPoint > Transformation classes (based on double precision): 3D Rotation classes Rotation3D,AxisAngle,EulerAngles,Quaternion RotationX, RotationY, RotationZ LorentzRotation classes LorenzRotation,Boost, BoostX, BoostY, BoostZ Optimized run time performances: 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 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 (~10 6000 ), fast TRandom1 : RanLux generator (from M. Lüscher ) proven random quality but not very fast TRandom2 : Tausworthe (from L’Ecuyer) fast generator with acceptable quality (period ~ 10 26 ) ROOT Users Workshop, CERN, March 26-28, 2007 New algorithms for non-uniform generators Use also UNURAN package for generating non-uniform random numbers Quality and CPU performance tests for uniform generators on lxplus (slc4 dual-core Intel 64 bits) On lxplus (slc4 dual-core Intel 64 bits) For various platforms On lxplus (slc4 dual-core Intel 64 bits)


Download ppt "New ROOT Mathematical Libraries SMatrix Package with matrix and vector classes of arbitrary type (initially developed by T. Glebe for HeraB software) complementary."

Similar presentations


Ads by Google