Why is this recursive code so slow? Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What are the hidden specifications for FindRootWhy does this function inside FindRoot fail to evaluate?Very slow mathematica finite differencesUsing Mathematica to solve a recursive system of differential equationsImproving the speed on an iterated differential systemForward iterations of coupled recursion equationsManipulate+FindRoot+Plot3D very slow/crashAttacking a “Mathematica can't solve” problemErrors using FindRoot on slow numerical functionAvoiding a for loop to create a list

Amount of permutations on an NxNxN Rubik's Cube

Using audio cues to encourage good posture

Why do we bend a book to keep it straight?

How do I find out the mythology and history of my Fortress?

When a candle burns, why does the top of wick glow if bottom of flame is hottest?

How to tell that you are a giant?

Can anything be seen from the center of the Boötes void? How dark would it be?

Fundamental Solution of the Pell Equation

If a contract sometimes uses the wrong name, is it still valid?

Around usage results

Does classifying an integer as a discrete log require it be part of a multiplicative group?

Irreducible of finite Krull dimension implies quasi-compact?

Do I really need to have a message in a novel to appeal to readers?

Do jazz musicians improvise on the parent scale in addition to the chord-scales?

Delete nth line from bottom

Is this homebrew Lady of Pain warlock patron balanced?

Dating a Former Employee

Is it common practice to audition new musicians one-on-one before rehearsing with the entire band?

Should I use a zero-interest credit card for a large one-time purchase?

old style "caution" boxes

How come Sam didn't become Lord of Horn Hill?

また usage in a dictionary

If my PI received research grants from a company to be able to pay my postdoc salary, did I have a potential conflict interest too?

Generate an RGB colour grid



Why is this recursive code so slow?



Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Announcing the arrival of Valued Associate #679: Cesar Manara
Unicorn Meta Zoo #1: Why another podcast?What are the hidden specifications for FindRootWhy does this function inside FindRoot fail to evaluate?Very slow mathematica finite differencesUsing Mathematica to solve a recursive system of differential equationsImproving the speed on an iterated differential systemForward iterations of coupled recursion equationsManipulate+FindRoot+Plot3D very slow/crashAttacking a “Mathematica can't solve” problemErrors using FindRoot on slow numerical functionAvoiding a for loop to create a list










5












$begingroup$


This code for the first five iterations the speed is okay, but after that the speed is very slow, I cannot understand what is wrong with this? Would you please help me fix it?



Clear[A, r, x, s, e]
s := 0.3405
e := 1.6539*10^-21
u[0] := 0.
u[1] := 0.1

A[r_] := A[r] =
Piecewise[r - 2.5 s - 48*e *s^12*r^-13 + 24*e*s^6*r^-7,
r > 2.5 s, -48*e*s^12*r^-13 + 24*e*s^6*r^-7,
s <= r <= 2.5 s, r - s -
24*e*s^-1, r < s]
For[i = 2, i < 101,
i++, u[i_] :=
x /. FindRoot[
u[i - 1] +
1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) -
0.9 A[x] == x , x, 1.]; Print[u[i]]]









share|improve this question











$endgroup$











  • $begingroup$
    How slow? How many minutes/seconds?
    $endgroup$
    – JonyD
    Apr 12 at 8:28















5












$begingroup$


This code for the first five iterations the speed is okay, but after that the speed is very slow, I cannot understand what is wrong with this? Would you please help me fix it?



Clear[A, r, x, s, e]
s := 0.3405
e := 1.6539*10^-21
u[0] := 0.
u[1] := 0.1

A[r_] := A[r] =
Piecewise[r - 2.5 s - 48*e *s^12*r^-13 + 24*e*s^6*r^-7,
r > 2.5 s, -48*e*s^12*r^-13 + 24*e*s^6*r^-7,
s <= r <= 2.5 s, r - s -
24*e*s^-1, r < s]
For[i = 2, i < 101,
i++, u[i_] :=
x /. FindRoot[
u[i - 1] +
1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) -
0.9 A[x] == x , x, 1.]; Print[u[i]]]









share|improve this question











$endgroup$











  • $begingroup$
    How slow? How many minutes/seconds?
    $endgroup$
    – JonyD
    Apr 12 at 8:28













5












5








5





$begingroup$


This code for the first five iterations the speed is okay, but after that the speed is very slow, I cannot understand what is wrong with this? Would you please help me fix it?



