Jump to content

Լամբերտի W ֆունկցիա

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Լամբերտի ֆունկցիան բոլոր կոմպլեքս թվերի համար սահմանված ֆունկցիայի հակադարձ ֆունկցիան է։ Նշանակվում է հետևյալ երկու ձևերից մեկով․ կամ ։ Ցանկացած կոմպլեքս թվերի համար սահմանվում է ֆունկցիոնալ հավասարման միջոցով․

Լամբերտի ֆունկցիան չի կարող արտահայտվել տարրական ֆունկցիաների միջոցով։ Այս ֆունկցիան կիրառվում է կոմբինատորիկայում, ինչպես օրինակ ծառերի քանակի հաշվման կամ հավասարումներ լուծելու ժամանակ։

1779 թվականին ֆունկցիան ուսումնասիրվել է Լեոնարդ Էյլերի կողմից, սակայն տևական ժամանակ որևէ անվանում չի ստացել։ Հետագայում անվանվել է Յոհան Լամբերտի անունով[1]։

Բազմիմաստություն

[խմբագրել | խմբագրել կոդը]
ֆունցիայի (կապույտ) հիմնական և (մանուշակագույն) լրացուցիչ ճյուղերը
W0(x) ֆունկցիայի գրաֆիկը −1/ex ≤ 4 միջակայքում

ֆունկցիան միջակայքում ինյեկտիվ չի համարվում փոխարենը միջակայքում համարվում է բազմարժեք ֆունկցիա։

  • Եթե սահմանափակվենք անհավասարությունով և օգտվենք պայմանից, ապա կվորոշվի միարժեք ֆունկցիան, որը ֆունկցիայի հիմնական ճյուղն է:
  • Եթե սահմանափակվենք և անհավասարություններով և օգտվենք պայմանից, ապա կորոշվի միարժեք ֆունկցիան, որը համարվում է ֆունկցիայի լրացուցիչ ճյուղ։

Ասիմպտոտիկներ

[խմբագրել | խմբագրել կոդը]

Օգտակար է իմանալ ֆունկցիայի ասիմպտոտիկները մի քանի առանցքային կետերին ձգտելու ժամանակ․

Այլ բանաձևեր

[խմբագրել | խմբագրել կոդը]

Հատկություններ

[խմբագրել | խմբագրել կոդը]

Անբացահայտ ֆունկցիայի դիֆերենցման շնորհիվ ստանում ենք, որ դեպքում Լամբերտի ֆունկցիան բավարարում է հետևյալ դիֆերենցիալ հավասարմանը․

Շարքերի հակադարձման թեորեմի շնորհիվ կարելի է արտահայտություն ստանալ Թեյլորի շարքերի համար․

Մասերով ինտեգրելու դեպքում կստանանք հետևյալը․

Որոշ կետերում ընդունած արժեքները

[խմբագրել | խմբագրել կոդը]
,
(հիմնական Օմեգա)

Հավասարումների լուծումը W ֆունկցիայի միջոցով

[խմբագրել | խմբագրել կոդը]

Ոչ հանրահաշվական մի շարք հավասարումների լուծումները կարող են արտահայտվել ֆունկցիայի տեքով։

Օրինակ 1:

, հետևաբար, , որտեղից .

Օրինակ 2:

, հետևաբար, , որտեղից .

Օրինակ 3:

, тогда , հետևաբար, , որտեղից .

ֆունկցիան հնարավոր է մոտավորապես հաշվվել ռեկուրենտ հարաբերության շնորհիվ[1]

Python լեզվով գրված ծրագրի օրինակ․

import math

def lambertW(x, prec=1e-12):
    w = 0
    for i in range(100):
        wTimesExpW = w * math.exp(w)
        wPlusOneTimesExpW = (w + 1) * math.exp(w)
        w -= (wTimesExpW - x) / (wPlusOneTimesExpW - (w + 2) * (wTimesExpW - x) / (2 * w + 2))
        if prec > abs((x - wTimesExpW) / wPlusOneTimesExpW):
            break
    if prec <= abs((x - wTimesExpW) / wPlusOneTimesExpW):
        raise Exception("W(x) ֆունկցիան չի զուգամիտում բավականին արագ x=%f դեպքում" % x)
    return w

Մոտավոր հաշվարկման համար նպատակահարմար է օգտագործել հետևյալ բանաձևը[2]

Ստացված ֆունկցիան, չնայած որ նման է ֆունկցիային, սակայն տարբերվում է նրանից 10%-ով։

Ծանոթագրություններ

[խմբագրել | խմբագրել կոդը]
  1. 1,0 1,1 Corless et al. On the Lambert W function (und) // Adv. Computational Maths.. — 1996. — Т. 5. — С. 329—359. Архивировано из первоисточника 18 հունվարի 2005.
  2. Double precision function LAMBERTW(X) Արխիվացված 2005-09-02 Wayback Machine в пакете QCDINS Արխիվացված 2005-04-04 Wayback Machine