Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
alt
/
python35
/
lib64
/
python3.5
/
site-packages
/
scipy
/
odr
/
__pycache__
/
File Content:
odrpack.cpython-35.opt-1.pyc
�B�W*� � @ si d Z d d l m Z m Z m Z d d l Z d d l m Z d d l m Z d d d d d d d d d d d g Z e j Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z e Z e Z e j e e � d d d � Z d d � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z d S)a& Python wrappers for Orthogonal Distance Regression (ODRPACK). Notes ===== * Array formats -- FORTRAN stores its arrays in memory column first, i.e. an array element A(i, j, k) will be next to A(i+1, j, k). In C and, consequently, NumPy, arrays are stored row first: A[i, j, k] is next to A[i, j, k+1]. For efficiency and convenience, the input and output arrays of the fitting function (and its Jacobians) are passed to FORTRAN without transposition. Therefore, where the ODRPACK documentation says that the X array is of shape (N, M), it will be passed to the Python function as an array of shape (M, N). If M==1, the one-dimensional case, then nothing matters; if M>1, then your Python functions will be dealing with arrays that are indexed in reverse of the ODRPACK documentation. No real biggie, but watch out for your indexing of the Jacobians: the i,j'th elements (@f_i/@x_j) evaluated at the n'th observation will be returned as jacd[j, i, n]. Except for the Jacobians, it really is easier to deal with x[0] and x[1] than x[:,0] and x[:,1]. Of course, you can always use the transpose() function from scipy explicitly. * Examples -- See the accompanying file test/test.py for examples of how to set up fits of your own. Some are taken from the User's Guide; some are from other sources. * Models -- Some common models are instantiated in the accompanying module models.py . Contributions are welcome. Credits ======= * Thanks to Arnold Moene and Gerard Vermeulen for fixing some killer bugs. Robert Kern robert.kern@gmail.com � )�division�print_function�absolute_importN)�warn)� __odrpack�odr� OdrWarning�OdrError�OdrStop�Data�RealData�Model�Output�ODR� odr_error�odr_stopc @ s e Z d Z d Z d S)r z� Warning indicating that the data passed into ODR will cause problems when passed into 'odr' that the user should be aware of. N)�__name__� __module__�__qualname__�__doc__� r r �/odrpack.pyr 4 s c @ s e Z d Z d Z d S)r zy Exception indicating an error in fitting. This is raised by `scipy.odr` if an error occurs during fitting. N)r r r r r r r r r = s c @ s e Z d Z d Z d S)r z� Exception stopping fitting. You can raise this exception in your objective function to tell `scipy.odr` to stop fitting. N)r r r r r r r r r F s c C sg | d k r | S| d k r. t j | � } n t j | | � } | j f k r_ | j j | � S| Sd S)zK Convert an object to the preferred form for input to the odr routine. N)�numpyZasarray�shape�dtype�type)�objr r r r �_convV s r c C s� d# | d } | d k r�| d d | d d | d d | d d | d f } g } | d d k r� | d d k r� | j d � | d d k r� | j d � | d d k r� | j d � | j | � n�| d d k rW| d d k r� | j d � | d d k r| j d � | d d k r7| j d � | d d k r�| j d � nk| d d k r�| d d k r�| j d � | d d k r�| j d � | d d k r�| j d � | d d k r�| j d � n� | d d k re| d d k r| j d � | d d k r(| j d � | d d k rE| j d � | d d k r�| j d � n] | d d k r�| j d � n= | d d k r�| j d � n | d d k r�| j d! � | S| g Sd"