Next Article in Journal / Special Issue
Dynamical Non-Equilibrium Molecular Dynamics
Previous Article in Journal / Special Issue
Correlation Functions in Open Quantum-Classical Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Malliavin Weight Sampling: A Practical Guide

by
Patrick B. Warren
1,* and
Rosalind J. Allen
2,*
1
Unilever R&D Port Sunlight, Quarry Road East, Bebington, Wirral, CH63 3JW, UK
2
Scottish Universities Physics Alliance (SUPA), School of Physics and Astronomy, the University of Edinburgh, the Kings Buildings, Mayfield Road, Edinburgh, EH9 3JZ, UK
*
Authors to whom correspondence should be addressed.
Submission received: 25 September 2013 / Revised: 9 October 2013 / Accepted: 18 October 2013 / Published: 27 December 2013
(This article belongs to the Special Issue Molecular Dynamics Simulation)

Abstract

: Malliavin weight sampling (MWS) is a stochastic calculus technique for computing the derivatives of averaged system properties with respect to parameters in stochastic simulations, without perturbing the system’s dynamics. It applies to systems in or out of equilibrium, in steady state or time-dependent situations, and has applications in the calculation of response coefficients, parameter sensitivities and Jacobian matrices for gradient-based parameter optimisation algorithms. The implementation of MWS has been described in the specific contexts of kinetic Monte Carlo and Brownian dynamics simulation algorithms. Here, we present a general theoretical framework for deriving the appropriate MWS update rule for any stochastic simulation algorithm. We also provide pedagogical information on its practical implementation.

1. Introduction

Malliavin weight sampling (MWS) is a method for computing derivatives of averaged system properties with respect to parameters in stochastic simulations [1,2]. The method has been used in quantitative financial modelling to obtain the “Greeks” (price sensitivities) [3], and as the Girsanov transform, in kinetic Monte Carlo simulations for systems biology [4]. Similar ideas have been used to study fluctuation-dissipation relations in supercooled liquids [5]. However, MWS appears to be relatively unknown in the fields of soft matter, chemical and biological physics, perhaps because the theory is relatively impenetrable for non-specialists, being couched in the language of abstract mathematics (e.g., martingales, Girsanov transform, Malliavin calculus, etc.); an exception in financial modelling is [6].

MWS works by introducing an auxiliary stochastic quantity, the Malliavin weight, for each parameter of interest. The Malliavin weights are updated alongside the system’s usual (unperturbed) dynamics, according to a set of rules. The derivative of any system function, A, with respect to a parameter of interest is then given by the average of the product of A with the relevant Malliavin weight; or in other words, by a weighted average of A, in which the weight function is given by the Malliavin weight. Importantly, MWS works for non-equilibrium situations, such as time-dependent processes or driven steady states. It thus complements existing methods based on equilibrium statistical mechanics, which are widely used in soft matter and chemical physics.

MWS has so far been discussed only in the context of specific simulation algorithms. In this paper, we present a pedagogical and generic approach to the construction of Malliavin weights, which can be applied to any stochastic simulation scheme. We further describe its practical implementation in some detail using as our example one dimensional Brownian motion in a force field.

2. The Construction of Malliavin Weights

The rules for the propagation of Malliavin weights have been derived for the kinetic Monte-Carlo algorithm [4,7], for the Metropolis Monte-Carlo scheme [5] and for both underdamped and overdamped Brownian dynamics [8]. Here we present a generic theoretical framework, which encompasses these algorithms and also allows extension to other stochastic simulation schemes.

We suppose that our system evolves in some state space, and a point in this state space is denoted as S. Here, we assume that the state space is continuous, but our approach can easily be translated to discrete or mixed discrete-continuous state spaces. Since the system is stochastic, its state at time t is described by a probability distribution, P (S). In each simulation step, the state of the system changes according to a propagator, W (SS′), which gives the probability that the system moves from point S to point S′ during an application of the update algorithm. The propagator has the property that

