How to plot generalized hypergeometric function in ROOT?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 2K views
Sandeep Hundal
Messages
9
Reaction score
0
Hello everyone
I am trying to write code in ROOT.I want to plot generalized hypergeometric function pFq with p=0 and q=3 i.e I want to plot 0F3(;4/3,5/3,2;x) as a function of x using TF1 class.I am not getting how to plot this function in ROOT.Kindly help me out.
Thanks in Advance
 
Physics news on Phys.org
Can you be more specific on which part you find difficult?
Is it generating the function? (how you define the TF1 and its parameters)
or is it drawing a TF1?
 
  • Like
Likes   Reactions: jedishrfu
if it's the second, have a look at TF1::Draw()...
If it is the first, then either find a closed form that your function corresponds to (to be honest I wasn't able to find a clear answer to what that function is equal to) or make approximations (you can never have infinite sums), keeping eg the first 3 terms or 4 terms and so on (depending on what you want to do with it)...
Why would you want to use ROOT for that?
 
ChrisVer said:
Can you be more specific on which part you find difficult?
Is it generating the function? (how you define the TF1 and its parameters)
or is it drawing a TF1?
I am not able to generate the hypergeometric function of form 0F3(;4/3,5/3,2;x).The value of function contains limit from n=0 to n=infinity.I am not able to find this function in already defined function in root.
 
ChrisVer said:
if it's the second, have a look at TF1::Draw()...
If it is the first, then either find a closed form that your function corresponds to (to be honest I wasn't able to find a clear answer to what that function is equal to) or make approximations (you can never have infinite sums), keeping eg the first 3 terms or 4 terms and so on (depending on what you want to do with it)...
Why would you want to use ROOT for that?
I need to use root because the function I need to plot contains hypergeometric function and I need to do fitting of the parameters with experimental data.Previously ,I have used ROOT only for fitting in my analysis.So ,I was trying if I can find some way to plot this function in ROOT only.
 
A custom PDF in RooFit could work. You don't need a sum-free closed form for the function that way, you just need a function that can be evaluated for every argument. If you fit data to it, it will take quite some time.