123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 |
- __version__ = '1.2.1'
- from .usertools import monitor, timing
- from .ctx_fp import FPContext
- from .ctx_mp import MPContext
- from .ctx_iv import MPIntervalContext
- fp = FPContext()
- mp = MPContext()
- iv = MPIntervalContext()
- fp._mp = mp
- mp._mp = mp
- iv._mp = mp
- mp._fp = fp
- fp._fp = fp
- mp._iv = iv
- fp._iv = iv
- iv._iv = iv
- # XXX: extremely bad pickle hack
- from . import ctx_mp as _ctx_mp
- _ctx_mp._mpf_module.mpf = mp.mpf
- _ctx_mp._mpf_module.mpc = mp.mpc
- make_mpf = mp.make_mpf
- make_mpc = mp.make_mpc
- extraprec = mp.extraprec
- extradps = mp.extradps
- workprec = mp.workprec
- workdps = mp.workdps
- autoprec = mp.autoprec
- maxcalls = mp.maxcalls
- memoize = mp.memoize
- mag = mp.mag
- bernfrac = mp.bernfrac
- qfrom = mp.qfrom
- mfrom = mp.mfrom
- kfrom = mp.kfrom
- taufrom = mp.taufrom
- qbarfrom = mp.qbarfrom
- ellipfun = mp.ellipfun
- jtheta = mp.jtheta
- kleinj = mp.kleinj
- eta = mp.eta
- qp = mp.qp
- qhyper = mp.qhyper
- qgamma = mp.qgamma
- qfac = mp.qfac
- nint_distance = mp.nint_distance
- plot = mp.plot
- cplot = mp.cplot
- splot = mp.splot
- odefun = mp.odefun
- jacobian = mp.jacobian
- findroot = mp.findroot
- multiplicity = mp.multiplicity
- isinf = mp.isinf
- isnan = mp.isnan
- isnormal = mp.isnormal
- isint = mp.isint
- isfinite = mp.isfinite
- almosteq = mp.almosteq
- nan = mp.nan
- rand = mp.rand
- absmin = mp.absmin
- absmax = mp.absmax
- fraction = mp.fraction
- linspace = mp.linspace
- arange = mp.arange
- mpmathify = convert = mp.convert
- mpc = mp.mpc
- mpi = iv._mpi
- nstr = mp.nstr
- nprint = mp.nprint
- chop = mp.chop
- fneg = mp.fneg
- fadd = mp.fadd
- fsub = mp.fsub
- fmul = mp.fmul
- fdiv = mp.fdiv
- fprod = mp.fprod
- quad = mp.quad
- quadgl = mp.quadgl
- quadts = mp.quadts
- quadosc = mp.quadosc
- invertlaplace = mp.invertlaplace
- invlaptalbot = mp.invlaptalbot
- invlapstehfest = mp.invlapstehfest
- invlapdehoog = mp.invlapdehoog
- pslq = mp.pslq
- identify = mp.identify
- findpoly = mp.findpoly
- richardson = mp.richardson
- shanks = mp.shanks
- levin = mp.levin
- cohen_alt = mp.cohen_alt
- nsum = mp.nsum
- nprod = mp.nprod
- difference = mp.difference
- diff = mp.diff
- diffs = mp.diffs
- diffs_prod = mp.diffs_prod
- diffs_exp = mp.diffs_exp
- diffun = mp.diffun
- differint = mp.differint
- taylor = mp.taylor
- pade = mp.pade
- polyval = mp.polyval
- polyroots = mp.polyroots
- fourier = mp.fourier
- fourierval = mp.fourierval
- sumem = mp.sumem
- sumap = mp.sumap
- chebyfit = mp.chebyfit
- limit = mp.limit
- matrix = mp.matrix
- eye = mp.eye
- diag = mp.diag
- zeros = mp.zeros
- ones = mp.ones
- hilbert = mp.hilbert
- randmatrix = mp.randmatrix
- swap_row = mp.swap_row
- extend = mp.extend
- norm = mp.norm
- mnorm = mp.mnorm
- lu_solve = mp.lu_solve
- lu = mp.lu
- qr = mp.qr
- unitvector = mp.unitvector
- inverse = mp.inverse
- residual = mp.residual
- qr_solve = mp.qr_solve
- cholesky = mp.cholesky
- cholesky_solve = mp.cholesky_solve
- det = mp.det
- cond = mp.cond
- hessenberg = mp.hessenberg
- schur = mp.schur
- eig = mp.eig
- eig_sort = mp.eig_sort
- eigsy = mp.eigsy
- eighe = mp.eighe
- eigh = mp.eigh
- svd_r = mp.svd_r
- svd_c = mp.svd_c
- svd = mp.svd
- gauss_quadrature = mp.gauss_quadrature
- expm = mp.expm
- sqrtm = mp.sqrtm
- powm = mp.powm
- logm = mp.logm
- sinm = mp.sinm
- cosm = mp.cosm
- mpf = mp.mpf
- j = mp.j
- exp = mp.exp
- expj = mp.expj
- expjpi = mp.expjpi
- ln = mp.ln
- im = mp.im
- re = mp.re
- inf = mp.inf
- ninf = mp.ninf
- sign = mp.sign
- eps = mp.eps
- pi = mp.pi
- ln2 = mp.ln2
- ln10 = mp.ln10
- phi = mp.phi
- e = mp.e
- euler = mp.euler
- catalan = mp.catalan
- khinchin = mp.khinchin
- glaisher = mp.glaisher
- apery = mp.apery
- degree = mp.degree
- twinprime = mp.twinprime
- mertens = mp.mertens
- ldexp = mp.ldexp
- frexp = mp.frexp
- fsum = mp.fsum
- fdot = mp.fdot
- sqrt = mp.sqrt
- cbrt = mp.cbrt
- exp = mp.exp
- ln = mp.ln
- log = mp.log
- log10 = mp.log10
- power = mp.power
- cos = mp.cos
- sin = mp.sin
- tan = mp.tan
- cosh = mp.cosh
- sinh = mp.sinh
- tanh = mp.tanh
- acos = mp.acos
- asin = mp.asin
- atan = mp.atan
- asinh = mp.asinh
- acosh = mp.acosh
- atanh = mp.atanh
- sec = mp.sec
- csc = mp.csc
- cot = mp.cot
- sech = mp.sech
- csch = mp.csch
- coth = mp.coth
- asec = mp.asec
- acsc = mp.acsc
- acot = mp.acot
- asech = mp.asech
- acsch = mp.acsch
- acoth = mp.acoth
- cospi = mp.cospi
- sinpi = mp.sinpi
- sinc = mp.sinc
- sincpi = mp.sincpi
- cos_sin = mp.cos_sin
- cospi_sinpi = mp.cospi_sinpi
- fabs = mp.fabs
- re = mp.re
- im = mp.im
- conj = mp.conj
- floor = mp.floor
- ceil = mp.ceil
- nint = mp.nint
- frac = mp.frac
- root = mp.root
- nthroot = mp.nthroot
- hypot = mp.hypot
- fmod = mp.fmod
- ldexp = mp.ldexp
- frexp = mp.frexp
- sign = mp.sign
- arg = mp.arg
- phase = mp.phase
- polar = mp.polar
- rect = mp.rect
- degrees = mp.degrees
- radians = mp.radians
- atan2 = mp.atan2
- fib = mp.fib
- fibonacci = mp.fibonacci
- lambertw = mp.lambertw
- zeta = mp.zeta
- altzeta = mp.altzeta
- gamma = mp.gamma
- rgamma = mp.rgamma
- factorial = mp.factorial
- fac = mp.fac
- fac2 = mp.fac2
- beta = mp.beta
- betainc = mp.betainc
- psi = mp.psi
- #psi0 = mp.psi0
- #psi1 = mp.psi1
- #psi2 = mp.psi2
- #psi3 = mp.psi3
- polygamma = mp.polygamma
- digamma = mp.digamma
- #trigamma = mp.trigamma
- #tetragamma = mp.tetragamma
- #pentagamma = mp.pentagamma
- harmonic = mp.harmonic
- bernoulli = mp.bernoulli
- bernfrac = mp.bernfrac
- stieltjes = mp.stieltjes
- hurwitz = mp.hurwitz
- dirichlet = mp.dirichlet
- bernpoly = mp.bernpoly
- eulerpoly = mp.eulerpoly
- eulernum = mp.eulernum
- polylog = mp.polylog
- clsin = mp.clsin
- clcos = mp.clcos
- gammainc = mp.gammainc
- gammaprod = mp.gammaprod
- binomial = mp.binomial
- rf = mp.rf
- ff = mp.ff
- hyper = mp.hyper
- hyp0f1 = mp.hyp0f1
- hyp1f1 = mp.hyp1f1
- hyp1f2 = mp.hyp1f2
- hyp2f1 = mp.hyp2f1
- hyp2f2 = mp.hyp2f2
- hyp2f0 = mp.hyp2f0
- hyp2f3 = mp.hyp2f3
- hyp3f2 = mp.hyp3f2
- hyperu = mp.hyperu
- hypercomb = mp.hypercomb
- meijerg = mp.meijerg
- appellf1 = mp.appellf1
- appellf2 = mp.appellf2
- appellf3 = mp.appellf3
- appellf4 = mp.appellf4
- hyper2d = mp.hyper2d
- bihyper = mp.bihyper
- erf = mp.erf
- erfc = mp.erfc
- erfi = mp.erfi
- erfinv = mp.erfinv
- npdf = mp.npdf
- ncdf = mp.ncdf
- expint = mp.expint
- e1 = mp.e1
- ei = mp.ei
- li = mp.li
- ci = mp.ci
- si = mp.si
- chi = mp.chi
- shi = mp.shi
- fresnels = mp.fresnels
- fresnelc = mp.fresnelc
- airyai = mp.airyai
- airybi = mp.airybi
- airyaizero = mp.airyaizero
- airybizero = mp.airybizero
- scorergi = mp.scorergi
- scorerhi = mp.scorerhi
- ellipk = mp.ellipk
- ellipe = mp.ellipe
- ellipf = mp.ellipf
- ellippi = mp.ellippi
- elliprc = mp.elliprc
- elliprj = mp.elliprj
- elliprf = mp.elliprf
- elliprd = mp.elliprd
- elliprg = mp.elliprg
- agm = mp.agm
- jacobi = mp.jacobi
- chebyt = mp.chebyt
- chebyu = mp.chebyu
- legendre = mp.legendre
- legenp = mp.legenp
- legenq = mp.legenq
- hermite = mp.hermite
- pcfd = mp.pcfd
- pcfu = mp.pcfu
- pcfv = mp.pcfv
- pcfw = mp.pcfw
- gegenbauer = mp.gegenbauer
- laguerre = mp.laguerre
- spherharm = mp.spherharm
- besselj = mp.besselj
- j0 = mp.j0
- j1 = mp.j1
- besseli = mp.besseli
- bessely = mp.bessely
- besselk = mp.besselk
- besseljzero = mp.besseljzero
- besselyzero = mp.besselyzero
- hankel1 = mp.hankel1
- hankel2 = mp.hankel2
- struveh = mp.struveh
- struvel = mp.struvel
- angerj = mp.angerj
- webere = mp.webere
- lommels1 = mp.lommels1
- lommels2 = mp.lommels2
- whitm = mp.whitm
- whitw = mp.whitw
- ber = mp.ber
- bei = mp.bei
- ker = mp.ker
- kei = mp.kei
- coulombc = mp.coulombc
- coulombf = mp.coulombf
- coulombg = mp.coulombg
- barnesg = mp.barnesg
- superfac = mp.superfac
- hyperfac = mp.hyperfac
- loggamma = mp.loggamma
- siegeltheta = mp.siegeltheta
- siegelz = mp.siegelz
- grampoint = mp.grampoint
- zetazero = mp.zetazero
- riemannr = mp.riemannr
- primepi = mp.primepi
- primepi2 = mp.primepi2
- primezeta = mp.primezeta
- bell = mp.bell
- polyexp = mp.polyexp
- expm1 = mp.expm1
- log1p = mp.log1p
- powm1 = mp.powm1
- unitroots = mp.unitroots
- cyclotomic = mp.cyclotomic
- mangoldt = mp.mangoldt
- secondzeta = mp.secondzeta
- nzeros = mp.nzeros
- backlunds = mp.backlunds
- lerchphi = mp.lerchphi
- stirling1 = mp.stirling1
- stirling2 = mp.stirling2
- # be careful when changing this name, don't use test*!
- def runtests():
- """
- Run all mpmath tests and print output.
- """
- import os.path
- from inspect import getsourcefile
- from .tests import runtests as tests
- testdir = os.path.dirname(os.path.abspath(getsourcefile(tests)))
- importdir = os.path.abspath(testdir + '/../..')
- tests.testit(importdir, testdir)
- def doctests(filter=[]):
- import sys
- from timeit import default_timer as clock
- for i, arg in enumerate(sys.argv):
- if '__init__.py' in arg:
- filter = [sn for sn in sys.argv[i+1:] if not sn.startswith("-")]
- break
- import doctest
- globs = globals().copy()
- for obj in globs: #sorted(globs.keys()):
- if filter:
- if not sum([pat in obj for pat in filter]):
- continue
- sys.stdout.write(str(obj) + " ")
- sys.stdout.flush()
- t1 = clock()
- doctest.run_docstring_examples(globs[obj], {}, verbose=("-v" in sys.argv))
- t2 = clock()
- print(round(t2-t1, 3))
- if __name__ == '__main__':
- doctests()
|