Questions tagged [memoization]
For questions related to user defined caching mechanisms, memoization, in particular.
74
questions
6
votes
1
answer
189
views
How to remember evaluation across sessions?
I am performing a very time-consuming symbolic calculation.
When I reopen a saved Mathematica notebook, it takes quite a long time to evaluate.
Is there an option to tell Mathematica to remember the ...
0
votes
2
answers
78
views
Memoization and recursions
My question is bolded within the text below.
Memoization speeds up a recursion that needs to recall a prior rule other than the last one calculated. For instance, on my machine, the following take 0....
4
votes
1
answer
178
views
Why is a function of two functions that use memoization still slow?
I have two functions that I both use memoization for. My goal is to plot the ratio of these two functions. Since I already plot the functions by themselves, and I use memoization, it would seem to me ...
1
vote
0
answers
39
views
RegionPlot3D incorrectly plots regions defined by memoized functions
RegionPlot3D incorrectly plots regions defined by memoized functions.
A memoizer:
...
3
votes
1
answer
120
views
Memoization of functions with optional arguments
Consider the following function that generates a sparse diagonal matrix:
...
1
vote
0
answers
36
views
Creating a library of saved function values [duplicate]
I have a command of the form J[b,c,n] which outputs a list of complex numbers, obtained by using FindRoot. Some outputs take ...
0
votes
1
answer
66
views
Memoization Involving More than one Variable [duplicate]
Good morning. I would like to know if there is a way to implement memoization if there is more than one variable involved in the memoization; or more accurately, for my problem, have the memoization ...
0
votes
0
answers
18
views
How to memoize with patterns? [duplicate]
Here is an artificial example to explain what I am up to. Define
ClearAll[f]
f[x_, y_] := f[x, y] = If[x == 0, g[y], g[f[x - 1, y]]]
Then ...
2
votes
0
answers
40
views
Optimising tensor operations under memory constraints
Let riem is a free variable with riem ∈ Arrays[{4, 4, 4, 4} as assumption. Let:
...
2
votes
0
answers
114
views
Why does this memoized function cause the kernel to quit? [closed]
The following memoized recursive function causes the kernel to beep and quit.
...
3
votes
1
answer
149
views
Recursive solution to the extended Josephus problem [duplicate]
The Josephus Problem is described here, with extension of killing every $k$th problem. In the simple case where every other person is killed, we can also use the binary trick.
...
1
vote
2
answers
136
views
Save part of memoized function
I have a function whose performing a series of expansions of a complicated function, which can take a lot of time. To avoid bottlenecks, I use memoization so I need to evaluate it only once.
For ...
0
votes
4
answers
122
views
How to "cache" function values to pass to ListPlot?
I have a function which is very expensive to run. I would like to Plot the function for a certain range, but it is time prohibitive to let Plot simply compute the function for a lot of values as it ...
0
votes
1
answer
71
views
Memoization (or otherwise) for a recurrent definition of a (double) sequence of functions
Beside I've found answers to similar questions (e.g. this), I can't adapt them to my case.
I am interested in the following sequence of functions $p_{m,n}(t)$, where $m$ and $n$ are integer:
$$
\...
2
votes
1
answer
125
views
a recursive function using memoization
I have looked at a lot of these cases, e.g. Can one identify the design patterns of Mathematica? and the included ones.
My trimmed example, here establishing the 'initial conditions' (where the ...
8
votes
1
answer
148
views
Memoization and packages
I am working in a package on symmetric functions, that sometimes are quite expensive to compute. I use memoization extensively, but what is the correct approach for a package intended for the public ...
6
votes
1
answer
325
views
Clever caching of a recursively defined function
I've got a function of the form f[n,s] where n is a natural number and s is a finite ...
0
votes
1
answer
197
views
Create recursive sequence of functions with memoization
I am trying to create a sequence of functions and have it properly memoize the results. The recursive operation is simply convolution, so it possible there is a better way to do this (obviously, if I ...
18
votes
1
answer
341
views
When to use Once for memoization?
While watching Stephen Wolfram's twitch stream I saw him use Once for memoization, which surprised me since I thought of Once as ...
0
votes
2
answers
155
views
memoization based on function expression?
I want to create a function $f$ which takes as a parameter a function $h$, and calculates its integral between $a$ and $b$.
But I want to apply memoization to this, by only calculating the integral ...
4
votes
0
answers
156
views
Memoization of built in function
What is the best way to let mathematica memoize built-in function like e.g.
SphericalHarmonicY[l,m,th,ph]
One possibility would be for sure:
...
2
votes
1
answer
96
views
Timing of three different strategies for fibonacci numbers
A standard way to speed up the creation of Fibonacci numbers is by memoization
Instead of:
fib1[0] = 0;
fib1[1] = 1;
fib1[n_] := fib1[n - 1] + fib1[n - 2];
One ...
2
votes
1
answer
116
views
Debugging and decision support tools for Dynamic Programming (cached definitions) in Mathematica
I'm using the Quantum Computing library with this example:
...
0
votes
0
answers
93
views
How to create a listable, memoized function
Suppose I have a known real constant $a$, and I want to calculate $f(n) = \prod_{k=1}^{n}(a-k)$. I know I could memoize this function
...
25
votes
4
answers
1k
views
Throwaway memoization makes built-ins faster?
Yesterday I got into an argument with @UnchartedWorks over in the comment thread here. At first glance, he posted a duplicate of Marius' answer, but with some unnecessary memoization:
...
2
votes
2
answers
120
views
Memoization and finding already calculated DownValue
The problem of plotting an expensive function discussed in this question caught my attention. As an exercies I tried to solve it using memoization as follows
...
1
vote
1
answer
91
views
Forward iterations of coupled recursion equations
I need to do forward iterations of a system of 16 coupled recursion equations that track the frequency of genotypes over time in a biological model. I find that the iterations run slowly (it takes ~ ...
4
votes
4
answers
652
views
Memoization of a function defined by a recurrence relation [duplicate]
I have a function which is defined by the following recurrence relation
$$h_{n}(x)=h_{n-1}(x)+\frac{\mathrm{e}^{-x^2}}{2^n n!}H_{n}(x)H_{n-1}(x)$$
with the initial condition $h_{0}(x)=0$ and where the ...
1
vote
1
answer
169
views
Recurrence Table Differentiation
I would like to generate a table of values by differentiating a function for each entry on the table based off of the previous entry. The purpose is to decrease the number of differentiations as the ...
2
votes
1
answer
152
views
Memoization only under certain conditions
I have a function that takes in sequences of values (as a list), and recursively removes the largest element from that sequence as part of its computation. Some of these sequences can be quite large, ...
1
vote
1
answer
226
views
Which data tabulation concept is best suited for discrete dynamic programming problems (e.g. for optimum series of account withdrawals)?
A bank account has starting balance, which shall be completely withdrawn in n steps, such that the sum of benefits of withdrawals is maximum. Remaining balance yield interest between steps such that ...
0
votes
0
answers
73
views
Reuse symbolic polynomial
Suppose I have a function that returns a polynomial in x,
GetPoly[params_,x_]:=GetPoly[params,x]...
but it is quite slow, so ...
5
votes
1
answer
219
views
How can I access memoized values from parallel evaluation? [duplicate]
I want to evaluate a table of functions with ParallelTable. Here is the serial code:
...
5
votes
0
answers
469
views
Change of basis of polynomials
Suppose I have a favourite basis for polynomials in $x_1,\dotsc,x_n$, say non-symmetric Macdonald polynomials to be specific.
I can easily compute these, and thus the change-of-basis matrix that takes ...
7
votes
2
answers
2k
views
How does one clear the memory of a recursive function
I want to implement the recursive function
v[n_] := v[n] = v[n-1] + f[n-1] + Random[NormalDistribution[0,s]]
to get ...
4
votes
2
answers
190
views
Assigning function values in a memoized recursive module
I have a complicated recursive module which I have memoized.
I realised that certain isomorphs of inputs to this function will give the same output. Therefore I decided to memoize all such input-...
3
votes
0
answers
64
views
Memoized function with function parameter [duplicate]
I have some code that takes a function and uses the function to do some complicated computation. Thus, I wish to store this so I don't have to repeat this. Below, it is more simple than my real ...
1
vote
0
answers
87
views
Prevent Mathematica using previous result [closed]
How can I prevent mathematica from using the previous computation in new one? How do I make the code below to compute same amount of time without memorizing previous computation.
...
7
votes
0
answers
105
views
Time complexity to choose the right overload from the memoized function
If we want to save some outputs of the function, we often use the memoization pattern as follows,
f[x_]:=f[x]=x
f/@Range[10^5]
If I call this function many times ...
10
votes
1
answer
261
views
How to speed up the evaluation of a function with a large LeafCount but many repeated sub-functions for use in NIntegrate
General Context
Apparently, the memory leak in NIntegrate is unavoidable pre-MMA-10.2. I have some (two-dimensional) numerical integration to do on a complicated ...
9
votes
1
answer
688
views
Can I memoize retroactively?
I have a function defined something like this:
f[x_] := Module[...];
I can easily write a memoized version of it like this:
...
13
votes
1
answer
248
views
How to write crash-robust code?
When a notebook crashes all the work I was doing is lost - I'd like to ameliorate this situation!
Is there a way to decorate a symbol so that it is saved to disk whenever it changes, or after a ...
48
votes
2
answers
3k
views
Memoization with pure functions?
Is this possible?
If I have a simple function, say:
f=If[#>0,1,2]&
then for each value of # this will re-evaluate f right?
Is it possible to define a ...
3
votes
1
answer
249
views
Kernel crashed after $RecursionLimit = Infinity
$RecursionLimit = Infinity;
T[n_, k_]:= T[n, k] = If[n == 0 || k == 1, 1, T[n, k-1] + If[n<k, 0, T[n-k, k]]];
Table[T[n!, n], {n, 1, 9}]
Without ...
6
votes
2
answers
154
views
Combining memoization and SlotSequence
I found myself writing memoizing code like this:
...
2
votes
0
answers
2k
views
SystemException[MemoryAllocationFailure] with Memoized function [closed]
Version 10.1 Win7x64 Enterprise.
This is more of a report than a question but others may have seen the same / have insights.
I have some code (that I can't really post as it's too big) with a large ...
11
votes
2
answers
292
views
Saving memoization to disk
I like using memoization (i.e. the construct myFunction[x_]:=myFunction[x]=...) when I have a heavy function that I need to re-evaluate on the same arguments. ...
4
votes
0
answers
98
views
Parallelization and memoization? [duplicate]
I have an expensive function on discrete values,
f[n_] := f[n] = n^2 (* Expensive calculation *)
Since f[n] is an expensive ...
9
votes
2
answers
342
views
using memoization with conditional statement
I would like some advice about the use of memoization in conjunction with conditional statements. Let me try to explain my problem:
I am constructing a function depending on a number of parameters. ...
8
votes
2
answers
393
views
Correct way to use memoization for recurrence relation having an Integral
I am trying to construct a way to make a function for the following recurrence relation.
$$ Q(N,L) = \int_{0}^{L-(N-1)a} Q(N-1, L-a-z) dz $$,
with the initial condition $Q(2,L) = \frac{1}{2} (a-L)...