Clear[A, r, x, s, e]
s := 0.3405
e := 1.6539*10^-21
u[0] := 0.
u[1] := 0.1

A[r_] := A[r] =
Piecewise[r - 2.5 s - 48*e *s^12*r^-13 + 24*e*s^6*r^-7,
r > 2.5 s, -48*e*s^12*r^-13 + 24*e*s^6*r^-7,
s <= r <= 2.5 s, r - s -
24*e*s^-1, r < s]
For[i = 2, i < 101,
i++, u[i_] :=
x /. FindRoot[
u[i - 1] +
1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) -
0.9 A[x] == x , x, 1.]; Print[u[i]]]









share|improve this question











$endgroup$




This code for the first five iterations the speed is okay, but after that the speed is very slow, I cannot understand what is wrong with this? Would you please help me fix it?



Clear[A, r, x, s, e]
s := 0.3405
e := 1.6539*10^-21
u[0] := 0.
u[1] := 0.1

A[r_] := A[r] =
Piecewise[r - 2.5 s - 48*e *s^12*r^-13 + 24*e*s^6*r^-7,
r > 2.5 s, -48*e*s^12*r^-13 + 24*e*s^6*r^-7,
s <= r <= 2.5 s, r - s -
24*e*s^-1, r < s]
For[i = 2, i < 101,
i++, u[i_] :=
x /. FindRoot[
u[i - 1] +
1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) -
0.9 A[x] == x , x, 1.]; Print[u[i]]]






equation-solving recursion






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 12 at 8:27









Roman

5,56111131




5,56111131










asked Apr 12 at 4:08









morapimorapi

355




355











  • $begingroup$
    How slow? How many minutes/seconds?
    $endgroup$
    – JonyD
    Apr 12 at 8:28
















  • $begingroup$
    How slow? How many minutes/seconds?
    $endgroup$
    – JonyD
    Apr 12 at 8:28















$begingroup$
How slow? How many minutes/seconds?
$endgroup$
– JonyD
Apr 12 at 8:28




$begingroup$
How slow? How many minutes/seconds?
$endgroup$
– JonyD
Apr 12 at 8:28










1 Answer
1






active

oldest

votes


















12












$begingroup$

I recommend you learn the distinction between immediate (=) and delayed (:=) assignments. They make the difference between slow and fast code here. Start with this tutorial or this book chapter, then look at memoization.



s = 0.3405;
e = 1.6539*10^-21;
u[0] = 0.;
u[1] = 0.1;

A[r_] = Piecewise[r - 2.5 s - 48*e*s^12*r^-13 + 24*e*s^6*r^-7, r > 2.5 s,
-48*e*s^12*r^-13 + 24*e*s^6*r^-7, s <= r <= 2.5 s,
r - s - 24*e*s^-1, r < s];

u[i_] := u[i] = x /. FindRoot[
u[i - 1] + 1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) - 0.9 A[x] == x, x, 1.]

Array[u, 100]



0.1, 1.77164, 1.37065, 1.04259, 0.887781, 0.708344, 0.59461,
0.457228, 0.367364, 0.296071, 0.256104, 0.20463, 0.208487, 1.20917,
1.04197, 0.939331, 0.879865, 0.827963, 0.774591, 0.72775, 0.67934,
0.63666, 0.592369, 0.553172, 0.512352, 0.476112, 0.438261, 0.404563,
0.369277, 0.339073, 0.321616, 0.301118, 0.296195, 0.224688, 0.273538,
0.31357, 0.33593, 0.366902, 0.38813, 0.417572, 0.437777, 0.465834,
0.48511, 0.511907, 0.530336, 0.55598, 0.573633, 0.598219, 0.615159,
0.638772, 0.655054, 0.677768, 0.693441, 0.715321, 0.73043, 0.751535,
0.766118, 0.786503, 0.800596, 0.820306, 0.833941, 0.852182, 0.85901,
0.874152, 0.871531, 0.78396, 0.781416, 0.696402, 0.693931, 0.611329,
0.608927, 0.528603, 0.526267, 0.448099, 0.445825, 0.369701, 0.367485,
0.315658, 0.325798, 0.341207, 0.351098, 0.366134, 0.375788, 0.390468,
0.399897, 0.414237, 0.42345, 0.437466, 0.446473, 0.46018, 0.46899,
0.4824, 0.491022, 0.504149, 0.51259, 0.525444, 0.533712, 0.546306,
0.554408, 0.56675




