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
-
-
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)
-
-
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
-
-
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
-