class_docstr: Encapsulate InferenceData specific logic.
docstr: Split MultiTrace object into posterior and warmup.
  
  Returns
  -------
  trace_posterior: MultiTrace or None
      The slice of the trace corresponding to the posterior. If the posterior
      trace is empty, None is returned
  trace_warmup: MultiTrace or None
      The slice of the trace corresponding to the warmup. If the warmup trace is
      empty or ``save_warmup=False``, None is returned
docstr_tok: ["Split","MultiTrace","object","into","posterior","and","warmup",".","Returns","--","--","--","-","trace_posterior",":","MultiTrace","or","None","The","slice","of","the","trace","corresponding","to","the","posterior",".","If","the","posterior","trace","is","empty",",","None","is","returned","trace_warmup",":","MultiTrace","or","None","The","slice","of","the","trace","corresponding","to","the","warmup",".","If","the","warmup","trace","is","empty","or","``","save_warmup=False","``",",","None","is","returned"]
code: def split_trace(
      self,
  ) -> Tuple[Union[None, "MultiTrace"], Union[None, "MultiTrace"]]:
      """Split MultiTrace object into posterior and warmup.
  
      Returns
      -------
      trace_posterior: MultiTrace or None
          The slice of the trace corresponding to the posterior. If the posterior
          trace is empty, None is returned
      trace_warmup: MultiTrace or None
          The slice of the trace corresponding to the warmup. If the warmup trace is
          empty or ``save_warmup=False``, None is returned
      """
      trace_posterior = None
      trace_warmup = None
      if self.save_warmup and self.ntune > 0:
          trace_warmup = self.trace[: self.ntune]
      if self.ndraws > 0:
          trace_posterior = self.trace[self.ntune :]
      return trace_posterior, trace_warmup
  
imports: import logging
  import warnings
  from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Mapping, Optional, Tuple, Union
  import numpy
  from arviz import InferenceData, concat, rcParams
  from arviz.data.base import CoordSpec, DimSpec, dict_to_dataset, requires
  from pytensor.graph.basic import Constant
  from pytensor.tensor.sharedvar import SharedVariable
  import pymc
  from pymc.model import Model, modelcontext
  from pymc.pytensorf import extract_obs_data
  from pymc.util import get_default_varnames
label_desc: Use image node_id 2 for calling the InferenceDataConverter obj's underlying member method code with example usage: obj.split_trace() and returns: trace_posterior,  trace_warmup