class_docstr: Generates sigma points and weights according to Simon J. Julier
  and Jeffery K. Uhlmann's original paper[1]. It parametizes the sigma
  points using kappa.
  
  Parameters
  ----------
  
  n : int
      Dimensionality of the state. 2n+1 weights will be generated.
  
  kappa : float, default=0.
      Scaling factor that can reduce high order errors. kappa=0 gives
      the standard unscented filter. According to [Julier], if you set
      kappa to 3-dim_x for a Gaussian x you will minimize the fourth
      order errors in x and P.
  
  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. Different choices affect how the sigma points
      are arranged relative to the eigenvectors of the covariance matrix.
      Usually this will not matter to you; if so the default cholesky()
      yields maximal performance. As of van der Merwe's dissertation of
      2004 [6] this was not a well reseached area so I have no advice
      to give you.
  
      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
  
  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] Julier, Simon J.; Uhlmann, Jeffrey "A New Extension of the Kalman
      Filter to Nonlinear Systems". Proc. SPIE 3068, Signal Processing,
      Sensor Fusion, and Target Recognition VI, 182 (July 28, 1997)
class_docstr_tok: ["Generates","sigma","points","and","weights","according","to","Simon","J.","Julier","and","Jeffery","K.","Uhlmann","'s","original","paper","[","1","]",".","It","parametizes","the","sigma","points","using","kappa",".","Parameters","--","--","--","--","--","n",":","int","Dimensionality","of","the","state",".","2n+1","weights","will","be","generated",".","kappa",":","float",",","default=0",".","Scaling","factor","that","can","reduce","high","order","errors",".","kappa=0","gives","the","standard","unscented","filter",".","According","to","[","Julier","]",",","if","you","set","kappa","to","3-dim_x","for","a","Gaussian","x","you","will","minimize","the","fourth","order","errors","in","x","and","P.","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",".","Different","choices","affect","how","the","sigma","points","are","arranged","relative","to","the","eigenvectors","of","the","covariance","matrix",".","Usually","this","will","not","matter","to","you",";","if","so","the","default","cholesky","(",")","yields","maximal","performance",".","As","of","van","der","Merwe","'s","dissertation","of","2004","[","6","]","this","was","not","a","well","reseached","area","so","I","have","no","advice","to","give","you",".","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","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","]","Julier",",","Simon","J.",";","Uhlmann",",","Jeffrey","``","A","New","Extension","of","the","Kalman","Filter","to","Nonlinear","Systems","''",".","Proc",".","SPIE","3068",",","Signal","Processing",",","Sensor","Fusion",",","and","Target","Recognition","VI",",","182","(","July","28",",","1997",")"]
code: def __init__(self, n, kappa=0.0, sqrt_method=None, subtract=None):
      self.n = n
      self.kappa = kappa
      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 JulierSigmaPoints object from inherited base classes: object with example: obj = JulierSigmaPoints(n, kappa, sqrt_method, subtract)