New ROOT Math Libraries W. Brown 1), M. Fischler 1), L. Moneta 2), A. Zsenei 2) 1) Fermi National Accelerator Laboratory, Batavia, Illinois, USA 2) CERN.

Slides:



Advertisements
Similar presentations
Arc-length computation and arc-length parameterization
Advertisements

Polynomial Approximation PSCI 702 October 05, 2005.
1 3D Vector & Matrix Chapter 2. 2 Vector Definition: Vector is a line segment that has the direction. The length of the line segment is called the magnitude.
Kinematic Synthesis of Robotic Manipulators from Task Descriptions June 2003 By: Tarek Sobh, Daniel Toundykov.
A control polygon scheme for design of planar PH quintic spline curves Francesca Pelosi Maria Lucia Sampoli Rida T. Farouki Carla Manni Speaker:Ying.Liu.
Dual Numbers: Simple Math, Easy C++ Coding, and Lots of Tricks
Curve-Fitting Polynomial Interpolation
Revision.
Calculus Review Texas A&M University Dept. of Statistics.
K. Desch – Statistical methods of data analysis SS10
ECIV 301 Programming & Graphics Numerical Methods for Engineers REVIEW II.
MA/CS 375 Fall MA/CS 375 Fall 2002 Lecture 32.
15th September 2005PHYSTAT 05, Oxford 1 Statistics in ROOT René Brun, Anna Kreshuk, Lorenzo Moneta PH/SFT group, CERN ftp://root.cern.ch/root/phystat05.ppt.
Today Wrap up of probability Vectors, Matrices. Calculus
MathMore Lorenzo Moneta, Andràs Zsenei ROOT Workshop 30/9/2005.
Calculus 9th edition Content
2IV60 Computer Graphics Basic Math for CG
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Absolute error. absolute function absolute value.
Numerical Integration UC Berkeley Fall 2004, E77 Copyright 2005, Andy Packard. This work is licensed under the.
Math LHCb Ivan Belyaev LHCb, CERN & ITEP/Moscow.
Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
1 Trapezoidal Rule of Integration. What is Integration Integration: The process of measuring the area under a function.
Introduction to GSL CS 3414 From GNU Scientific Library Reference Manual at
New ROOT Mathematical Libraries SMatrix Package with matrix and vector classes of arbitrary type (initially developed by T. Glebe for HeraB software) complementary.
Computational Aspects of Multi-scale Modeling Ahmed Sameh, Ananth Grama Computing Research Institute Purdue University.
Trapezoidal Rule of Integration
Integration For a function f, The “integral of f from a to b” is the area under the graph of the function. If f is continuous, then the area is well defined,
Quadrature rules 1Michael Sokolov / Numerical Methods for Chemical Engineers / Numerical Quadrature Michael Sokolov ETH Zurich, Institut für Chemie- und.
MATH 4030 – 4B CONTINUOUS RANDOM VARIABLES Density Function PDF and CDF Mean and Variance Uniform Distribution Normal Distribution.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
SEAL-ROOT Math Plans for 2005 Math work package Andras Zsenei, Anna Kreshuk, Lorenzo Moneta, Eddy Offermann LCG Application Area Internal Review, 30 March,
Templates & STL Stefan Roiser, Lorenzo Moneta CERN PH/SFT.
Lorenzo Moneta,LHCb Software week, 26 May Proposal for ROOT Math Libraries MathLib work package from ROOT SEAL merge new proposed structure for.
Progress on Component-Based Subsurface Simulation I: Smooth Particle Hydrodynamics Bruce Palmer Pacific Northwest National Laboratory Richland, WA.
Feedback from LHC Experiments on using CLHEP Lorenzo Moneta CLHEP workshop 28 January 2003.
SEAL and PI Project Status LHCC Comprehensive Review of LCG November 2004 P. Mato / CERN.
1 Graphics CSCI 343, Fall 2015 Lecture 9 Geometric Objects.
Random Variables. Numerical Outcomes Consider associating a numerical value with each sample point in a sample space. (1,1) (1,2) (1,3) (1,4) (1,5) (1,6)
SEAL Project Status SC2 Meeting 16th April 2003 P. Mato / CERN.
Lorenzo Moneta,LHCb Software week, 26 May New ROOT Math Libraries Activities MathLib work package from ROOT SEAL merge new proposed structure for.
IWAVE++: a Framework for Imaging and Inversion based on Regular-Grid Finite Difference Modeling William W. Symes The Rice Inversion Project Department.
MathMore Lorenzo Moneta, Andràs Zsenei ROOT Meeting 19/8/2005.
Trapezoidal Rule of Integration
Air Force Admin College, Coimbatore
ROOT Mathematical Libraries
1. 2 What is Integration? Integration The process of measuring the area under a curve. Where: f(x) is the integrand a= lower limit of integration b=
Interpolation Estimation of intermediate values between precise data points. The most common method is: Although there is one and only one nth-order.
Chapter 18.
StdHepC++ L. Garren Presented by M. Fischler
FE Exam Tutorial
Test and Validation Studies of Mathematical Software Libraries
Chapter 18.
Vectors, Linear Combinations and Linear Independence
Trapezoidal Rule of Integration
Numerical Integration:
Texas A&M University Dept. of Statistics
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
ANSWER THE FOLLOWING BRIEFLY BUT COMPREHENSIVELY.
Assignment 3 Questions 1 and 2 Stephen Adams CS 4MN3
Numerical Computation and Optimization
Warm-up: CW: Cumulative Review 5 F(x) = 2x3 + 3x2 – 11x – 6
RAYAT SHIKSHAN SANSTHA’S S.M.JOSHI COLLEGE HADAPSAR, PUNE
Game Programming Algorithms and Techniques
MATH 1310 Section 4.3.
Introduction CSE 541.
MATH 1310 Section 4.3.
Air Force Admin College, Coimbatore
Presentation transcript:

