class_docstr: Geometric Brownian Motion.
  
  Represents the 1-dimensional Ito process:
  
  ```None
    dX(t) = means(t) * X(t) * dt + volatilities(t) * X(t) * dW(t),
  ```
  
  where `W(t)` is a 1D Brownian motion, `mean(t)` and `volatility(t)` are either
  constant `Tensor`s or piecewise constant functions of time.
  
  Supports batching which enables modelling multiple univariate geometric
  brownian motions (GBMs) efficiently. No guarantee is made about the
  relationships between the batched univariate GMBs. To control the correlation
  between multiple GBMs use `MultivariateGeometricBrownianMotion`.
  
  ## Example
  
  ```python
  import tensorflow as tf
  import tf_quant_finance as tff
  process = tff.models.GeometricBrownianMotion(0.05, 1.0, dtype=tf.float64)
  times = [0.1, 0.2, 1.0]
  # Use SOBOL sequence to draw trajectories
  samples_sobol = process.sample_paths(
      times=times,
      initial_state=1.5,
      random_type=tff.math.random.RandomType.SOBOL,
      num_samples=100000)
  
  # You can also supply the random normal draws directly to the sampler
  normal_draws = tf.random.stateless_normal(
      [100000, 3, 1], seed=[4, 2], dtype=tf.float64)
  samples_custom = process.sample_paths(
      times=times,
      initial_state=1.5,
      normal_draws=normal_draws)
  ```
docstr: Returns the integral of x(t).dt over the interval [t0, t1].
  
  Args:
    x: Scalar real `Tensor` of shape [`batch_shape`] or an instance of a
      left-continuous `PiecewiseConstantFunc`. The function to be integrated.
    x_is_constant: 'bool' which is True if x is a Scalar real `Tensor`.
    t0: A `Tensor` which is broadcastable to [`batch_shape`, `k`], where `k`
      is the number of intervals to evaluate the integral over. The start
      times of the `k` intervals.
    t1: A `Tensor` which is broadcastable to [`batch_shape`, `k`], where `k`
      is the number of intervals to evaluate the integral over. The end
      times of the `k` intervals.
    name: Str. The name to give this op.
  
  Returns:
    A `Tensor` of shape [`batch_shape`, `k`] with the integrals of x over the
    intervals [`t0`, `t1`].
docstr_tok: ["Returns","the","integral","of","x","(","t",")",".dt","over","the","interval","[","t0",",","t1","]",".","Args",":","x",":","Scalar","real","`","Tensor","`","of","shape","[","`","batch_shape","`","]","or","an","instance","of","a","left-continuous","`","PiecewiseConstantFunc","`",".","The","function","to","be","integrated",".","x_is_constant",":","'bool","'","which","is","True","if","x","is","a","Scalar","real","`","Tensor","`",".","t0",":","A","`","Tensor","`","which","is","broadcastable","to","[","`","batch_shape","`",",","`","k","`","]",",","where","`","k","`","is","the","number","of","intervals","to","evaluate","the","integral","over",".","The","start","times","of","the","`","k","`","intervals",".","t1",":","A","`","Tensor","`","which","is","broadcastable","to","[","`","batch_shape","`",",","`","k","`","]",",","where","`","k","`","is","the","number","of","intervals","to","evaluate","the","integral","over",".","The","end","times","of","the","`","k","`","intervals",".","name",":","Str",".","The","name","to","give","this","op",".","Returns",":","A","`","Tensor","`","of","shape","[","`","batch_shape","`",",","`","k","`","]","with","the","integrals","of","x","over","the","intervals","[","`","t0","`",",","`","t1","`","]","."]
code: def _integrate_parameter(self, x, x_is_constant, t0, t1, name=None):
      """Returns the integral of x(t).dt over the interval [t0, t1].
  
      Args:
        x: Scalar real `Tensor` of shape [`batch_shape`] or an instance of a
          left-continuous `PiecewiseConstantFunc`. The function to be integrated.
        x_is_constant: 'bool' which is True if x is a Scalar real `Tensor`.
        t0: A `Tensor` which is broadcastable to [`batch_shape`, `k`], where `k`
          is the number of intervals to evaluate the integral over. The start
          times of the `k` intervals.
        t1: A `Tensor` which is broadcastable to [`batch_shape`, `k`], where `k`
          is the number of intervals to evaluate the integral over. The end
          times of the `k` intervals.
        name: Str. The name to give this op.
  
      Returns:
        A `Tensor` of shape [`batch_shape`, `k`] with the integrals of x over the
        intervals [`t0`, `t1`].
      """
      return (
          x * (t1 - t0) if x_is_constant else x.integrate(t0, t1, name)
      )
  
imports: import tensorflow.compat.v2
  from tf_quant_finance import utils
  from tf_quant_finance.math import piecewise
  from tf_quant_finance.math.pde import fd_solvers
  from tf_quant_finance.models import ito_process
  from tf_quant_finance.models import utils
label_desc: Use image node_id 10 for calling the GeometricBrownianMotion obj's underlying member method code with example usage: obj._integrate_parameter(x, x_is_constant, t0, t1, name) and returns: unknown