Re: Mathematica results different on different computers !
- To: mathgroup at smc.vnet.net
- Subject: [mg125580] Re: Mathematica results different on different computers !
- From: Ralph Dratman <ralph.dratman at gmail.com>
- Date: Mon, 19 Mar 2012 05:01:28 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201203180740.CAA14090@smc.vnet.net>
Num remains undefined, as far as I can see. Is that intended? Ralph On Sun, Mar 18, 2012 at 3:40 AM, Nabeel Butt <nabeel.butt at gmail.com> wrote: > Hi Guys ... > I run a piece of code on two different computers (different hardwares) > and I get different results.I think its something to do with overflow or > different precision on systems ? Personally I think my laptop with an > inferior hardware is giving me correct results. The code does involve some > simulation but running the simulation gives the same result on one > particular computer but different for different computers ! You can run and > tell me what answers you are getting ....Thanks in advance....and my code > is below : > \[Lambda] = 0.05; > \[Mu] = 0.05; > T = 1; > nn = 4; > \[CapitalDelta]T = T/nn; > m1 = 0.08; > \[Sigma]1 = 0.2; > m2 = 0.14; > \[Sigma]2 = 0.8; > \[Rho] = 0.1; > mean1 = (m1 - (\[Sigma]1^2)/2)*\[CapitalDelta]T; > var1 = (\[Sigma]1^2)*\[CapitalDelta]T; > rmean1 = E^(mean1 + 1/2 var1); > rvar1 = ((E^var1 - 1) E^(2*mean1 + var1)); > mean2 = (m2 - (\[Sigma]2^2)/2)*\[CapitalDelta]T; > var2 = (\[Sigma]2^2)*\[CapitalDelta]T; > rmean2 = E^(mean2 + 1/2 var2); > rvar2 = ((E^var2 - 1) E^(2*mean2 + var2)); > b1 = {rk1l = 0.001, rk1u = (rmean1 + 5*Sqrt[rvar1])}; > b2 = {rk2l = 0.001, rk2u = (rmean2 + 5*Sqrt[rvar2])}; > > dl = (rk1u - rk1l)/Num; > dk = (rk2u - rk2l)/Num; > \[ScriptCapitalD] = > TransformedDistribution[ > Exp[ {u, v}], {u, v} \[Distributed] > MultinormalDistribution[{(m1 - (\[Sigma]1^2)/ > 2)*\[CapitalDelta]T, (m2 - (\[Sigma]2^2)/ > 2)*\[CapitalDelta]T}, {{\[Sigma]1^2*\[CapitalDelta]T, \ > \[Rho]*\[Sigma]1*\[Sigma]2*\[CapitalDelta]T}, {\[Rho]*\[Sigma]1*\ > \[Sigma]2*\[CapitalDelta]T, \[Sigma]2^2*\[CapitalDelta]T}}]]; > data = Parallelize[RandomVariate[\[ScriptCapitalD], 10^5]]; > ParallelEvaluate[data]; > > > bndry3[Num_, data_] := > Module[{UU, M, \[Lambda], \[Mu], \[CapitalDelta]T, s, m, \[Sigma], > mean, var, rmean, rvar, rkl, rku, dr, ddist, rvals, pvals, amin, > amax, da, tlist, JN, some, blist, tlist1, tlist2, sol1, sol2, > templist, l, points, pu, pl, dp, a, b, c, zi, Nm, Nz, Na, zW, > m1, \[Sigma]1, m2, \[Sigma]2, \[Rho], mean1, var1, rmean1, rvar1, > mean2, var2, rmean2, rvar2, b1, b2, dl, dk, xvals, yvals, rk1l, > rk1u, rk2l, rk2u, \[ScriptCapitalD]1, dist, \[ScriptCapitalD], > prob, JJ}, > > Off[InterpolatingFunction::dmval]; > sll[ll_, elem_] := ll[[Ordering[ll[[All, elem]]]]]; > M = 0.5; > \[Lambda] = 0.05; > \[Mu] = 0.05; > \[CapitalDelta]T = T/nn; > s = E^(0.05*\[CapitalDelta]T); > m1 = 0.08; > \[Sigma]1 = 0.2; > m2 = 0.14; > \[Sigma]2 = 0.8; > \[Rho] = 0.1; > UU = 7; > mean1 = (m1 - (\[Sigma]1^2)/2)*\[CapitalDelta]T; > var1 = (\[Sigma]1^2)*\[CapitalDelta]T; > rmean1 = E^(mean1 + 1/2 var1); > rvar1 = ((E^var1 - 1) E^(2*mean1 + var1)); > mean2 = (m2 - (\[Sigma]2^2)/2)*\[CapitalDelta]T; > var2 = (\[Sigma]2^2)*\[CapitalDelta]T; > rmean2 = E^(mean2 + 1/2 var2); > rvar2 = ((E^var2 - 1) E^(2*mean2 + var2)); > b1 = {rk1l = 0.001, rk1u = (rmean1 + 5*Sqrt[rvar1])}; > b2 = {rk2l = 0.001, rk2u = (rmean2 + 5*Sqrt[rvar2])}; > > dl = (rk1u - rk1l)/Num; > dk = (rk2u - rk2l)/Num; > \[ScriptCapitalD] = > TransformedDistribution[ > Exp[ {u, v}], {u, v} \[Distributed] > MultinormalDistribution[{(m1 - (\[Sigma]1^2)/ > 2)*\[CapitalDelta]T, (m2 - (\[Sigma]2^2)/ > 2)*\[CapitalDelta]T}, {{\[Sigma]1^2*\[CapitalDelta]T, \ > \[Rho]*\[Sigma]1*\[Sigma]2*\[CapitalDelta]T}, {\[Rho]*\[Sigma]1*\ > \[Sigma]2*\[CapitalDelta]T, \[Sigma]2^2*\[CapitalDelta]T}}]]; > > \[ScriptCapitalD]1 = SmoothKernelDistribution[data]; > > g[x_, y_] := Evaluate[CDF[\[ScriptCapitalD]1, {x, y}]]; > > > fx1[r_] := PDF[LogNormalDistribution[mean1, Sqrt[var1]], r]; > fx2[r_] := CDF[LogNormalDistribution[mean1, Sqrt[var1]], r]; > pu = 1; > pl = 0; > dp = (pu - pl)/Num; > gx1[p_] := InverseCDF[LogNormalDistribution[mean1, Sqrt[var1]], p]; > xvals = > Flatten[{rk1l, Table[gx1[i + dp], {i, pl, pu - 2*dp, dp}], rk1u}]; > > fy1[r_] := PDF[LogNormalDistribution[mean2, Sqrt[var2]], r]; > fy2[r_] := CDF[LogNormalDistribution[mean2, Sqrt[var2]], r]; > pu = 1; > pl = 0; > dp = (pu - pl)/Num; > gy1[p_] := InverseCDF[LogNormalDistribution[mean2, Sqrt[var2]], p]; > yvals = > Flatten[{rk2l, Table[gy1[i + dp], {i, pl, pu - 2*dp, dp}], rk2u}]; > > > > > f[x_, y_] := Evaluate[PDF[\[ScriptCapitalD]1, {x, y}]]; > > dist = > Flatten[Table[{prob = (NIntegrate[ > > f[x, y], {x, xvals[[i]], xvals[[i + 1]]}, {y, yvals[[j= ]], > yvals[[j + 1]]}, AccuracyGoal -> 4]); {NIntegrate[ > x*(f[x, y])/prob > , {x, xvals[[i]], xvals[[i + 1]]}, {y, yvals[[j]], > yvals[[j + 1]]}, AccuracyGoal -> 4], > NIntegrate[ > y*(f[x, y])/(prob), {x, xvals[[i]], xvals[[i + 1]]}, {y, > yvals[[j]], yvals[[j + 1]]}, AccuracyGoal -> 4]}, > > prob}, {i, 1, Num}, {j, 1, Num}], 1]; > > > amin = N[0.001]; > amax = N[0.999]; > da = 0.01; > > (*dist/.{{x_Real,y_Real},z_Real}->x+y+z*) > tlist1 = Parallelize[ParallelEvaluate[ > Off[FindMinimum::reged]]; > ParallelEvaluate[Off[FindMaximum::lstol]]; Table[{a, > {l = > Max[templist = {(sol1 = Flatten[Last[NestList[{{#[[1,1]]/2}, > > Reverse[ > Last[sll[ > Flatten[ > Table[{{\[Xi]}, (Total[(dist /. {{r_Real, S_Real}, > p_Real} -> (Log[(S + \[Xi] (r - > S) + \[Mu] (\[Xi] - a) S)]*p))])},{\[Xi], > If[(#[[2, 2, 1]] - 2*#[[1, 1]]) >= > 0, (#[[2, 2, 1]] - 2*#[[1, 1]]), 0], > If[(#[[2, 2, 1]] + 2*#[[1, 1]]) <= > a, (#[[2, 2, 1]] + 2*#[[1, 1]]), a], #[[1, 1]]}], > 0], 2]]]} & , > {{a/4}, {-100, {a/2}}}, UU]][[2]]])[[1]], (sol2 > Flatten[Last[NestList[{{#[[1, 1]]/2}, > > Reverse[ > Last[sll[ > Flatten[ > Table[{{\[Xi]}, (Total[ > dist /. {{r_Real, S_Real}, > p_Real} -> (Log[(S + \[Xi] (r - > S) - \[Lambda] (\[Xi] - a) S)]*p)])}, {\[Xi], > If[(#[[2, 2, 1]] - 2*#[[1, 1]]) >= > a, (#[[2, 2, 1]] - 2*#[[1, 1]]), a], > If[(#[[2, 2, 1]] + 2*#[[1, 1]]) <= ( > 1 + a*\[Lambda])/( > 1 + \[Lambda]), (#[[2, 2, 1]] + 2*#[[1, 1]]), ( > 1 + a*\[Lambda])/(1 + \[Lambda])],#[[1, 1]]}], > 0], 2]]]} & , > {{0.25*((1 + a*\[Lambda])/(1 + \[Lambda]) - > a)}, {-100, {0.5*(a + (1 + a*\[Lambda])/( > 1 + \[Lambda]))}}}, UU]][[2]]])[[1]], > Total[dist /. {{r_Real, S_Real}, p_Real} -> > Log[(S + a (r - S))]*p]}], > If[templist[[3]] == l, 3, > Flatten[Position[templist, l]][[1]]], > Piecewise[{{0, templist[[3]] == l}, {sol1[[2]], > templist[[1]] == l}, {sol2[[2]], > templist[[2]] == l}}]}}, {a, amin, amax, da}]]; > (*points=Select[tlist,#[[2,2]]==3&]/.{a_,{J_, > I_,\[CapitalDelta]_}}->a > Graphics[Point[points],Axes->True]*) > (*points=Select[Flatten[templist/.{{x_,y_},{z_,w_}}->{{x,y},{w}}, > 1],#[[2]][[1]]==3&]/.{{x_,y_},{w_}}->{x,y};*) > (*points=Select[tlist,#[[2,2]]==3&]/.{x_,{z_,w_}}->x; > points*) > JN = Interpolation[tlist1 /. {x_, {z_, w_, y_}} -> {x, z}]; > (*PN=Interpolation[tlist/.{x_,{z_,w_,y_}}->{x,y}];*) > (*Off[InterpolatingFunction::dmval];*) > (*Plot[JN[x],{x,0,1}]*) > some = NestList[(JJ = #[[2]]; {tlist = Parallelize[ParallelEval= uate[ > Off[FindMinimum::reged]]; > ParallelEvaluate[Off[FindMaximum::lstol]]; > ParallelEvaluate[Off[InterpolatingFunction::dmval]]; > Table[(*nlist=(#[[1]]/.{x_,{z_,w_,y_}}->y);*){a, > {l = > Max[templist = {(sol1 = > Flatten[Last[NestList[{{#[[1, 1]]/= 2}, > > Reverse[ > Last[sll[ > Flatten[ > Table[{{\[Xi]}, (Total[ > dist /. {{r_Real, S_Real}, > p_Real} -> (((Log[(S + \[Xi] (r - > S) + \[Mu] (\[Xi] - a) S)] + > JJ[(\[Xi]* > r)/(S + \[Xi] (r - S) + \[Mu] (\[X= i] - a) S)])* > p))])}, {\[Xi], > If[(#[[2, 2, 1]] - 2*#[[1, 1]]) >= = > 0, (#[[2, 2, 1]] - 2*#[[1, 1]]), 0= ], > If[(#[[2, 2, 1]] + 2*#[[1, 1]]) <= = > a, (#[[2, 2, 1]] + 2*#[[1, 1]]), a= ], #[[1, 1]]}], > 0], 2]]]} & , > {{a/4}, {-100, {a/2}}}, UU]][[2]]]= )[[1]], (sol2 = > Flatten[Last[NestList[{{#[[1, 1]]/= 2}, > > Reverse[ > Last[sll[ > Flatten[ > Table[{{\[Xi]}, (Total[ > dist /. {{r_Real, S_Real}, > p_Real} -> ((Log[(S + \[Xi] (r - > S) - \[Lambda] (\[Xi] - a) S)] + > JJ[(\[Xi]* > r)/(S + \[Xi] (r - S) - \[Lambda] = (\[Xi] - > a) S)])*p)])}, {\[Xi], > If[(#[[2, 2, 1]] - 2*#[[1, 1]]) >= = > a, (#[[2, 2, 1]] - 2*#[[1, 1]]), a= ], > If[(#[[2, 2, 1]] + 2*#[[1, 1]]) <= = ( > 1 + a*\[Lambda])/( > 1 + \[Lambda]), (#[[2, 2, 1]] + 2*= #[[1, 1]]), ( > 1 + a*\[Lambda])/(1 + \[Lambda])],= #[[1, 1]]}], > 0], 2]]]} & , > {{0.25*((1 + a*\[Lambda])/(1 + \[L= ambda]) - > a)}, {-100, {0.5*(a + (1 + a*\[Lam= bda])/( > 1 + \[Lambda]))}}}, UU]][[2]]])[[1= ]], > > Total[dist /. {{r_Real, S_Real}, > p_Real} -> (Log[(S + a (r - S))] + > JJ[(a*r)/(a*r + (1 - a) S)])*p]}], > If[templist[[3]] == l, 3, > Flatten[Position[templist, l]][[1]]], > Piecewise[{{0, templist[[3]] == l}, {sol1[[2]= ], > templist[[1]] == l}, {sol2[[2]], > templist[[2]] == l}}]}}, {a, amin, ama= x, da}]], > Interpolation[ > tlist /. {x_, {z_, w_, y_}} -> {x, z}]}) &, {tlist1, JN}, > nn - 1]]; > stuff = Table[{1/NN, bndry3[NN, data]}, {NN, 4, 7}]; > listn[a_] := {#[[1]], #[[2]][[4, 2]][a]} & /@ stuff; > a = 0.5; > g1 = ListPlot[listn[a], PlotStyle -> {Red, PointSize[Large]}] > _________________________________________________________________________= _______ > <http://t2.gstatic.com/images?q=tbn:ANd9GcRd4WJa3qO12skxxSAppQ9HimoQsMP= 5o--uCIe7yxZahJqlkN4z> > "We have not succeeded in answering all our problems.The answers we have > found only serve to raise a whole set of new questions.In some ways we fe= el > that we are as confused as ever,but we believe we are confused on a highe= r > level and about more important things!! Haha" > "One day we definitely get to see all the beauty present in this world > !!!" > "Life can only be understood going backwards but it must be lived going > forwards!" > _________________________________________________________________________= _______ > THIS MESSAGE IS ONLY INTENDED FOR THE USE OF THE INTENDED > RECIPIENT(S) AND MAY CONTAIN INFORMATION THAT IS PRIVILEGED, > PROPRIETARY AND/OR CONFIDENTIAL. If you are not the intended > recipient, you are hereby notified that any review, retransmission, > dissemination, distribution, copying, conversion to hard copy or > other use of this communication is strictly prohibited. If you are > not the intended recipient and have received this message in error, > please notify me by return e-mail and delete this message from your > system. Nabeel Butt Inc. > > > > > > Nabeel Butt > UWO,London > Ontario, Canada
- References:
- Mathematica results different on different computers !
- From: Nabeel Butt <nabeel.butt@gmail.com>
- Mathematica results different on different computers !