class_docstr: Compute the Pan Matrix Profile
  
  This is based on the SKIMP algorithm.
  
  Parameters
  ----------
  T : numpy.ndarray
      The time series or sequence for which to compute the pan matrix profile
  
  min_m : int, default 3
      The starting (or minimum) subsequence window size for which a matrix profile
      may be computed
  
  max_m : int, default None
      The stopping (or maximum) subsequence window size for which a matrix profile
      may be computed. When `max_m = Non`, this is set to the maximum allowable
      subsequence window size
  
  step : int, default 1
      The step between subsequence window sizes
  
  percentage : float, default 0.01
      The percentage of the full matrix profile to compute for each subsequence
      window size. When `percentage < 1.0`, then the `scrump` algorithm is used.
      Otherwise, the `stump` algorithm is used when the exact matrix profile is
      requested.
  
  pre_scrump : bool, default True
      A flag for whether or not to perform the PreSCRIMP calculation prior to
      computing SCRIMP. If set to `True`, this is equivalent to computing
      SCRIMP++. This parameter is ignored when `percentage = 1.0`.
  
  client : client, default None
      A Dask or Ray Distributed client. Setting up a distributed cluster is beyond
      the scope of this library. Please refer to the Dask or Ray Distributed
      documentation.
  
  device_id : int or list, default None
      The (GPU) device number to use. The default value is `0`. A list of
      valid device ids (int) may also be provided for parallel GPU-STUMP
      computation. A list of all valid device ids can be obtained by
      executing `[device.id for device in numba.cuda.list_devices()]`.
  
  mp_func : function, default stump
      The matrix profile function to use when `percentage = 1.0`
  
  T_subseq_isconstant_func : function, default None
      A custom, user-defined function that returns a boolean array that indicates
      whether a subsequence in `T` is constant (True). The function must only take
      two arguments, `a`, a 1-D array, and `w`, the window size, while additional
      arguments may be specified by currying the user-defined function using
      `functools.partial`. Any subsequence with at least one np.nan/np.inf will
      automatically have its corresponding value set to False in this boolean array.
  
  Attributes
  ----------
  PAN_ : numpy.ndarray
      The transformed (i.e., normalized, contrasted, binarized, and repeated)
      pan matrix profile
  
  M_ : numpy.ndarray
      The full list of (breadth first search (level) ordered) subsequence window
      sizes
  
  Methods
  -------
  update():
      Compute the next matrix profile using the next available (breadth-first-search
      (level) ordered) subsequence window size and update the pan matrix profile
  
  Notes
  -----
  `DOI: 10.1109/ICBK.2019.00031     <https://www.cs.ucr.edu/~eamonn/PAN_SKIMP%20%28Matrix%20Profile%20XX%29.pdf>`__
  
  See Table 2
class_docstr_tok: ["Compute","the","Pan","Matrix","Profile","This","is","based","on","the","SKIMP","algorithm",".","Parameters","--","--","--","--","--","T",":","numpy.ndarray","The","time","series","or","sequence","for","which","to","compute","the","pan","matrix","profile","min_m",":","int",",","default","3","The","starting","(","or","minimum",")","subsequence","window","size","for","which","a","matrix","profile","may","be","computed","max_m",":","int",",","default","None","The","stopping","(","or","maximum",")","subsequence","window","size","for","which","a","matrix","profile","may","be","computed",".","When","`","max_m","=","Non","`",",","this","is","set","to","the","maximum","allowable","subsequence","window","size","step",":","int",",","default","1","The","step","between","subsequence","window","sizes","percentage",":","float",",","default","0.01","The","percentage","of","the","full","matrix","profile","to","compute","for","each","subsequence","window","size",".","When","`","percentage","<","1.0","`",",","then","the","`","scrump","`","algorithm","is","used",".","Otherwise",",","the","`","stump","`","algorithm","is","used","when","the","exact","matrix","profile","is","requested",".","pre_scrump",":","bool",",","default","True","A","flag","for","whether","or","not","to","perform","the","PreSCRIMP","calculation","prior","to","computing","SCRIMP",".","If","set","to","`","True","`",",","this","is","equivalent","to","computing","SCRIMP++",".","This","parameter","is","ignored","when","`","percentage","=","1.0","`",".","client",":","client",",","default","None","A","Dask","or","Ray","Distributed","client",".","Setting","up","a","distributed","cluster","is","beyond","the","scope","of","this","library",".","Please","refer","to","the","Dask","or","Ray","Distributed","documentation",".","device_id",":","int","or","list",",","default","None","The","(","GPU",")","device","number","to","use",".","The","default","value","is","`","0","`",".","A","list","of","valid","device","ids","(","int",")","may","also","be","provided","for","parallel","GPU-STUMP","computation",".","A","list","of","all","valid","device","ids","can","be","obtained","by","executing","`","[","device.id","for","device","in","numba.cuda.list_devices","(",")","]","`",".","mp_func",":","function",",","default","stump","The","matrix","profile","function","to","use","when","`","percentage","=","1.0","`","T_subseq_isconstant_func",":","function",",","default","None","A","custom",",","user-defined","function","that","returns","a","boolean","array","that","indicates","whether","a","subsequence","in","`","T","`","is","constant","(","True",")",".","The","function","must","only","take","two","arguments",",","`","a","`",",","a","1-D","array",",","and","`","w","`",",","the","window","size",",","while","additional","arguments","may","be","specified","by","currying","the","user-defined","function","using","`","functools.partial","`",".","Any","subsequence","with","at","least","one","np.nan\/np.inf","will","automatically","have","its","corresponding","value","set","to","False","in","this","boolean","array",".","Attributes","--","--","--","--","--","PAN_",":","numpy.ndarray","The","transformed","(","i.e.",",","normalized",",","contrasted",",","binarized",",","and","repeated",")","pan","matrix","profile","M_",":","numpy.ndarray","The","full","list","of","(","breadth","first","search","(","level",")","ordered",")","subsequence","window","sizes","Methods","--","--","--","-","update","(",")",":","Compute","the","next","matrix","profile","using","the","next","available","(","breadth-first-search","(","level",")","ordered",")","subsequence","window","size","and","update","the","pan","matrix","profile","Notes","--","--","-","`","DOI",":","10.1109\/ICBK.2019.00031","<","https",":","\/\/www.cs.ucr.edu\/~eamonn\/PAN_SKIMP","%","20","%","28Matrix","%","20Profile","%","20XX","%","29.pdf",">","`","__","See","Table","2"]
docstr: Get all of the (breadth first searched (level) ordered) subsequence window sizes
  
  Parameters
  ----------
  None
  
  Returns
  -------
  None
docstr_tok: ["Get","all","of","the","(","breadth","first","searched","(","level",")","ordered",")","subsequence","window","sizes","Parameters","--","--","--","--","--","None","Returns","--","--","--","-","None"]
code: def M_(self):
      """
      Get all of the (breadth first searched (level) ordered) subsequence window sizes
  
      Parameters
      ----------
      None
  
      Returns
      -------
      None
      """
      return self._M.astype(np.int64)
  
file_path: stumpy/stumpy/stimp.py
imports: import numpy
  from .None import core, scrump
  from .aamp_stimp import aamp_stimp, aamp_stimped
  from .stump import stump
  from .stumped import stumped
label_desc: Use image node_id 5 for calling the _stimp obj's underlying member method code with example usage: obj.M_() and returns: self