(takes about 1.3 seconds)



Alternatively, use



Table[u[i], i, 1, 100]


(same result). Your combination of For and Print shows the results but doesn't let you keep using them for more calculations.






share|improve this answer











$endgroup$












  • $begingroup$
    thank you very much. I really appreciate it.
    $endgroup$
    – morapi
    Apr 12 at 6:35






  • 1




    $begingroup$
    delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
    $endgroup$
    – Roland
    Apr 12 at 10:07







  • 2




    $begingroup$
    @Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
    $endgroup$
    – Roman
    Apr 12 at 10:14











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195054%2fwhy-is-this-recursive-code-so-slow%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









12












$begingroup$

I recommend you learn the distinction between immediate (=) and delayed (:=) assignments. They make the difference between slow and fast code here. Start with this tutorial or this book chapter, then look at memoization.



s = 0.3405;
e = 1.6539*10^-21;
u[0] = 0.;
u[1] = 0.1;

A[r_] = Piecewise[r - 2.5 s - 48*e*s^12*r^-13 + 24*e*s^6*r^-7, r > 2.5 s,
-48*e*s^12*r^-13 + 24*e*s^6*r^-7, s <= r <= 2.5 s,
r - s - 24*e*s^-1, r < s];

u[i_] := u[i] = x /. FindRoot[
u[i - 1] + 1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) - 0.9 A[x] == x, x, 1.]

Array[u, 100]



0.1, 1.77164, 1.37065, 1.04259, 0.887781, 0.708344, 0.59461,
0.457228, 0.367364, 0.296071, 0.256104, 0.20463, 0.208487, 1.20917,
1.04197, 0.939331, 0.879865, 0.827963, 0.774591, 0.72775, 0.67934,
0.63666, 0.592369, 0.553172, 0.512352, 0.476112, 0.438261, 0.404563,
0.369277, 0.339073, 0.321616, 0.301118, 0.296195, 0.224688, 0.273538,
0.31357, 0.33593, 0.366902, 0.38813, 0.417572, 0.437777, 0.465834,
0.48511, 0.511907, 0.530336, 0.55598, 0.573633, 0.598219, 0.615159,
0.638772, 0.655054, 0.677768, 0.693441, 0.715321, 0.73043, 0.751535,
0.766118, 0.786503, 0.800596, 0.820306, 0.833941, 0.852182, 0.85901,
0.874152, 0.871531, 0.78396, 0.781416, 0.696402, 0.693931, 0.611329,
0.608927, 0.528603, 0.526267, 0.448099, 0.445825, 0.369701, 0.367485,
0.315658, 0.325798, 0.341207, 0.351098, 0.366134, 0.375788, 0.390468,
0.399897, 0.414237, 0.42345, 0.437466, 0.446473, 0.46018, 0.46899,
0.4824, 0.491022, 0.504149, 0.51259, 0.525444, 0.533712, 0.546306,
0.554408, 0.56675




(takes about 1.3 seconds)



Alternatively, use



Table[u[i], i, 1, 100]


(same result). Your combination of For and Print shows the results but doesn't let you keep using them for more calculations.






share|improve this answer











$endgroup$












  • $begingroup$
    thank you very much. I really appreciate it.
    $endgroup$
    – morapi
    Apr 12 at 6:35






  • 1




    $begingroup$
    delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
    $endgroup$
    – Roland
    Apr 12 at 10:07







  • 2




    $begingroup$
    @Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
    $endgroup$
    – Roman
    Apr 12 at 10:14















12












$begingroup$

I recommend you learn the distinction between immediate (=) and delayed (:=) assignments. They make the difference between slow and fast code here. Start with this tutorial or this book chapter, then look at memoization.



s = 0.3405;
e = 1.6539*10^-21;
u[0] = 0.;
u[1] = 0.1;

A[r_] = Piecewise[r - 2.5 s - 48*e*s^12*r^-13 + 24*e*s^6*r^-7, r > 2.5 s,
-48*e*s^12*r^-13 + 24*e*s^6*r^-7, s <= r <= 2.5 s,
r - s - 24*e*s^-1, r < s];

u[i_] := u[i] = x /. FindRoot[
u[i - 1] + 1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) - 0.9 A[x] == x, x, 1.]

Array[u, 100]