P ( S ) = S d S W ( S S ) P ( S )
where P′ (S) is the probability distribution after the update step has been applied and the integral is over the whole state space. We shall write this in a shorthand notation as
P = W P .
Integrating Equation (1) over S′, we see that the propagator must obey ∫S′ W (SS′) = 1. It is important to note, however, that we do not assume the detailed balance condition Peq(S) W (SS′) = Peq(S′) W (S′S) (for some equilibrium Peq(S)). Thus, our results apply to systems whose dynamical rules do not obey detailed balance (such as chemical models of gene regulatory networks [9]), as well as to systems out of steady state. We observe that the (finite) product
𝕎 ( S 1 , , S n ) = W ( S 1 S 2 ) × × W ( S n 1 S n )
is proportional to the probability of occurrence of a trajectory of states, {S1, . . . , Sn}, and can be interpreted as a trajectory weight.

Let us now consider the average of some quantity A(S) over the state space, in shorthand

A = A P .
The quantity A might well be a complicated function of the state of the system: for example the extent of crystalline order in a particle-based simulation, or a combination of the concentrations of various chemical species in a simulation of a biochemical network. We suppose that we are interested in the sensitivity of 〈A〉 to variations in some parameter of the simulation, which we denote as λ. This might be one of the force field parameters (or the temperature) in a particle-based simulation or a rate constant in a kinetic Monte Carlo simulation. We are interested in computing A/∂λ. This quantity can be written as
A λ = A P Q λ ,
where
Q λ = ln P λ
(using the fact that ln P/∂λ = (1/P)∂P/λ).

Let us now suppose that we track in our simulation not only the physical state of the system, but also an auxiliary stochastic variable, which we term qλ. At each simulation step qλ is updated according to a rule that depends on the system state; this does not perturb the system’s dynamics, but merely acts as a “readout”. By tracking qλ, we extend the state space, so that S becomes {S, qλ}. We can then define the average 〈qλS, which is an average of the value of qλ in the extended state space, with the constraint that the original (physical) state space point is fixed at S (see further below).

Our aim is to define a set of rules for updating qλ, such that 〈qλS = Qλ, i.e., such that the average of the auxiliary variable, for a particular state space point, measures the derivative of the probability distribution with respect to the parameter of interest, λ. If this is the case then, from Equation (5)

A λ = A q λ .
The auxiliary variable qλ is the Malliavin weight corresponding to the parameter λ.

How do we go about finding the correct updating rule? If the Malliavin weight exists, we should be able to derive its updating rule from the system’s underlying stochastic equations of motion. We obtain an important clue from differentiating Equation (1) with respect to λ. Extending the shorthand notation, one finds

P Q λ = W P ( Q λ + ln W λ ) .
This strongly suggests that the rule for updating the Malliavin weight should be
q λ = q λ + ln W λ .
In fact, this is correct. The proof is not difficult and, for the case of Brownian dynamics, can be found in the supplementary material for [8]. It involves averaging Equation (9) in the extended state space {S, qλ}.

From a practical point of view, for each time step, we implement the following procedure:

  • propagate the system from its current state S to a new state S′ using the algorithm that implements the stochastic equations of motion (Brownian, kinetic Monte-Carlo, etc.);

  • with knowledge of S and S′, and the propagator W (SS′), calculate the change in the Malliavin weight Δqλ = ln W (SS′)/∂λ;

  • update the Malliavin weight according to qλq′λ = qλ+ Δqλ.

At the start of the simulation, the Malliavin weight is usually initialised to qλ = 0.

Let us first suppose that our system is not in steady state. However rather the quantity 〈A〉 in which we are interested is changing in time and likewise A(t)〉/∂λ is a time-dependent quantity. To compute A(t)〉/∂λ we run N independent simulations, in each one tracking as a function of time A(t), qλ(t) and the product A(t) qλ(t). The quantities 〈A(t)〉 and A(t)〉/∂λ are then given by

