Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
Legendre.py
Go to the documentation of this file.
1 ## \file
2 ## \ingroup tutorial_math
3 ## \notebook
4 ## Example of first few Legendre Polynomials. Inspired by work of Lorenzo Moneta.
5 ##
6 ## \macro_image
7 ## \macro_code
8 ##
9 ## \author Alberto Ferro, Massimiliano Galli
10 
11 
12 import ROOT
13 
14 ROOT.gSystem.Load("libMathMore")
15 Canvas = ROOT.TCanvas("DistCanvas", "Legendre polynomials example", 10, 10, 750, 600)
16 Canvas.SetGrid()
17 leg = ROOT.TLegend(0.5, 0.7, 0.4, 0.89)
18 
19 L = []
20 for nu in range(5):
21  f = ROOT.TF1("L_0", "ROOT::Math::legendre([0],x)", -1, 1)
22  f.SetParameters(nu, 0.0)
23  f.SetLineStyle(1)
24  f.SetLineWidth(2)
25  f.SetLineColor(nu+1)
26  L.append(f)
27 
28 L[0].SetMaximum(1)
29 L[0].SetMinimum(-1)
30 L[0].SetTitle("Legendre polynomials")
31 
32 for idx, val in enumerate(L):
33  leg.AddEntry(val, " L_{}(x)".format(idx), "l")
34  if idx == 0:
35  val.Draw()
36  else:
37  val.Draw("same")
38 
39 leg.Draw("same")
40 
41