qmctorch.utils.interpolate module¶
-
class
qmctorch.utils.interpolate.
InterpolateMolecularOrbitals
(wf)[source]¶ Bases:
object
Interpolation of the AO using a log grid centered on each atom.
-
get_mo_max_index
(orb)[source]¶ Get the index of the highest MO to inlcude in the interpoaltion
Parameters: orb (str) – occupied or all Raises: ValueError
– if orb not valid
-
-
class
qmctorch.utils.interpolate.
InterpolateAtomicOrbitals
(wf)[source]¶ Bases:
object
Interpolation of the AO using a log grid centered on each atom.
-
qmctorch.utils.interpolate.
get_boundaries
(atomic_positions, border_length=2.0)[source]¶ Computes the boundaries of the structure
Parameters: - atomic_positions (torch.Tensor, np.ndarray, list) – atomic positions
- border_length (float, optional) – length of the border. Defaults to 2.
Raises: ValueError
– if type of positions not recognizedReturns: min, max values in the 3 cartesian directions
Return type: (np.ndarray, np.ndarray, mp.ndarray)
-
qmctorch.utils.interpolate.
get_reg_grid
(atomic_positions, resolution=0.1, border_length=2.0)[source]¶ Computes a regular grid points from the atomic positions
Parameters: - atomic_positions (torch.Tensor, np.ndarray, list) – atomic positions
- resolution (float, optional) – ditance between two points. Defaults to 0.5.
- border_length (float, optional) – length of the border. Defaults to 2.
Returns: grid points in the x, y and z axis
Return type: (np.ndarray, np.ndarray, mp.ndarray)
-
qmctorch.utils.interpolate.
interpolator_reg_grid
(func, x, y, z)[source]¶ Computes the interpolation function
Parameters: - func (callable) – compute the value of the funtion to interpolate
- x (np.ndarray) – grid points in the x direction
- y (np.ndarray) – grid points in the y direction
- z (np.ndarray) – grid points in the z direction
Returns: interpolation function
Return type: callable
-
qmctorch.utils.interpolate.
interpolate_reg_grid
(interpfunc, pos)[source]¶ Interpolate the funtion
Parameters: - interpfunc (callable) – function to interpolate the data points
- pos (torch.tensor) – positions of the walkers Nbatch x 3*Nelec
Returns: interpolated values of the function evaluated at pos
Return type: torch.tensor
-
qmctorch.utils.interpolate.
logspace
(n, length)[source]¶ returns a 1d array of logspace between -length and +length.
-
qmctorch.utils.interpolate.
get_log_grid
(atomic_positions, n=6, length=2.0, border_length=2.0)[source]¶ Computes a logarithmic grid
Parameters: - atomic_positions (list, np.ndarray, torch.tensor) – positions of the atoms
- n (int, optional) – number of points in each axis around each atom. Defaults to 6.
- length (float, optional) – absolute value of the max distance from the atom. Defaults to 2.
- border_length (float, optional) – length of the border. Defaults to 2.
Returns: grid points (Npts,3)
Return type: np.ndanrray
-
qmctorch.utils.interpolate.
interpolator_irreg_grid
(func, grid_pts)[source]¶ compute a linear ND interpolator
Parameters: - func (callable) – compute the value of the funtion to interpolate
- grid_pts (np.ndarray) – grid points in the x direction
Returns: interpolation function
Return type: callable
-
qmctorch.utils.interpolate.
interpolate_irreg_grid
(interpfunc, pos)[source]¶ Interpolate the funtion
Parameters: - interpfunc (callable) – function to interpolate the data points
- pos (torch.tensor) – positions of the walkers Nbatch x 3*Nelec
Returns: interpolated values of the function evaluated at pos
Return type: torch.tensor