A ( t ) 1 N i = 1 N A i ( t ) , A ( t ) λ 1 N i = 1 N A i ( t ) q λ , i ( t ) ,
where Ai(t) is the value of A(t) recorded in the ith simulation run (and likewise for qλ,i(t)). Error estimates can be obtained from the variance among the replicate simulations.

If, instead, our system is in steady state, the procedure needs to be modified slightly. This is because the variance in the values of q (t) across replicate simulations increases linearly in time (this point is discussed further below). For long times, computation of A/∂λ using Equation (10) therefore incurs a large statistical error. Fortunately, this problem can easily be solved by computing the correlation function

C ( t , t ) = A ( t ) [ q λ ( t ) q λ ( t ) ] .
In steady state, C(t, t′) = C(tt′), with the property that Ct) → ∂A/∂λ as Δt → ∞. In a single simulation run, we simply measure qλ(t) and A(t) at time intervals separated by Δt (which is typically multiple simulation steps). At each measurement, we compute A(t) [qλ(t) − qλ(t − Δt)]. We then average this latter quantity over the whole simulation run to obtain an estimate of A/∂λ. For this estimate to be accurate, we require that Δt is long enough that Ct) has reached its plateau value; this typically means that Δt should be longer than the typical relaxation time of the system’s dynamics. The correlation function approach is discussed in more detail in [7,8].

Returning to a more theoretical perspective, it is interesting to note that the rule for updating the Malliavin weight, Equation (9), depends deterministically on S and S′. This implies that the value of the Malliavin weight at time t is completely determined by the trajectory of system states during the time interval 0 → t. In fact, it is easy to show that

q λ = ln 𝕎 λ
where 𝕎 is the trajectory weight defined in Equation (3). Similar expressions are given in [5,7]. Thus, the Malliavin weight qλ is not fixed by the state point S but by the entire trajectory of states that have led to state point S. Since many different trajectories can lead to S, many values of qλ are possible for the same state point S. The average 〈qλ(t)〉S is actually the expectation value of the Malliavin weight, averaged over all trajectories that reach state point S at time t. This can be used to obtain an alternative proof that 〈qλS = ln P/∂λ. Suppose we sample N trajectories, of which NS end up at state point S (or a suitably defined vicinity thereof, in a continuous state space). We have P(S) = 〈NS/N. Then, the Malliavin property implies ∂P/∂λ = 〈NS qλ/N, and hence ln P/∂λ = 〈NS qλ/NS〉 = 〈qλS.

3. Multiple Variables, Second Derivatives and the Algebra of Malliavin Weights

Up to now, we have assumed that the quantity A does not depend explicitly on the parameter λ. There may be cases, however, when A does have an explicit λ-dependence. In these cases, Equation (7) should be replaced by

A λ = A λ + A q λ .
If we set A to be a constant in this, we immediately obtain the general result that 〈qλ〉 = 0. Equation (13) reveals a kind of ‘algebra’ for Malliavin weights: we see that the operations of taking an expectation value and taking a derivative can be commuted, provided the Malliavin weight is introduced as the commutator.

We can also extend our analysis further to allow us to compute higher derivatives with respect to the parameters. These may be useful, for example, for increasing the efficiency of gradient-based parameter optimisation algorithms. Taking the derivative of Equation (13) with respect to a second parameter μ gives

