Mathematica Assumptions for integration [pertaining to loop corrections]

In summary, you may want to try substituting a known function value for anything parametized in your integrand.
  • #1
Elwin.Martin
207
0
Long story short I have an integral which is something like this:
(in Mathematica code)
Integrate[1/{(1 - b^2)*{((1 - y)*z + y)^2 + (1 - y)^2*(1 - z)^2} + 2*(b^2 + 1)*{(1 - y)*(1 - z)*((1 - y)*z + y)}}, {y, 0, 1} ]

Written without assumptions.

b is actually only in [0,1] and I think I can limit z to [0,1] as well. z is actually in the next integral ^^; which is from 0 to 1.

How do I add assumptions in proper syntax? I've tried two different ways and gotten VERY different results...so I'm a little concerned about my syntax and Mathematica's reference site didn't help much.

I have been using something like ", Assumptions-> 0<=b<=1, 0<=z<=1" I think...but I'm not positive about my consistency.

For those of you who don't have direct access to Mathematica or anything and don't read raw code super easily here's the integral in traditional form:
[itex] \int^1_0 \frac{dy}{{(1 - b^2)*{((1 - y)*z + y)^2 + (1 - y)^2*(1 - z)^2} + 2*(b^2 + 1)*{(1 - y)*(1 - z)*((1 - y)*z + y)}}} [/itex]

If context is helpful, the integration is the result of a Feynman parametrization of a basic QCD process. Everything is scalar though, the vectors have all been dotted or otherwise taken care of and absorbed into the b term (Sort of). The rest of the integrations are a whole other mess.
 
Physics news on Phys.org
  • #2
Assuming[0 ≤ b ≤ 1 && 0 ≤ z ≤ 1, Integrate[1/{(1 - b^2)*{((1 - y)*z + y)^2 + (1 - y)^2*(1 - z)^2} + 2*(b^2 + 1)*{(1 - y)*(1 - z)*((1 - y)*z + y)}}, {y, 0, 1}]]

but it looks like it is happier if you make those < rather than ≤ in all cases which I think makes sense if I look at your denominator for a few seconds.
 
  • #3
Bill Simpson said:
Assuming[0 ≤ b ≤ 1 && 0 ≤ z ≤ 1, Integrate[1/{(1 - b^2)*{((1 - y)*z + y)^2 + (1 - y)^2*(1 - z)^2} + 2*(b^2 + 1)*{(1 - y)*(1 - z)*((1 - y)*z + y)}}, {y, 0, 1}]]

but it looks like it is happier if you make those < rather than ≤ in all cases which I think makes sense if I look at your denominator for a few seconds.

Thanks, I'll try that and see how it goes.

Someone else recommended I use a substitution of a known function value or something for anything that's parametized like what I have?

For example, he said that if I had some Q running from 0 to 1, I could sub {Q->Zeta[3]/3}.
Integrate.
Sub {Zeta[3]->3Q.

It came out sort of close to what I had before, but I'm not entirely sure why.
Any idea how he got this? I didn't have much of a chance to question him about it.

I'm still playing with different factorizations to make it easier for Mathematica and myself...I'll see where that takes me, too.
 

FAQ: Mathematica Assumptions for integration [pertaining to loop corrections]

1. What are assumptions for integration in Mathematica?

Assumptions for integration in Mathematica refer to the conditions or constraints that are imposed on the variables in a mathematical expression or function in order for the integration to be performed accurately. These assumptions can include things like the variables being real numbers, positive numbers, or even specific ranges of values.

2. Why are assumptions necessary for integration in Mathematica?

Assumptions are necessary for integration in Mathematica because they help determine the appropriate integration techniques and algorithms to use in order to get the most accurate and efficient results. Without assumptions, Mathematica would have a much harder time solving complex integrals and may even give incorrect results.

3. How do I specify assumptions for integration in Mathematica?

To specify assumptions for integration in Mathematica, you can use the Assumptions option in various integration functions such as Integrate, NIntegrate, or Sum. You can also use the Assuming function to specify assumptions for a specific expression or block of code.

4. Can I use Mathematica to check if my assumptions are valid?

Yes, you can use the PossibleZeroQ function in Mathematica to check if your assumptions are valid. This function returns True if the expression evaluates to zero under the specified assumptions, and False otherwise. You can also use the Refine function to refine your assumptions and make them more accurate.

5. Are there any limitations to using assumptions for integration in Mathematica?

Yes, there are some limitations to using assumptions for integration in Mathematica. For example, if your assumptions are too specific or restrictive, Mathematica may not be able to find a solution or may give incorrect results. It is important to carefully choose your assumptions and test them to ensure they are valid and appropriate for your problem.

Similar threads

Replies
1
Views
2K
Replies
13
Views
2K
Replies
1
Views
530
Replies
2
Views
2K
Replies
2
Views
1K
Replies
9
Views
3K
Replies
4
Views
3K
Replies
2
Views
1K
Back
Top