– math – Matemaattiset toiminnot¶

Määrä-theoretic ja edustus toiminnot¶

math.ceil(x)¶

Paluu katto x, on pienin kokonaisluku, joka on suurempi tai yhtä suuri kuin x.Jos x ei ole a-float, delegoi x.__ceil__(), joka pitäisi palauttaaIntegral arvo.

math.comb(n, k) – ¶

Palauta useita tapoja valita k kohteita n erät ilman repetitionand ilman järjestystä.,

Arvioi n! / (k! * (n - k)!), kun k <= n ja evaluatesto nolla, kun k > n.

kutsutaan Myös binomial coefficient, koska se on equivalentto kerroin k: nnen termin polynomi laajennus theexpression (1 + x) ** n.

nostaa TypeError jos jompikumpi argumenteista ei ole kokonaislukua.Herättää ValueError jos jompikumpi argumenteista on negatiivinen.

uusi versiossa 3.8.,

math.copysign(x, y)¶math.fabs(x)¶

Return the absolute value of x.

math.factorial(x)¶

Return x factorial as an integer. Raises ValueError if x is not integral oris negative.

Deprecated since version 3.9: Accepting floats with integral values (like 5.0) is deprecated.,

math.floor(x)¶math.fmod(x, y)¶

Paluu fmod(x, y) määritelty alusta C-kirjaston. Huomaa, että thePython expression x % y ei välttämättä palauta samaa tulosta. Tarkoitus Cstandard on, että fmod(x, y) täsmälleen (matemaattisesti, että infiniteprecision) yhtä x - n*y joidenkin kokonaisluku n siten, että tulos onko sama merkki kuin x ja suuruus on alle abs(y)., Pythonin x % ypalauttaa tuloksen merkki y sen sijaan, ja se voi olla juuri computablefor float argumentteja. Esimerkiksi fmod(-1e-100, 1e100) on -1e-100, mutta tulosta Pythonin -1e-100 % 1e100 on 1e100-1e-100, joka ei berepresented juuri niin kuin float, ja kierroksia yllättävää 1e100. Diplomityön syy, toiminto fmod() pidetään yleisesti parempana, kun työskentelet withfloats, kun taas Python x % y suositellaan työskenneltäessä kokonaislukuja.,

math.frexp(x)¶math.fsum(iterable)¶

Paluu tarkka liukuluku summa arvot iterable. Avoidsloss tarkasti seuraamalla useita väli osasummat:

>>> sum()0.9999999999999999>>> fsum()1.0

algoritmi on tarkkuus riippuu siitä, IEEE-754 aritmeettinen takaa ja thetypical tapauksessa, jossa pyöristys tilassa on puoli-jopa., Joitakin ei-Windowsbuilds, taustalla C-kirjasto käyttää extended precision lisäksi ja mayoccasionally double-kierroksella väli summa aiheuttaa sen olevan pois itsleast merkitsevä bitti.

käydään keskustelua ja kaksi vaihtoehtoista lähestymistapaa, katso ASPN cookbookrecipes tarkka liukuluku summattu.

math.gcd(*kokonaislukuja)¶

Paluu suurin yhteinen tekijä määritelty kokonaisluku argumentit.Jos jokin argumenteista on nonzero, niin palautettu arvo on largestpositiivinen kokonaisluku, joka on kaikkien argumenttien jakaja., Jos kaikki argumentsare nolla, palautusarvo on 0. gcd() ilman argumentsreturns 0.

uusi versiossa 3.5.

Muuttunut versiossa 3.9: Lisätty tuki mielivaltaisen määrän argumentteja. Aiemmin tukea sai vain kaksi kohdetta.

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶

Paluu True jos arvot a ja b ovat lähellä toisiaan jaFalse muuten.,

se, pidetäänkö kahta arvoa lähellä, määritetään togivenin absoluuttisten ja suhteellisten toleranssien mukaan.

rel_tol on suhteellinen toleranssi – se on suurin sallittu differencebetween a ja b suhteessa suurempi absoluuttinen arvo a tai b.Esimerkiksi, voit asettaa toleranssi 5%, pass rel_tol=0.05. Se defaulttolerance on 1e-09, joka takaa, että nämä kaksi arvoa ovat samewithin noin 9 desimaalia. rel_tolin on oltava suurempi kuin nolla.

abs_tol on pienin absoluuttinen toleranssi – hyödyllinen vertailuissa nearzero., abs_tolin on oltava vähintään nolla.

Jos virheitä ei tapahdu, tuloksena on:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol).

IEEE 754 erityisiä arvoja NaN, inf ja -inf tulee behandled mukaan IEEE sääntöjä. Erityisesti, NaN ei ole consideredclose tahansa muu arvo, mukaan lukien NaN. inf ja -inf ovat onlyconsidered lähellä itseään.

uusi versiossa 3.5.,

See also

PEP 485 – A function for testing approximate equality

math.isfinite(x)¶

Return True if x is neither an infinity nor a NaN, andFalse otherwise. (Note that 0.0 is considered finite.)

New in version 3.2.

math.isinf(x)¶

Return True if x is a positive or negative infinity, andFalse otherwise.,

math.isnan(x)¶

Paluu True jos x on NaN (not a number), ja False muuten.

math.isqrt(n)¶