2 A λ μ = μ A λ + A q λ μ = 2 A λ μ + A λ q μ + A q λ μ + A μ q λ + A q λ q μ = A ( q λ μ + q λ q μ ) + A λ q μ + A μ q λ + 2 A λ μ ,
where in the second line we iterate the commutation relation, and in the third line we collect like terms and introduce
q λ μ = q λ μ .
In the case where A is independent of the parameters, this result simplifies to
2 A λ μ = A ( q λ μ + q λ q μ ) .
The quantity qλμ here is a new, second order, Malliavin weight which from Equations (12) and (15) satisfies
q λ μ = 2 ln 𝕎 λ μ .
To compute second derivatives with respect to the parameters, we should therefore track these second order Malliavin weights in our simulation, updating them alongside the existing Malliavin weights by the rule
q λ μ = q λ μ + 2 ln W ( S S ) λ μ .
Setting A as a constant in Equation (16), we also obtain the interesting result that 〈qλμ〉 = −〈qλqμ〉.

Steady state problems can be approached by extending the correlation function method to second order weights. Define, cf. Equation (11),

C ( t , t ) = A ( t ) { [ q λ μ ( t ) + q λ ( t ) q μ ( t ) ] [ q λ μ ( t ) + q λ ( t ) q μ ( t ) ] } .

As in the first order case, in steady state we expect C(t, t′) = C(tt′) with the property that Ct) → 2A/∂λ∂μ as Δt → ∞.

4. One-Dimensional Brownian Motion in a Force Field

We now demonstrate this machinery by way of a practical but very simple example, namely one-dimensional (overdamped) Brownian motion in a force field. In this case, the state space is specified simply by the particle position x which evolves according to the Langevin equation

d x d t = f ( x ) + η
where f(x) is the force field and η is Gaussian white noise of amplitude 2T, where T is temperature. Without loss of generality, we have chosen units so that there is no prefactor multiplying the force field. We discretise the Langevin equation to the following updating rule:
x = x + f ( x ) δ t + ξ ,
where δt is the time step and ξ is a Gaussian random variate with zero mean and variance 2T δt. Corresponding to this updating rule is an explicit expression for the propagator,
W ( x x ) = 1 4 π T δ t exp ( ( x x f ( x ) δ t ) 2 4 T δ t ) .
This follows from the statistical distribution of ξ. Let us suppose that the parameter of interest λ enters into the force field (the temperature T could also be chosen as a parameter). Making this assumption
ln W ( x x ) λ = ( x x f δ t ) 2 T f λ .
We can simplify this result by noting that from Equation (21), x′xf δt = ξ. Making use of this, the final updating rule for the Malliavin weight is
q λ = q λ + ξ 2 T f λ
where ξ is the exact same value that was used for updating the position in Equation (21). Because the value of ξ is the same for the updates of position and of qλ, the change in qλ is completely determined by the end points, x and x′. The derivative ∂f/∂λ should be evaluated at x since that is the position at which the force is computed in Equation (21). Since ξ in Equation (21) is a random variate uncorrelated with x, averaging Equation (24) shows that 〈q′λ 〉 = 〈qλ 〉. As the initial condition is qλ = 0, this means that 〈qλ〉 = 0, as predicted in the previous section. Equation (24) is essentially the same as that derived in [8].

If we differentiate Equation (23) with respect to a second parameter μ we get

2 ln W ( x x ) λ μ = ( x x f δ t ) 2 T 2 f λ μ δ t 2 T f λ f μ .
Hence, the updating rule for the second order Malliavin weight can be written as
q λ μ = q λ μ + ξ 2 T 2 f λ μ δ t 2 T f λ f μ ,
where again ξ is the exact same value as that used for updating the position in Equation (21). If we average Equation (26) over replicate simulation runs, we find 〈q′λμ〉 = 〈qλμ〉−(δt/2T)(∂f/∂λ)(∂f/∂μ). Hence the mean value 〈qλμ〉 drifts in time, unlike 〈qλ〉 or 〈qμ〉. However, one can show that the mean value of the sum 〈(qλμ + qλqμ)〉 is constant in time and equal to zero as long as initially qλ = qμ = 0.

Now let us consider the simplest case of a particle in a linear force field f = −κx + h (also discussed in [8]). This corresponds to a harmonic trap with the potential U = 1 2 κ x 2 h x. We let the particle start from x0 at t = 0 and track its time-dependent relaxation to the steady state. We shall set T = 1 for simplicity. The Langevin equation can be solved exactly for this case, and the mean position evolves according to

x ( t ) = x 0 e κ t + h κ ( 1 e κ t ) .
We suppose that we are interested in derivatives with respect to both h and κ, for a “baseline” parameter set in which κ is finite but h = 0. Taking derivatives of Equation (27) and setting h = 0, we find
x ( t ) h = 1 e κ t κ , x ( t ) κ = x 0 t e κ t , 2 x ( t ) h κ = t e κ t κ 1 e κ t κ 2 .
We now show how to compute these derivatives using Malliavin weight sampling. Applying the definitions in Equations (24) and (26), the Malliavin weight increments are
q h = q h + ξ 2 , q κ = q κ x ξ 2 , q h κ = q h κ + x δ t 2 ,
and the position update itself is
x = x κ x δ t + ξ .
We track these Malliavin weights in our simulation and use them to calculate derivatives according to
x ( t ) h = x ( t ) q h ( t ) , x ( t ) κ = x ( t ) q κ ( t ) , 2 x ( t ) h κ = x ( t ) ( q h κ ( t ) + q h ( t ) q κ ( t ) ) .
Equations (29)(31) have been coded up as a MATLAB script, described in Section 5. A typical result generated by running this script is shown in Figure 1. Equations (29) and (30) are iterated with δt = 0.01 up to t = 5, for a trap strength κ = 2 and initial position x0 = 1. The weighted averages in Equation (31) are evaluated as a function of time for N = 105 samples as in Equation (10). These results are shown as the solid lines in Figure 1. The dashed lines are theoretical predictions for the time dependent derivatives from Equation (28). As can be seen, the agreement between the time-dependent derivatives and the Malliavin weight averages is very good.

As discussed briefly above, in this procedure the sampling error in the computation of A(t)〉/∂λ is expected to grow with time. Figure 2 shows the mean square Malliavin weight as a function of time for the same problem. For the first order weights qh and qκ the growth rate is typically linear in time. Indeed, from Equation (29), one can prove that in the limit δt → 0 (see Section 5)

d q h 2 d t = 1 2 , d q κ 2 d t = x 2 2 .
Thus qh behaves exactly as a random walk, as should be obvious from the updating rule. The other weight qλ also ultimately behaves as a random walk since 〈x2〉 = 1 in steady state (from equipartition). Figure 2 also shows that the second order weight q grows superdiffusively; one can show that eventually 〈(q + qhqκ)2〉 ∼ t2, although the transient behaviour is complicated. Full expressions are given in Section 5. This suggests that computation of second order derivatives is likely to suffer more severely from statistical sampling problems than the computation of first order derivatives.

5. Conclusions

In this paper, we have provided an outline of the generic use of Malliavin weights for sampling derivatives in stochastic simulations, with an emphasis on practical aspects. The usefulness of MWS for a particular simulation scheme hinges on the simplicity or otherwise of constructing the propagator W (SS′) which fixes the updating rule for the Malliavin weights according to Equation (9). The propagator is determined by the algorithm used to implement the stochastic equations of motion; MWS may be easier to implement for some algorithms than for others. We note however that there is often some freedom of choice about the algorithm, such as the choice of a stochastic thermostat in molecular dynamics, or the order in which update steps are implemented. In these cases, a suitable choice may simplify the construction of the propagator and facilitate the use of Malliavin weights.

Acknowledgments

Rosalind J. Allen is supported by a Royal Society University Research Fellowship.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Bell, D.R. The Malliavin Calculus; Dover: Mineola, NY, USA, 2006. [Google Scholar]
  2. Nualart, D. The Malliavin Calculus and Related Topics; Springer: New York, NY, USA, 2006. [Google Scholar]
  3. Fournié, E.; Lasry, J.M.; Lebuchoux, J.; Lions, P.L.; Touzi, N. Applications of Malliavin calculus to Monte Carlo methods in finance. Financ. Stoch 1999, 3, 391–412. [Google Scholar]
  4. Plyasunov, A.; Arkin, A.P. Efficient stochastic sensitivity analysis of discrete event systems. J. Comput. Phys 2007, 221, 724–738. [Google Scholar]
  5. Berthier, L. Efficient measurement of linear susceptibilities in molecular simulations: Application to aging supercooled liquids. Phys. Rev. Lett 2007, 98, 220601. [Google Scholar]
  6. Chen, N.; Glasserman, P. Malliavin Greeks without Malliavin calculus. Stoch. Proc. Appl 2007, 117, 1689–1723. [Google Scholar]
  7. Warren, P.B.; Allen, R.J. Steady-state parameter sensitivity in stochastic modeling via trajectory reweighting. J. Chem. Phys 2012, 136, 104106. [Google Scholar]
  8. Warren, P.B.; Allen, R.J. Malliavin weight sampling for sensitivity coefficients in Brownian dynamics simulations. Phys. Rev. Lett 2012, 109, 250601. [Google Scholar]
  9. Warren, P.B.; ten Wolde, P.R. Chemical models of genetic toggle switches. J. Phys. Chem. B 2005, 109, 6812–6823. [Google Scholar]

Appendix

MATLAB Script

The MATLAB script in Listing 1 was used to generate the results shown in Figure 1. It implements Equations (29)(31) above, making extensive use of the compact MATLAB syntax for array operations, for instance invoking ‘.*’ for element-by-element multiplication of arrays.

Listing 1. MATLAB script used to generate Figure 1.
Listing 1. MATLAB script used to generate Figure 1.
Entropy 16 00221f3 1024

Here is a brief explanation of the script. Lines 1–3 initialise the problem and the parameter values. Lines 4 and 5 calculate the number of points in a trajectory and initialise a vector containing the time coordinate of each point. Lines 6–9 set aside storage for the actual trajectory, Malliavin weights and cumulative statistics. Lines 10–23 implement a pair of nested loops, which are the kernel of the simulation. Within the outer (trajectory sampling) loop, Line 11 initialises the particle position and Malliavin weights, Line 12 precomputes a vector of random displacements (Gaussian random variates), and Lines 13–18 generate the actual trajectory. Within the inner (trajectory generating loop), Lines 14–17 are a direct implementation of Equations (29) and (30). After each individual trajectory has been generated, the cumulative sampling step implied by Equation (31) is done in Lines 19–22; after all the trajectories have been generated, these quantities are normalised in Lines 24 and 25. Finally, Lines 26–32 generate a plot similar to Figure 1 (albeit with the addition of 〈x〉), and Lines 33 and 34 show how the data can be exported in tabular format for replotting using an external package.

Listing 1 is complete and self-contained. It will run in either MATLAB or Octave. One minor comment is perhaps in order. The choice was made to precompute a vector of Gaussian random variates, which are used as random displacements to generate the trajectory and update the Malliavin weights. One could equally well generate random displacements on-the-fly, in the inner loop. For this one-dimensional problem storage is not an issue and it seems more elegant and efficient to exploit the vectorisation capabilities of MATLAB. For a more realistic three-dimensional problem, with many particles (and a different programming language), it is obviously preferable to use an on-the-fly approach.

Selected Analytic Results

Here, we present analytic results for the growth in time of the mean square Malliavin weights. We can express the rate of growth of the mean of a generic function f(x, qh, qκ, q) as

