Python Erf Error Function
Contents |
2/sqrt(pi)*integral(exp(-t**2), t=0..z). Parameters:x module 'scipy' has no attribute 'special' : ndarray Input array. Returns:res : ndarray The values of scipy erfinv the error function at the given points x. See also erfc, erfinv, erfcinv Notes The cumulative of the unit normal distribution
Python Pi
is given by Phi(z) = 1/2[1 + erf(z/sqrt(2))]. References [R200]http://en.wikipedia.org/wiki/Error_function [R201]Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972. http://www.math.sfu.ca/~cbm/aands/page_297.htm [R202]Steven G. Johnson, Faddeeva W function implementation. http://ab-initio.mit.edu/Faddeeva Previous topic scipy.special.multigammaln Next topic scipy.special.erfc © Copyright 2008-2009, The Scipy community. Last updated on May 11, 2014. Created using Sphinx 1.2.2.
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about only length-1 arrays can be converted to python scalars hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges complementary error function Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each
Numpy Sqrt
other. Join them; it only takes a minute: Sign up command for inverse ERF function in python [closed] up vote 7 down vote favorite What is the command to calculate Inverse Error function (erf) of a function in a https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.special.erf.html python and which module is needed to import? python python-2.7 python-3.x numpy share|improve this question asked Jul 7 '15 at 10:37 Naitik Mathur 442 closed as unclear what you're asking by jonrsharpe, ekad, cel, HaveNoDisplayName, Soner Gönül Jul 7 '15 at 14:50 Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying http://stackoverflow.com/questions/31266249/command-for-inverse-erf-function-in-python this question.If this question can be reworded to fit the rules in the help center, please edit the question. add a comment| 2 Answers 2 active oldest votes up vote 10 down vote For the inverse error function, scipy.special has erfinv: http://docs.scipy.org/doc/scipy/reference/generated/scipy.special.erfinv.html#scipy.special.erfinv In [4]: from scipy.special import erfinv In [5]: erfinv(1) Out[5]: inf In [6]: erfinv(0.4) Out[6]: 0.37080715859355784 share|improve this answer answered Jul 7 '15 at 10:41 xnx 11.1k31541 add a comment| up vote 0 down vote I suggest to use scipy, a library that uses numpy. the module you need to import to use is erfinv: from scipy.special import erfinv Scipy is a key player for numerical software in Python. But it might be a little challenging getting started with it. share|improve this answer edited Jul 7 '15 at 10:46 answered Jul 7 '15 at 10:40 DJanssens 1,8143826 add a comment| Not the answer you're looking for? Browse other questions tagged python python-2.7 python-3.x numpy or ask your own question. asked 1 year ago viewed 1664 times active 1 year ago Blog Stack Overflow Podcast #92 - The Guerilla Guide to Interviewing Visit Chat Related 1146How can I represent an 'Enum' in Python?2320Calling an external command in Python5543What does the “yield” keyword do?3use of // in python1How can I change the default version on Python on linux in order to install and use certain modules?3numpy python 3.4.1 : Python 3.4
module is always available. It provides access to the mathematical functions defined by the C standard. These functions cannot be used with complex numbers; use the functions of the https://docs.python.org/2/library/math.html same name from the cmath module if you require support http://www.johndcook.com/blog/2009/01/19/stand-alone-error-function-erf/ for complex numbers. The distinction between functions which support complex numbers and those which don't is made since most users do not want to learn quite as much mathematics as required to understand complex numbers. Receiving an exception instead of a complex result allows earlier detection of error function the unexpected complex number used as a parameter, so that the programmer can determine how and why it was generated in the first place. The following functions are provided by this module. Except when explicitly noted otherwise, all return values are floats. 9.2.1. Number-theoretic and representation functions¶ math.ceil(x)¶ Return the ceiling of x as a float, the smallest integer python erf error value greater than or equal to x. math.copysign(x, y)¶ Return x with the sign of y. On a platform that supports signed zeros, copysign(1.0, -0.0) returns -1.0. New in version 2.6. math.fabs(x)¶ Return the absolute value of x. math.factorial(x)¶ Return x factorial. Raises ValueError if x is not integral or is negative. New in version 2.6. math.floor(x)¶ Return the floor of x as a float, the largest integer value less than or equal to x. math.fmod(x, y)¶ Return fmod(x, y), as defined by the platform C library. Note that the Python expression x % y may not return the same result. The intent of the C standard is that fmod(x, y) be exactly (mathematically; to infinite precision) equal to x - n*y for some integer n such that the result has the same sign as x and magnitude less than abs(y). Python's x % y returns a result with the sign of y instead, and may not b
19 January 2009 by John The question came up on StackOverflow this morning how to compute the error function erf(x) in Python. The standard answer for how to compute anything numerical in Python is "Look in SciPy." However, this person didn't want to take on the dependence on SciPy. I've seen variations on this question come up in several different contexts lately, including questions about computing the normal distribution function, so I thought I'd write up a solution.Here's a Python implementation of erf(x) based on formula 7.1.26 from A&S. The maximum error is below 1.5 × 10-7.import math def erf(x): # constants a1 = 0.254829592 a2 = -0.284496736 a3 = 1.421413741 a4 = -1.453152027 a5 = 1.061405429 p = 0.3275911 # Save the sign of x sign = 1 if x < 0: sign = -1 x = abs(x) # A & S 7.1.26 t = 1.0/(1.0 + p*x) y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*math.exp(-x*x) return sign*yThis problem is typical in two ways: A&S has a solution, and you've got to know a little background before you can use it.The formula given in A&S is only good for x ≥ 0. That's no problem if you know that the error function is an odd function, i.e. erf(-x) = -erf(x). But if you're an engineer who has never heard of the error function but needs to use it, it may take a while to figure out how to handle negative inputs.One other thing that someone just picking up A&S might not know is the best way to evaluate polynomials. The formula appears as 1 - (a1t1 + a2t2 + a3t3 + a4t4 + a5t5)exp(-x2), which is absolutely correct. But directly evaluating an nth order polynomial takes O(n2) operations, while the factorization used in the code above uses O(n) operations. This technique is known as Horner's method. Categories : Computing Math PythonTags : Python Special functionsBookmark the permalink Post navigationPrevious PostDraw a bigger pictureNext PostStand-alone normal (Gaussian) distribution function 14 thoughts on “Stand-alone error function erf(x)” Sergey Fomel 19 January 2009 at 16:21 erf is actually a standard function in C "math.h"For some reason, it is not included in Python's math module but, if you have SWIG, it is easy to write a SW