code: def __init__(self, sde, **kwargs):
      if sde.noise_type == NOISE_TYPES.additive:
          self.step = self.additive_step
      else:
          self.step = self.diagonal_or_scalar_step
  
      if isinstance(sde, adjoint_sde.AdjointSDE):
          raise ValueError(
              "Stochastic Runge–Kutta methods cannot be used for adjoint SDEs, because it requires "
              "direct access to the diffusion, whilst adjoint SDEs rely on a more efficient "
              "diffusion-vector product. Use a different method instead."
          )
  
      super(SRK, self).__init__(sde=sde, **kwargs)
  
file_path: torchsde/torchsde/_core/methods/srk.py
imports: from .tableaus import sra1, srid2
  from ..None import adjoint_sde
  from ..None import base_solver
  from ...settings import SDE_TYPES, NOISE_TYPES, LEVY_AREA_APPROXIMATIONS
label_desc: Use image node_id 1 to create a new SRK object from inherited base classes: base_solver with example: obj = SRK(sde)