d f d t = lim δ t 0 f ( x , q h , q κ , q h κ ) f ( x , q h , q κ , q h κ ) δ t ,
where on the right-hand side (RHS) the values of x′, q h , q κ and q are substituted from the updating rules in Equations (29) and (30). In calculating the RHS average, we note that the distribution of ξ is a Gaussian independent of the position and Malliavin weights and thus one can substitute 〈ξ〉 = 0, 〈ξ2〉 = 2 δt, 〈ξ3〉 = 0, 〈ξ4〉 = 12 δt2, etc. Proceeding in this way, with judicious choices for f, one can obtain the following set of coupled ordinary differential equations (ODEs):
d q h 2 d t = 1 2 , d q κ 2 d t = x 2 2 , d x 2 d t + 2 κ x 2 = 2 , d x q h d t + κ x q h = 1 , d x 2 q h 2 d t + 2 κ x 2 q h 2 = 2 q h 2 + 4 x q h + x 2 2 , d x q h q κ d t + κ x q h q κ = x q h x 2 2 , d ( q h κ + q h q κ ) 2 d t = q κ 2 2 x q h q κ + x 2 q h 2 2 ( = ( q κ x q h ) 2 2 ) .
Some of these have already been encountered in the main text. The last one is for the desired mean square second order weight. The ODEs can be solved with the initial conditions that at t = 0 all averages involving Malliavin weights vanish but x 2 = x 0 2. The results include inter alia
q h 2 = t 2 , q κ 2 = t 2 κ + ( κ x 0 2 1 ) ( 1 e 2 κ t ) 4 κ 2 , ( q h κ + q h q κ ) 2 = 2 κ 2 t 2 + ( 19 + κ x 0 2 ) κ t + 2 κ x 0 2 34 8 κ 3 + 2 κ t + 10 κ x 0 2 2 κ 3 e κ t + ( 1 κ x 0 2 ) κ t + 2 κ x 0 2 6 8 κ 3 e 2 κ t .
These are shown as the dashed lines in Figure 2. The leading behaviour of the last as t → ∞ is
( q h κ + q h q κ ) 2 = t 2 4 κ + subdominant terms ,
however the approach to the pure asymptotic limit is slow.

Figure 1. Time-dependent derivatives, x/∂h (top curve, blue), x/∂κ (middle curve, green), and 2x/∂h∂κ (bottom curve, red). Solid lines (slightly noisy) are the Malliavin weight averages as indicated in the Figure, generated by running the MATLAB script described in Section 5. Dashed lines are theoretical predictions from Equation (28).
Figure 1. Time-dependent derivatives, x/∂h (top curve, blue), x/∂κ (middle curve, green), and 2x/∂h∂κ (bottom curve, red). Solid lines (slightly noisy) are the Malliavin weight averages as indicated in the Figure, generated by running the MATLAB script described in Section 5. Dashed lines are theoretical predictions from Equation (28).
Entropy 16 00221f1 1024
Figure 2. Growth of mean square Malliavin weights with time. The solid lines are from simulations and the dashed lines are from Equation (35) in the Appendix. Parameters are as for Figure 1.
Figure 2. Growth of mean square Malliavin weights with time. The solid lines are from simulations and the dashed lines are from Equation (35) in the Appendix. Parameters are as for Figure 1.
Entropy 16 00221f2 1024

Share and Cite

MDPI and ACS Style

Warren, P.B.; Allen, R.J. Malliavin Weight Sampling: A Practical Guide. Entropy 2014, 16, 221-232. https://0-doi-org.brum.beds.ac.uk/10.3390/e16010221

AMA Style

Warren PB, Allen RJ. Malliavin Weight Sampling: A Practical Guide. Entropy. 2014; 16(1):221-232. https://0-doi-org.brum.beds.ac.uk/10.3390/e16010221

Chicago/Turabian Style

Warren, Patrick B., and Rosalind J. Allen. 2014. "Malliavin Weight Sampling: A Practical Guide" Entropy 16, no. 1: 221-232. https://0-doi-org.brum.beds.ac.uk/10.3390/e16010221

Article Metrics

Back to TopTop