0.1, 1.77164, 1.37065, 1.04259, 0.887781, 0.708344, 0.59461,
0.457228, 0.367364, 0.296071, 0.256104, 0.20463, 0.208487, 1.20917,
1.04197, 0.939331, 0.879865, 0.827963, 0.774591, 0.72775, 0.67934,
0.63666, 0.592369, 0.553172, 0.512352, 0.476112, 0.438261, 0.404563,
0.369277, 0.339073, 0.321616, 0.301118, 0.296195, 0.224688, 0.273538,
0.31357, 0.33593, 0.366902, 0.38813, 0.417572, 0.437777, 0.465834,
0.48511, 0.511907, 0.530336, 0.55598, 0.573633, 0.598219, 0.615159,
0.638772, 0.655054, 0.677768, 0.693441, 0.715321, 0.73043, 0.751535,
0.766118, 0.786503, 0.800596, 0.820306, 0.833941, 0.852182, 0.85901,
0.874152, 0.871531, 0.78396, 0.781416, 0.696402, 0.693931, 0.611329,
0.608927, 0.528603, 0.526267, 0.448099, 0.445825, 0.369701, 0.367485,
0.315658, 0.325798, 0.341207, 0.351098, 0.366134, 0.375788, 0.390468,
0.399897, 0.414237, 0.42345, 0.437466, 0.446473, 0.46018, 0.46899,
0.4824, 0.491022, 0.504149, 0.51259, 0.525444, 0.533712, 0.546306,
0.554408, 0.56675




(takes about 1.3 seconds)



Alternatively, use



Table[u[i], i, 1, 100]


(same result). Your combination of For and Print shows the results but doesn't let you keep using them for more calculations.






share|improve this answer











$endgroup$












  • $begingroup$
    thank you very much. I really appreciate it.
    $endgroup$
    – morapi
    Apr 12 at 6:35






  • 1




    $begingroup$
    delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
    $endgroup$
    – Roland
    Apr 12 at 10:07







  • 2




    $begingroup$
    @Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
    $endgroup$
    – Roman
    Apr 12 at 10:14













12












12








12





$begingroup$

I recommend you learn the distinction between immediate (=) and delayed (:=) assignments. They make the difference between slow and fast code here. Start with this tutorial or this book chapter, then look at memoization.



s = 0.3405;
e = 1.6539*10^-21;
u[0] = 0.;
u[1] = 0.1;

A[r_] = Piecewise[r - 2.5 s - 48*e*s^12*r^-13 + 24*e*s^6*r^-7, r > 2.5 s,
-48*e*s^12*r^-13 + 24*e*s^6*r^-7, s <= r <= 2.5 s,
r - s - 24*e*s^-1, r < s];

u[i_] := u[i] = x /. FindRoot[
u[i - 1] + 1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) - 0.9 A[x] == x, x, 1.]

Array[u, 100]



0.1, 1.77164, 1.37065, 1.04259, 0.887781, 0.708344, 0.59461,
0.457228, 0.367364, 0.296071, 0.256104, 0.20463, 0.208487, 1.20917,
1.04197, 0.939331, 0.879865, 0.827963, 0.774591, 0.72775, 0.67934,
0.63666, 0.592369, 0.553172, 0.512352, 0.476112, 0.438261, 0.404563,
0.369277, 0.339073, 0.321616, 0.301118, 0.296195, 0.224688, 0.273538,
0.31357, 0.33593, 0.366902, 0.38813, 0.417572, 0.437777, 0.465834,
0.48511, 0.511907, 0.530336, 0.55598, 0.573633, 0.598219, 0.615159,
0.638772, 0.655054, 0.677768, 0.693441, 0.715321, 0.73043, 0.751535,
0.766118, 0.786503, 0.800596, 0.820306, 0.833941, 0.852182, 0.85901,
0.874152, 0.871531, 0.78396, 0.781416, 0.696402, 0.693931, 0.611329,
0.608927, 0.528603, 0.526267, 0.448099, 0.445825, 0.369701, 0.367485,
0.315658, 0.325798, 0.341207, 0.351098, 0.366134, 0.375788, 0.390468,
0.399897, 0.414237, 0.42345, 0.437466, 0.446473, 0.46018, 0.46899,
0.4824, 0.491022, 0.504149, 0.51259, 0.525444, 0.533712, 0.546306,
0.554408, 0.56675




(takes about 1.3 seconds)



Alternatively, use



Table[u[i], i, 1, 100]


(same result). Your combination of For and Print shows the results but doesn't let you keep using them for more calculations.






