3-dimensional functions

class pyqmc.func3d.CutoffCuspFunction(gamma, rcut)[source]

\(b(r) = -\frac{p(r/r_{\rm cut})}{1+\gamma*p(r/r_{\rm cut})} + \frac{1}{3+\gamma}\) where \(p(y) = y - y^2 + y^3/3\)

This function is positive at small r, and is zero for \(r \ge r_{\rm cut}\).

gradient(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient

Return type:

(nconfig,..,3) array

gradient_laplacian(rvec, r)[source]

Returns gradient and laplacian of function.

Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and laplacian

Return type:

tuple of two (nconfig,..,3) arrays (components of laplacian d^2/dx_i^2 separately)

gradient_value(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and value

Return type:

tuple of (nconfig,..,3) arrays

laplacian(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

laplacian (returns components of laplacian d^2/dx_i^2 separately)

Return type:

(nconfig,..,3) array

pgradient(rvec, r)[source]

Returns gradient of self.value with respect to all parameters

Parameters:
  • rvec – (nconf,…,3)
  • r – (nconfig,…)
Returns:

parameter derivatives {‘rcut’:d/drcut,’gamma’:d/dgamma}

Return type:

dict

value(rvec, r)[source]

Returns function p(r/rcut)/(1+gamma*p(r/rcut))

Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

function value

Return type:

(nconfig,..) array

class pyqmc.func3d.GaussianFunction(exponent)[source]

A representation of a Gaussian:

\(\exp(-\alpha r^2)\) where \(\alpha\) can be accessed through parameters[‘exponent’]

gradient(x, r)[source]

Returns gradient of function.

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient

Return type:

(nconfig,..,3)

gradient_laplacian(x, r)[source]

Returns gradient and laplacian of function.

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and laplacian

Return type:

tuple of two (nconfig,..,3) arrays (components of laplacian d^2/dx_i^2 separately)

gradient_value(x, r)[source]
Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and value

Return type:

tuple of (nconfig,..,3) arrays

laplacian(x, r)[source]

Returns laplacian of function.

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

laplacian (components of laplacian d^2/dx_i^2 separately)

Return type:

(nconfig,..,3)

pgradient(x, r)[source]

Returns parameters gradient.

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

parameter gradient {‘exponent’: d/dexponent}

Return type:

dictionary

value(x, r)[source]

Returns function exp(-exponent*r^2).

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

function value

Return type:

(nconfig,..) array

class pyqmc.func3d.PadeFunction(alphak)[source]

a_k(r) = (alpha_k*r/(1+alpha_k*r))^2 alpha_k = alpha/2^k, k starting at 0

\(a_k(r) = \left( \frac{\alpha_k r}{1 + \alpha_k r} \right)^2\) where \(\alpha_k = \frac{\alpha}{2^k}\), \(k\) starting at 0

gradient(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient

Return type:

(nconfig,..,3) array

gradient_laplacian(rvec, r)[source]

Returns gradient and laplacian of function.

Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and laplacian (returns components of laplacian d^2/dx_i^2 separately)

Return type:

tuple of (nconfig,..,3) arrays

gradient_value(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and value

Return type:

tuple of (nconfig,..,3) arrays

laplacian(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

laplacian (returns components of laplacian d^2/dx_i^2 separately)

Return type:

(nconfig,..,3) array

pgradient(rvec, r)[source]

Returns gradient with respect to parameter alphak

Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

parameter gradient {‘alphak’: akderiv}

Return type:

dictionary

value(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

function value

Return type:

(nconfig,..) array

class pyqmc.func3d.PolyPadeFunction(beta, rcut)[source]

\(b(r) = \frac{1-p(z)}{1+\beta p(z)}\) \(z = r/r_{\rm cut}\) where \(p(z) = 6z^2 - 8z^3 + 3z^4\)

This function is positive at small r, and is zero for \(r \ge r_{\rm cut}\).

gradient(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient

Return type:

(nconfig,..,3) array

gradient_laplacian(rvec, r)[source]

Returns gradient and laplacian of function.

Parameters:
  • x – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and laplacian

Return type:

tuple of two (nconfig,..,3) arrays (components of laplacian d^2/dx_i^2 separately)

gradient_value(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

gradient and value

Return type:

tuple of (nconfig,..,3) arrays

laplacian(rvec, r)[source]
Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

laplacian returns components of laplacian d^2/dx_i^2 separately

Return type:

(nconfig,..,3) array

pgradient(rvec, r)[source]

Returns gradient of self.value with respect to all parameters

Parameters:
  • rvec – (nconf,…,3)
  • r – (nconf,…)
Return paramderivs:
 

dictionary {‘rcut’:d/drcut,’beta’:d/dbeta}

value(rvec, r)[source]

Returns function (1-p(r/rcut))/(1+beta*p(r/rcut))

Parameters:
  • rvec – (nconfig,…,3)
  • r – (nconfig,…)
Returns:

function value

Return type:

(nconfig,..) array