class_docstr: Dormand-Prince explicit solver for non-stiff ODEs.
  
  Implements 5th order Runge-Kutta with adaptive step size control
  and dense output, using the Dormand-Prince method. Similar to the 'dopri5'
  method of `scipy.integrate.ode` and MATLAB's `ode45`. For details see [1].
  For solver API see `tfp.math.ode.Solver`.
  
  #### References
  
  [1]: Shampine, L. F. (1986). Some practical runge-kutta formulas.
      Mathematics of Computation, 46(173), 135-150, doi:10.2307/2008219
class_docstr_tok: ["Dormand-Prince","explicit","solver","for","non-stiff","ODEs",".","Implements","5th","order","Runge-Kutta","with","adaptive","step","size","control","and","dense","output",",","using","the","Dormand-Prince","method",".","Similar","to","the","'dopri5'","method","of","`","scipy.integrate.ode","`","and","MATLAB","'s","`","ode45","`",".","For","details","see","[","1","]",".","For","solver","API","see","`","tfp.math.ode.Solver","`",".","#","#","#","#","References","[","1","]",":","Shampine",",","L.","F.","(","1986",")",".","Some","practical","runge-kutta","formulas",".","Mathematics","of","Computation",",","46","(","173",")",",","135-150",",","doi:10.2307\/2008219"]
code: def _prepare_common_params(self, initial_state, initial_time):
      error_if_wrong_dtype = functools.partial(
          util.error_if_not_real_or_complex, identifier="initial_state"
      )
  
      initial_state = tf.nest.map_structure(
          tf.convert_to_tensor, initial_state
      )
      tf.nest.map_structure(error_if_wrong_dtype, initial_state)
  
      state_dtypes = tf.nest.map_structure(
          lambda x: x.dtype, initial_state
      )
      state_shapes = tf.nest.map_structure(
          lambda x: x.shape, initial_state
      )
      common_state_dtype = dtype_util.common_dtype(initial_state)
      real_dtype = dtype_util.real_dtype(common_state_dtype)
  
      initial_time = tf.cast(initial_time, real_dtype)
  
      return util.Bunch(
          initial_state=initial_state,
          state_dtypes=state_dtypes,
          state_shapes=state_shapes,
          real_dtype=real_dtype,
          initial_time=initial_time,
      )
  
imports: import collections
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.math.ode import base
  from tensorflow_probability.python.math.ode import runge_kutta_util
  from tensorflow_probability.python.math.ode import util
  from tensorflow.python.util import nest
label_desc: Use image node_id 4 for calling the DormandPrince obj's underlying member method code with example usage: obj._prepare_common_params(initial_state, initial_time) and returns: util