class_docstr: Implements Gauss-Hermite quadrature for integrating a function with respect to several 1D Gaussian distributions
  in batch mode. Within GPyTorch, this is useful primarily for computing expected log likelihoods for variational
  inference.
  
  This is implemented as a Module because Gauss-Hermite quadrature has a set of locations and weights that it
  should initialize one time, but that should obey parent calls to .cuda(), .double() etc.
class_docstr_tok: ["Implements","Gauss-Hermite","quadrature","for","integrating","a","function","with","respect","to","several","1D","Gaussian","distributions","in","batch","mode",".","Within","GPyTorch",",","this","is","useful","primarily","for","computing","expected","log","likelihoods","for","variational","inference",".","This","is","implemented","as","a","Module","because","Gauss-Hermite","quadrature","has","a","set","of","locations","and","weights","that","it","should","initialize","one","time",",","but","that","should","obey","parent","calls","to",".cuda","(",")",",",".double","(",")","etc","."]
docstr: Get locations and weights for Gauss-Hermite quadrature. Note that this is **not** intended to be used
  externally, because it directly creates tensors with no knowledge of a device or dtype to cast to.
  
  Instead, create a GaussHermiteQuadrature1D object and get the locations and weights from buffers.
docstr_tok: ["Get","locations","and","weights","for","Gauss-Hermite","quadrature",".","Note","that","this","is","*","*","not","*","*","intended","to","be","used","externally",",","because","it","directly","creates","tensors","with","no","knowledge","of","a","device","or","dtype","to","cast","to",".","Instead",",","create","a","GaussHermiteQuadrature1D","object","and","get","the","locations","and","weights","from","buffers","."]
code: def _locs_and_weights(self, num_locs):
      """
      Get locations and weights for Gauss-Hermite quadrature. Note that this is **not** intended to be used
      externally, because it directly creates tensors with no knowledge of a device or dtype to cast to.
  
      Instead, create a GaussHermiteQuadrature1D object and get the locations and weights from buffers.
      """
      locations, weights = np.polynomial.hermite.hermgauss(num_locs)
      locations = torch.Tensor(locations)
      weights = torch.Tensor(weights)
      return locations, weights
  
file_path: gpytorch/gpytorch/utils/quadrature.py
imports: import math
  import numpy
  import torch
  from torch.nn import Module
  from ..None import settings
label_desc: Use image node_id 3 for calling the GaussHermiteQuadrature1D obj's underlying member method code with example usage: obj._locs_and_weights(num_locs) and returns: locations,  weights