class_docstr: Generates sigma points and weights according to the simplex
  method presented in [1].
  
  Parameters
  ----------
  
  n : int
      Dimensionality of the state. n+1 weights will be generated.
  
  sqrt_method : function(ndarray), default=scipy.linalg.cholesky
      Defines how we compute the square root of a matrix, which has
      no unique answer. Cholesky is the default choice due to its
      speed. Typically your alternative choice will be
      scipy.linalg.sqrtm
  
      If your method returns a triangular matrix it must be upper
      triangular. Do not use numpy.linalg.cholesky - for historical
      reasons it returns a lower triangular matrix. The SciPy version
      does the right thing.
  
  subtract : callable (x, y), optional
      Function that computes the difference between x and y.
      You will have to supply this if your state variable cannot support
      subtraction, such as angles (359-1 degreees is 2, not 358). x and y
      are state vectors, not scalars.
  
  Attributes
  ----------
  
  Wm : np.array
      weight for each sigma point for the mean
  
  Wc : np.array
      weight for each sigma point for the covariance
  
  References
  ----------
  
  .. [1] Phillippe Moireau and Dominique Chapelle "Reduced-Order
         Unscented Kalman Filtering with Application to Parameter
         Identification in Large-Dimensional Systems"
         DOI: 10.1051/cocv/2010006
class_docstr_tok: ["Generates","sigma","points","and","weights","according","to","the","simplex","method","presented","in","[","1","]",".","Parameters","--","--","--","--","--","n",":","int","Dimensionality","of","the","state",".","n+1","weights","will","be","generated",".","sqrt_method",":","function","(","ndarray",")",",","default=scipy.linalg.cholesky","Defines","how","we","compute","the","square","root","of","a","matrix",",","which","has","no","unique","answer",".","Cholesky","is","the","default","choice","due","to","its","speed",".","Typically","your","alternative","choice","will","be","scipy.linalg.sqrtm","If","your","method","returns","a","triangular","matrix","it","must","be","upper","triangular",".","Do","not","use","numpy.linalg.cholesky","-","for","historical","reasons","it","returns","a","lower","triangular","matrix",".","The","SciPy","version","does","the","right","thing",".","subtract",":","callable","(","x",",","y",")",",","optional","Function","that","computes","the","difference","between","x","and","y",".","You","will","have","to","supply","this","if","your","state","variable","can","not","support","subtraction",",","such","as","angles","(","359-1","degreees","is","2",",","not","358",")",".","x","and","y","are","state","vectors",",","not","scalars",".","Attributes","--","--","--","--","--","Wm",":","np.array","weight","for","each","sigma","point","for","the","mean","Wc",":","np.array","weight","for","each","sigma","point","for","the","covariance","References","--","--","--","--","--","..","[","1","]","Phillippe","Moireau","and","Dominique","Chapelle","``","Reduced-Order","Unscented","Kalman","Filtering","with","Application","to","Parameter","Identification","in","Large-Dimensional","Systems","''","DOI",":","10.1051\/cocv\/2010006"]
code: def __init__(self, n, alpha=1, sqrt_method=None, subtract=None):
      self.n = n
      self.alpha = alpha
      if sqrt_method is None:
          self.sqrt = cholesky
      else:
          self.sqrt = sqrt_method
  
      if subtract is None:
          self.subtract = np.subtract
      else:
          self.subtract = subtract
  
      self._compute_weights()
  
imports: from __future__ import division
  import numpy
  from scipy.linalg import cholesky
  from filterpy.common import pretty_str
label_desc: Use image node_id 1 to create a new SimplexSigmaPoints object from inherited base classes: object with example: obj = SimplexSigmaPoints(n, alpha, sqrt_method, subtract)