0
|
1422 Views
|
5 Replies
|
5 Total Likes
View groups...
Share
GROUPS:

# How can i plot this trascendental function?

Posted 10 months ago
 I have been learning mathematica for a month now, and i want to solve one of my thesis objectives with mathematica, which is to plot this trascendental function: and so far i´ve been receiving error messages like: "$RecursionLimit::reclim2: Recursion depth of 1024 exceeded during evaluation of mSigma[0.135]." "Power::infy: Infinite expression 1/0.^1. encountered." -" Infinity::indet: Indeterminate expression E^ComplexInfinity encountered." etc. this is my code: ClearAll[mSigma, gSigmaPiPi, mPi, Lambda, k] mPi = 0.13957; Block[{$MaxExtraPrecision = Infinity}, mSigma[T_] := mSigma[T] /. FindRoot[ mSigma[T]^2/mSigma[0]^2 == 1 + (3/2)*(gSigmaPiPi^2)*(mPi^2)/(8*Pi^2*mSigma[0]^2)* NIntegrate[ Sqrt[E1^2 - mPi^2]*((2/((Exp[E1/(T)] - 1)) + 1)/(E1 - mSigma[T]^2/4 - 1*^-20)), {E1, mPi, mSigma[T]/2 - 1*^-20, mSigma[T]/2 + 1*^-20, Lambda},(*Interesting command to avoid singularities*) Method -> {"GlobalAdaptive", "SymbolicProcessing" -> 0, "SingularityHandler" -> "Subtracting"}, MaxRecursion -> 20, PrecisionGoal -> 6, AccuracyGoal -> 6, WorkingPrecision -> 20], {mSigma[T], 550}] ]; Tc = 0.150; gSigmaPiPi = 14.02; Lambda = 1.4; Tlist = Range[0.9*Tc, Tc, 0.1]; sigmaList = Table[{T, mSigma[T]/mSigma[0]}, {T, Tlist}]; ListPlot[sigmaList, AxesLabel -> {"T/Tc", "m_sigma(T)/m_sigma(0)"}]  I even used MaxPrecision in order to not have these infinities and 1/0 errors Any thoughts on how can i attack this problem? EDIT: i have a typo in the latex equation, it should be E^2 in the denominator of the integrand
5 Replies
Sort By:
Posted 10 months ago
 I see unevaluated (lower case findroot, integrate, 1^-20 -> 1.0^-20) findRoot[ mSigma[T]^2/mSigma[0]^2 == 1 + 1/(16 \[Pi]^2 mSigma[0]^2) 3 gSigmaPiPi^2 mPi^2 * integrate[((1 + 2/(-1 + E^(E1/T))) * Sqrt[ E1^2 - mPi^2]) / (-1.*^-20 + E1 - mSigma[T]^2/4), {E1, mPi, -1.*^-20 + mSigma[T]/2, 1.*^-20 + mSigma[T]/2 , Lambda}], {mSigma[T], 550}] There is a fourth parameter Lambda in the domain bracket of integrate. Whats it for?
Posted 10 months ago
 You cannot use FindRoot without giving a numeric value to mSigma[0]. In the TeX equation there is a parameter k` which is missing from the code.
Posted 10 months ago
 Lambda is the upper integration limit, it´s a cut-off frequency for the integral, the original upper limit was infinity but then the integral becomes divergent
Posted 10 months ago
 But integrate' s domain list has three parameters only {x, xmin , xmax}, or is there a method taking four?
Posted 10 months ago
 I used this syntax from documentation center "NIntegrate[f,{x,x0,x1,…,xk}] tests for singularities in a one-dimensional integral at each of the intermediate points xi. If there are no singularities, the result is equivalent to an integral from x0 to xk. You can use complex numbers xi to specify an integration contour in the complex plane."