# Integral with unknown constants

I am evaluating an integral with constants that are not specified, but I am not sure why it takes so long for it to give an output, so I just decided to cancel the running. The integral is given by,

$$\int_0^1 dy \frac{ c a^3 y^2 }{ ((1 - b^3 y^3)(1 - c^2 a^4 y^4))^{1/2} }$$

d = 2;
z = 10;
b = a/z;
SumConvergence[(c a^(d + 1)
y^d)/((1 - b^(d + 1) y^(d + 1)) (1 - c^2 (a y)^(2 d)))^(1/2), y]
Integrate[(c a^(d + 1) y^
d)/((1 - b^(d + 1) y^(d + 1)) (1 - c^2 (a y)^(2 d)))^(1/2), {y, 0,
1}, Assumptions -> {c > 0, a > 0}]


d indicates dimensions so in this case I set for example, d=2, while a,b are constants (leave it open so I can put values later). In the end, I want to get an expression for "c" in terms of "a" (since "a" also gives "b") through evaluation of the integral.

UPDATE: I changed the integral expression a bit compared to my first post, now I tried doing the SumConvergence command and it returns a TRUE value so this new integral that I posted converges but I do not know why it does not return the condition of convergence. Also, the Integrate command still does not return anything even though the function converges.

• You have a typo in that you have ay which should have a space between the two letters: a y. Also, you don't need to state y>0. But after fixing those errors, Mathematica states that the integral does not converge on {0,1}. But it does converge if you restrict a<0.
– JimB
Aug 23, 2020 at 5:44
• d = 2; z = 1; b = a/z; Integrate[(y^d (1 - (b y)^(d + 1))^1/2)/(1 - c^2 (a*y)^(2 d))^1/2, {y, 0, 1}, Assumptions -> c > 0 && a > 0] produces $$\text{ConditionalExpression}\left[\frac{2 a^2 c+\log \left(\frac{2}{a^2 c+1}-1\right)-2 c^{3/2} \tan ^{-1}\left(a \sqrt{c}\right)+2 c^{3/2} \tanh ^{-1}\left(a \sqrt{c}\right)}{16 a^3 c^3},c<\frac{1}{a^2}\right] .$$ Aug 23, 2020 at 8:28
• @user64494 I think the exponent 1/2 affects the result, I tried writing 0.5 instead of 1/2 and it does not return anything. Aug 23, 2020 at 8:29
• Your Mathematica code does not match your latex expression at all. Try evaluating z^1/2 and then try z^(1/2) or Sqrt[z] and see the difference. Introducing decimal points is probably a very bad idea. Once you fix your exponent problem you can also try Apart[..your fraction..] which should get the square root out of the denominator, but even that doesn't seem to be enough. You just have a very complicated rational function with no easy integral.
– Bill
Aug 23, 2020 at 8:39
• @Bill Sorry, I fixed my code in the post although what I have actually running in my Mathematica is properly written. Bottomline is, it does not return anything for whatever conditions I put in the Assumptions. Aug 23, 2020 at 8:55

modified

It looks like there is only a numerical solution. Try

int[a_?NumericQ, c_?NumericQ] :=
Block[{d = 2, z = 10},
NIntegrate[(c a^(d + 1) y^d)/((1 - (a/z) ^(d + 1) y^(d + 1)) (1 - c^2 (a y)^(2 d)))^(1/2) , {y, 0, 1}, AccuracyGoal -> 5]]


int[a,c] might be used like a general Mathematica function.

Plot3D[int[a, c], {a, 0, 2}, {c, 0, 3}, AxesLabel -> {"a", "c", "int[a,c]"},PlotRange -> {0, 1}] // Quiet Now it possibel to tune a[c]

FindRoot[ int[2, z] == 1 , {z, 0 }] // Quiet//Chop
(*{z -> 0.244368}*)

• What is the purpose of "?NumericQ" in the int function? As I know it is just to ensure an object is a numeric quantity. Also what is the reason of putting "//Quiet" in the end of the plot? Is it supposed to display a warning? Aug 24, 2020 at 15:07
• The purpose of _?Numerics is to run NIntegrate only if a,c are numeric. //Quiet fades out some messages of NIntegrate. Aug 24, 2020 at 18:46