New ROOT Math Libraries W. Brown 1), M. Fischler 1), L. Moneta 2), A. Zsenei 2) 1) Fermi National Accelerator Laboratory, Batavia, Illinois, USA 2) CERN – European Organization for Nuclear Research, Geneva, Switzerland In the new organization for the Math Libraries in ROOT we have two new libraries: MathCore and MathMore MathCore contains the basic Math functionality and has no dependency on any external libraries or any other ROOT libraries. In the current release it contains the physics and geometry vector package plus some basic mathematical functions. MathMore is a package with some extra functionality typically less used than those in MathCore. The current implementation in MathMore is based on GSL which is built inside the library to avoid having an external dependency. Both MathCore and MathMore can be built and used as external package outside the ROOT framework. 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 chi2: chisquared_pdf chisquared_prob, chisquared_quant, chisquared_prob_inv, chisquare_quant_inv New functions have better precision comparison tests with TMath and Mathematica 3D and 4D Vector packages Generic Vector package properties : Template on the scalar type Template on the Coordinate System type LorentzVector > Point and Vector distinction in 3D: Displacement3DVector > Position3DPoint > 3D Rotation classes Rotation3D,AxisAngle,EulerAngles,Quaternion RotationX, RotationY, RotationZ LorentzRotation generic LorentzRotation class + Boost classes Example of usage: XYZTVector v0; // create an empty vector (x=y=z=t=0) XYZTVector v1(1,2,3,4); // create a vector (x=1, y=2, z=3, t=4) PtEtaPhiEVector v2(1,2,M_PI,5); // create a vector (pt=1,eta=2,phi=PI,E=5) PtEtaPhiEVector v3(v1); // create from a Cartesian4D LV HepLorentzVector q(1,2,3,4); // CLHEP Lorentz Vector XYZTVector v3(q) // create from a CLHEP LV Accessors Constructors double x = v1.X() = v1.Px(); // have both x() and px() double t = v1.T() = v1.E(); // have both t() and e() double eta = v1.Eta(); XYZVector w = v1.Vec(); // return vector with spatial components v1 += v2; v1 -= v2; // additions and subtructions v3 = v1 + v2; v4 = v1 - v2; double a; v1 *= a; v1 /= a; // multipl. and divisions with a scalar double p = v1.Dot(v2); // prefer Dot (less ambiguous) v3 = v1.Cross(v2); // Cross product Operations Function Interfaces Minimal interface used by all numerical algorithm: abstract IGenFunction and IParamFunction classes template WrappedFunction class to wrap any C++ callable object (functors, C free function, etc..) set of pre-defined parametric functions, like Polynomial function have TF1 implementing these interfaces ? Numerical Algorithms in MathMore C++ interface to some GSL numerical algorithms Currently present are algorithms for 1D functions: Numerical Derivation central evaluation based on the 5 points rule and forward/backward with 4 points rule Adaptive Integration bracketing and polishing algorithms which use function derivatives finite and infinite intervals Root Finders bracketing and polishing algorithms which use function derivatives Interpolation type: linear, polynomial and Akima spline Chebyshev polynomials for function approximation Example of Usage Algorithms can be used with IGenFunction objects Callable objects can be wrapped using the WrappedFunction class Integration example (with a user free C function ) // with a user provided free C function f(x) double f( double x) { ……} // create WrappedFunction class ROOT::Math::WrappedFunction wFunc(f); // create integrator class ROOT::Math::Integrator ig(wFunc); // integrate between a and b double result = ig.Integral(a, b); double error = ig.Error()