class_docstr: Data structure that contains local information about density profiles.
  Data structure used as a umbrella class for density profiles and the
  derivative of the potential w.r.t. density profiles.
  
  Examples
  --------
  >>> import torch
  >>> from deepchem.utils.dft_utils import ValGrad
  >>> dens = torch.ones(1)
  >>> grad = torch.zeros(1)
  >>> lapl = torch.ones(1)
  >>> kin = torch.ones(1)
  >>> vg = ValGrad(value=dens, grad=grad, lapl=lapl, kin=kin)
  >>> vg + vg
  ValGrad(value=tensor([2.]), grad=tensor([0.]), lapl=tensor([2.]), kin=tensor([2.]))
  >>> vg * 5
  ValGrad(value=tensor([5.]), grad=tensor([0.]), lapl=tensor([5.]), kin=tensor([5.]))
docstr: Initialize the ValGrad object.
  
  Parameters
  ----------
  value: torch.Tensor
      Tensors containing the value of the local information.
  grad: torch.Tensor or None
      If tensor, it represents the gradient of the local information with
      shape ``(..., 3)`` where ``...`` should be the same shape as ``value``.
  lapl: torch.Tensor or None
      If tensor, represents the laplacian value of the local information.
      It should have the same shape as ``value``.
  kin: torch.Tensor or None
      If tensor, represents the local kinetic energy density.
      It should have the same shape as ``value``.
docstr_tok: ["Initialize","the","ValGrad","object",".","Parameters","--","--","--","--","--","value",":","torch.Tensor","Tensors","containing","the","value","of","the","local","information",".","grad",":","torch.Tensor","or","None","If","tensor",",","it","represents","the","gradient","of","the","local","information","with","shape","``","(","...",",","3",")","``","where","``","...","``","should","be","the","same","shape","as","``","value","``",".","lapl",":","torch.Tensor","or","None","If","tensor",",","represents","the","laplacian","value","of","the","local","information",".","It","should","have","the","same","shape","as","``","value","``",".","kin",":","torch.Tensor","or","None","If","tensor",",","represents","the","local","kinetic","energy","density",".","It","should","have","the","same","shape","as","``","value","``","."]
code: def __init__(
      self,
      value: torch.Tensor,
      grad: Optional[torch.Tensor] = None,
      lapl: Optional[torch.Tensor] = None,
      kin: Optional[torch.Tensor] = None,
  ):
      """Initialize the ValGrad object.
  
      Parameters
      ----------
      value: torch.Tensor
          Tensors containing the value of the local information.
      grad: torch.Tensor or None
          If tensor, it represents the gradient of the local information with
          shape ``(..., 3)`` where ``...`` should be the same shape as ``value``.
      lapl: torch.Tensor or None
          If tensor, represents the laplacian value of the local information.
          It should have the same shape as ``value``.
      kin: torch.Tensor or None
          If tensor, represents the local kinetic energy density.
          It should have the same shape as ``value``.
  
      """
      self.value = value
      self.grad = grad
      self.lapl = lapl
      self.kin = kin
  
imports: from typing import Union, TypeVar, Generic, Optional, Callable, List, Dict
  from dataclasses import dataclass
  import torch
  import numpy
  from deepchem.utils import gaussian_integral
label_desc: Use image node_id 1 to create a new ValGrad object  with example: obj = ValGrad(value, grad, lapl, kin)