share|improve this answer











$endgroup$



I recommend you learn the distinction between immediate (=) and delayed (:=) assignments. They make the difference between slow and fast code here. Start with this tutorial or this book chapter, then look at memoization.



s = 0.3405;
e = 1.6539*10^-21;
u[0] = 0.;
u[1] = 0.1;

A[r_] = Piecewise[r - 2.5 s - 48*e*s^12*r^-13 + 24*e*s^6*r^-7, r > 2.5 s,
-48*e*s^12*r^-13 + 24*e*s^6*r^-7, s <= r <= 2.5 s,
r - s - 24*e*s^-1, r < s];

u[i_] := u[i] = x /. FindRoot[
u[i - 1] + 1/(i^2 (u[i - 1] - u[i - 2])^2) (u[i - 1] - u[i - 2]) - 0.9 A[x] == x, x, 1.]

Array[u, 100]



0.1, 1.77164, 1.37065, 1.04259, 0.887781, 0.708344, 0.59461,
0.457228, 0.367364, 0.296071, 0.256104, 0.20463, 0.208487, 1.20917,
1.04197, 0.939331, 0.879865, 0.827963, 0.774591, 0.72775, 0.67934,
0.63666, 0.592369, 0.553172, 0.512352, 0.476112, 0.438261, 0.404563,
0.369277, 0.339073, 0.321616, 0.301118, 0.296195, 0.224688, 0.273538,
0.31357, 0.33593, 0.366902, 0.38813, 0.417572, 0.437777, 0.465834,
0.48511, 0.511907, 0.530336, 0.55598, 0.573633, 0.598219, 0.615159,
0.638772, 0.655054, 0.677768, 0.693441, 0.715321, 0.73043, 0.751535,
0.766118, 0.786503, 0.800596, 0.820306, 0.833941, 0.852182, 0.85901,
0.874152, 0.871531, 0.78396, 0.781416, 0.696402, 0.693931, 0.611329,
0.608927, 0.528603, 0.526267, 0.448099, 0.445825, 0.369701, 0.367485,
0.315658, 0.325798, 0.341207, 0.351098, 0.366134, 0.375788, 0.390468,
0.399897, 0.414237, 0.42345, 0.437466, 0.446473, 0.46018, 0.46899,
0.4824, 0.491022, 0.504149, 0.51259, 0.525444, 0.533712, 0.546306,
0.554408, 0.56675




(takes about 1.3 seconds)



Alternatively, use



Table[u[i], i, 1, 100]


(same result). Your combination of For and Print shows the results but doesn't let you keep using them for more calculations.







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 12 at 8:53

























answered Apr 12 at 4:43









RomanRoman

5,56111131




5,56111131











  • $begingroup$
    thank you very much. I really appreciate it.
    $endgroup$
    – morapi
    Apr 12 at 6:35






  • 1




    $begingroup$
    delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
    $endgroup$
    – Roland
    Apr 12 at 10:07







  • 2




    $begingroup$
    @Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
    $endgroup$
    – Roman
    Apr 12 at 10:14
















  • $begingroup$
    thank you very much. I really appreciate it.
    $endgroup$
    – morapi
    Apr 12 at 6:35






  • 1




    $begingroup$
    delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
    $endgroup$
    – Roland
    Apr 12 at 10:07







  • 2




    $begingroup$
    @Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
    $endgroup$
    – Roman
    Apr 12 at 10:14















$begingroup$
thank you very much. I really appreciate it.
$endgroup$
– morapi
Apr 12 at 6:35




$begingroup$
thank you very much. I really appreciate it.
$endgroup$
– morapi
Apr 12 at 6:35




1




1




$begingroup$
delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
$endgroup$
– Roland
Apr 12 at 10:07





$begingroup$
delayed assignments definitely sound slower than immediate, even if I have never worked with Mathematica
$endgroup$
– Roland
Apr 12 at 10:07





2




2




$begingroup$
@Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
$endgroup$
– Roman
Apr 12 at 10:14




$begingroup$
@Roland it's not just that one is necessarily faster or slower than the other, it's more that they are completely different things with very different applications. For some reason this point is often overlooked by beginners in Mathematica.
$endgroup$
– Roman
Apr 12 at 10:14

















draft saved

draft discarded
















































Thanks for contributing an answer to Mathematica Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f195054%2fwhy-is-this-recursive-code-so-slow%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company