Palauttaa kokonaisluku neliöjuuri nonnegative integer n. Tämä on thefloor tarkka neliöjuuri n, tai vastaavasti suurin integera siten, että a2 ≤ n.

joissakin sovelluksissa, se voi olla helpompi on ainakin integera siten, että n ≤ a2, tai toisin sanoen katto ofthe tarkka neliöjuuri n., Positiivisessa n: ssä tämä voidaan laskea käyttämälläa = 1 + isqrt(n - 1).

uusi versiossa 3.8.

math.lcm(*kokonaislukuja)¶

Paluu pienin yhteinen jaettava määritelty kokonaisluku argumentit.Jos kaikki argumentit ovat nonzero, niin palautettu arvo on smallestpositiivinen kokonaisluku, joka on useita kaikista argumenteista. Jos jokin argumentsis nolla, niin palautetaan arvo on 0. lcm() ilman argumentsreturns 1.

uusi versiossa 3.9.,

math.ldexp(x, i)¶

Paluu x * (2**i). Tämä on oleellisesti funktionfrexp()käänteisfunktio.

math.modf(x)¶

Paluu murto ja kokonaisluku osat x. Molemmat tulokset kuljettaa sinulla voi x ja kelluu.

Paluu seuraavana kelluva pisteen arvo, kun x kohtaan y.

Jos x on yhtä kuin y, palauta y.

Esimerkkejä:

Katso myös math.ulp().

uusi versiossa 3.9.,

math.perm(n, k=Ei mitään)¶

Palauta useita tapoja valita k kohteita n itemswithout toistoa ja järjestystä.

Arvioi n! / (n - k)!, kun k <= n ja evaluatesto nolla, kun k > n.

Jos k ei ole määritelty tai ei, niin k on oletusarvoisesti nand-funktio palauttaa n!.

nostaa TypeError jos jompikumpi argumenteista ei ole kokonaislukua.Herättää ValueError jos jompikumpi argumenteista on negatiivinen.,

uusi versiossa 3.8.

math.prod(iterable, *, start=1)¶

Laske tuotteen kaikki elementit input iterable.Tuotteen oletusalkuarvo on 1.

kun toistettava on tyhjä, palauta aloitusarvo. Tämä funktio on tarkoitettu erityisesti numeeristen arvojen käyttöön, ja se voi hylätä numeeriset tyypit.

uusi versiossa 3.8.

math.remainder(x, y)¶

Paluu IEEE 754-tyylinen jäljellä x suhteen y., Forfinite x ja äärellinen nollasta poikkeava y, tämä on ero x - n*y,jossa n on lähin kokonaisluku tarkka arvo osamäärä x /y. Jos x / y on täsmälleen puolivälissä välillä kaksi peräkkäistä kokonaislukua, thenearest jopa kokonaisluku käytetään n. Loput r = remainder(x,y) näin aina täyttää abs(r) <= 0.5 * abs(y).,

Special tapauksissa seuraa IEEE 754: erityisesti remainder(x, math.inf) isx tahansa äärellinen x, ja remainder(x, 0) jaremainder(math.inf, x) nostaa ValueError mistään ei-NaN x.Jos tulos loput toiminta on nolla, se on nolla annetaan sama merkki kuin x.

alustoilla käyttäen IEEE 754 binary liukuluku, tulos thisoperation on aina täsmälleen representable: n pyöristys virhe on otettu käyttöön.

uusi versiossa 3.7.,

math.trunc(x)¶

Paluu Real arvo x katkaistu on, ettäIntegral (yleensä kokonaisluku). Valtuutetutx.__trunc__().

math.ulp(x)¶

Paluu arvo vähiten merkitsevää bittiä float x:

  • Jos x on NaN (not a number), palauta x.

  • Jos x on negatiivinen, palauttaa ulp(-x).

  • Jos x on positiivinen äärettömyys, return x.,

  • Jos x on nolla, palauttaa pienin positivedenormalized representable float (pienempi kuin pienin positivenormalized float, sys.float_info.min).

  • Jos x on yhtä suuri kuin suurin positiivinen representable float,paluu arvo vähiten merkitsevä bitti x, siten, että firstfloat pienempi kuin x x - ulp(x).

  • Muuten (x on positiivinen rajallinen määrä), paluu arvo leastsignificant vähän x, siten, että ensimmäinen float suurempi kuin xis x + ulp(x).,

ULP tarkoittaa ”yksikköä viimeisessä paikassa”.

Katso myös math.nextafter() ja sys.float_info.epsilon.

uusi versiossa 3.9.

Huomaa, että frexp() ja modf() eri call/return patternthan niiden C vastineet: he ottaa yhden argumentin ja palauttaa pari ofvalues, pikemminkin kuin palauttaa heidän toinen palauttaa arvon kautta ’outputparameter’ (ei ole olemassa sellaista asiaa Python).,

Esimerkiksi ceil(), floor() ja modf() toimintoja, huomaa, että allfloating-pisteen numeroita riittävän suuri suuruus ovat tarkkoja kokonaislukuja.Python kelluu tyypillisesti kuljettaa enintään 53 bittiä tarkkuus (sama kuin theplatform C double-tyyppi), jolloin kaikki float x abs(x) >= 2**52välttämättä ole murto bittiä.

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *