Բառը[Թաքցնել][Ցուցադրում]
Մաթեմատիկայից շրջանցել չկա, անկախ նրանից՝ համալսարանի ուսանող ես, թե աշխատում ես տվյալների գիտության ոլորտում:
Կարելի է նույնիսկ պնդել, որ տվյալների գիտությունը կիրառական մաթեմատիկայի/վիճակագրության տեսակ է: NumPy, SciPy, Scikit-Իմացեք, եւ TensorFlow Python գրադարաններից ընդամենը մի քանիսն են, որոնք քանակապես զբաղվում են մաթեմատիկայով:
Այնուամենայնիվ, կա միայն մեկ մրցակից մաթեմատիկական նշանների հետ բացահայտորեն գործելու համար՝ SymPy:
Եկեք պարզենք ամեն ինչ SymPy-ի մասին:
Ինչ է SymPy?
SymPy-ը Python-ի խորհրդանշական մաթեմատիկայի գրադարան է: Այն ձգտում է լինել լիարժեք համակարգչային հանրահաշիվ համակարգ (CAS)՝ միաժամանակ պահպանելով հնարավորինս հիմնական կոդը, որպեսզի այն լինի հասկանալի և հեշտությամբ ընդարձակելի:
Այն ամբողջությամբ գրված է Python-ով։ Այն հեշտ է օգտագործել, քանի որ այն հիմնվում է միայն mpmath-ի վրա, որը մաքուր Python գրադարան է կամայական լողացող կետով թվաբանության համար:
Որպես գրադարան՝ այն ստեղծվել է՝ նկատի ունենալով օգտագործելիությունը: Ընդարձակելիությունը կարևոր նշանակություն ունի իր կիրառական ծրագրի միջերեսի (API) նախագծման մեջ:
Արդյունքում, այն ոչ մի փորձ չի անում բարելավել Python լեզուն: Նպատակն այն է, որ օգտվողները կարողանան օգտագործել այն մյուսների հետ միասին Python գրադարաններ իրենց աշխատանքային հոսքում, լինի դա ինտերակտիվ միջավայրում, թե որպես ավելի մեծ համակարգի ծրագրավորված բաղադրիչ:
SymPy-ն, որպես գրադարան, չունի ներկառուցված գրաֆիկական օգտագործողի ինտերֆեյս (GUI): Գրադարանն է.
- Անվճար, ինչպես խոսքի, այնպես էլ գարեջրի հետ կապված, քանի որ այն լիցենզավորված է BSD լիցենզիայի ներքո:
- Python-ի վրա հիմնված. Այն ամբողջությամբ մշակված է Python-ում և օգտագործում է Python-ը որպես իր լեզու:
- Թեթև, քանի որ այն հիմնված է միայն mpmath-ի վրա, որը մաքուր է Python գրադարան կամայական լողացող կետով թվաբանության համար՝ հեշտացնելով այն օգտագործելը:
- Կարող է ներառվել այլ ծրագրերի մեջ և փոփոխվել հատուկ գործառույթներով՝ բացի որպես ինտերակտիվ գործիք օգտագործելուց:
Ինչու՞ օգտագործել SymPy-ը:
Sage-ը, համակարգչային հանրահաշվի համակարգը, նույնպես օգտագործում է Python-ը որպես ծրագրավորման լեզու: Sage-ը, մյուս կողմից, հսկայական է և պահանջում է ավելի քան մեկ գիգաբայթ ներբեռնում: Այն ունի թեթև լինելու առավելությունը:
Բացի կոմպակտ լինելուց, այն չունի այլ կախվածություն, քան Python-ը, ինչը թույլ է տալիս այն օգտագործել գործնականում ամենուր:
Ավելին, Sage-ի և SymPy-ի նպատակները նույնը չեն: Sage-ը ձգտում է լինել լիարժեք մաթեմատիկական համակարգ, և դա անում է բոլոր հիմնական բաց կոդով մաթեմատիկական համակարգերը մեկի մեջ միավորելով:
Երբ դուք օգտագործում եք Sage ֆունկցիա, ինչպիսին է ինտեգրումը, այն կանչում է իր պարունակվող բաց կոդով փաթեթներից մեկը: Իրականում այն կառուցված է Sage-ի մեջ: SymPy-ը, մյուս կողմից, ձգտում է լինել ինքնամփոփ համակարգ՝ իր մեջ ներդրված բոլոր գործառույթներով:
Որպես գրադարան գործելու նրա կարողությունը կարևոր հատկանիշ է: Համակարգչային հանրահաշիվ համակարգերից շատերը նախատեսված են ինտերակտիվ միջավայրերում օգտագործելու համար, սակայն դրանք դժվար է ավտոմատացնել կամ ընդլայնել:
Այն կարող է ինտերակտիվ կերպով օգտագործվել Python-ում կամ ներմուծվել ձեր սեփական Python ծրագրի մեջ: Այն նաև ունի API-ներ՝ այն հեշտ ընդլայնելու ձեր սեփական առօրյայով:
SymPy-ի տեղադրում
Պարզապես օգտագործեք ստորև նշված հրամանը՝ ձեր միջավայրում տեղադրելու համար:
SymPy խորհրդանիշներ
Եկեք սկսենք դրանով հիմա: Նրա հիմնական օբյեկտը խորհրդանիշն է: SymPy-ում դուք կարող եք ստեղծել x խորհրդանիշ՝ գրելով.
Վերևի ծածկագիրը առաջացնում է x խորհրդանիշը: Դրանում առկա նշանները նախատեսված են անհայտ արժեքներ ներկայացնող մաթեմատիկական նշանների ընդօրինակման համար:
Արդյունքում ստորև ներկայացված է հետևյալ հաշվարկը.
Ինչպես ցույց է տրված վերևում, x խորհրդանիշը գործում է այնպես, ինչպես անհայտ քանակությամբ: Եթե ցանկանում եք շատ խորհրդանիշներ պատրաստել, գրեք դրանք հետևյալ կերպ.
Դուք այս դեպքում միաժամանակ ստեղծել եք երկու նշան՝ y և z։ Այս նշաններն այժմ կարելի է ավելացնել, հանել, բազմապատկել և բաժանել ըստ ցանկության.
SymPy գործառույթներ
1. sympify() ֆունկցիա
sympify() մեթոդը կամայական արտահայտությունը փոխակերպում է SymPy արտահայտության։ Այն փոխակերպում է ստանդարտ Python օբյեկտներ, ինչպիսիք են ամբողջ թվերը:
Տողերը փոխակերպվում են իրենց արտահայտությունների, ինչպես նաև ամբողջ թվերի և այլն:
2. evalf() ֆունկցիան
Այս ֆունկցիան գնահատում է նշված թվային արտահայտությունը մինչև 100 նիշի լողացող կետի ճշգրտությամբ:
Ֆունկցիան հավելյալ ընդունում է բառարանի օբյեկտ՝ թվային արժեքներով սիմվոլների համար որպես ենթարգումենտ։ Դիտարկենք հետևյալ արտահայտությունը.
Լողացող կետի ճշգրտությունը լռելյայն սահմանված է 15 նիշ: Այնուամենայնիվ, սա կարող է փոխվել ցանկացած թվի 1-ից 100-ի միջև:
Հետևյալ հավասարումը գնահատվում է 20 նիշի ճշգրտությամբ:
3. Lambdify() ֆունկցիան
Lambdify-ը ֆունկցիա է, որը փոխակերպում է իր արտահայտությունները Python ֆունկցիաների։ evalf() մեթոդն անարդյունավետ է արժեքների լայն շրջանակում արտահայտությունը գնահատելիս:
Lambdify-ն աշխատում է լամբդա ֆունկցիայի նման, բացառությամբ, որ այն թարգմանում է SymPy-ի անունները տրամադրված թվային գրադարանի անուններին, որն ընդհանուր առմամբ NumPy է:
Լռելյայնորեն, Lambdify-ը կիրառվում է մաթեմատիկայի ստանդարտ գրադարանի իրականացման համար:
Հատկություններ
Գրադարանի մի քանի ամենակարևոր առանձնահատկությունները թվարկված են այստեղ. կան շատ ավելին, որոնք ներառված չեն, բայց դուք կարող եք ստուգել դրանք այստեղ.
1. Հիմնական հնարավորություններ
- Հիմնական թվաբանություն. +, -, *, / և ** օպերատորներն ապահովված են (հզորություն)
- Բազմանդամ ընդլայնում
- Ամբողջ թվերը, ռացիոնալները և լողացողները կամայական ճշգրտությամբ
- Եռանկյունաչափական, հիպերբոլիկ և էքսպոնենցիալ ֆունկցիաներ, արմատներ, լոգարիթմներ, բացարձակ արժեք, գնդաձև ներդաշնակություն, գործոններ և գամմա ֆունկցիաներ, զետա ֆունկցիաներ, բազմանդամներ և հատուկ ֆունկցիաներ
- Խորհրդանիշներ, որոնք փոխադարձ չեն
- Համապատասխան նախշեր
2. Հաշվարկ
- Ինտեգրում. Այս մեթոդը օգտագործում է ընդլայնված Ռիշ-Նորմանի էվրիստիկա
- Տարբերակություն:
- Սահմանափակման գործառույթները
- Լորան Թեյլորի շարքը
3. Բազմանդամներ
- Gröbner հիմնադրամներ
- Մասնակի կոտորակների տարրալուծում
- Բաժանում, gcd Արդյունքները հիմնական թվաբանության օրինակներ են:
4. Կոմբինատորիկա
- Թույլտվություններ
- Մոխրագույն և Պրուֆեր կոդերը
- Համակցություններ, բաժանումներ, ենթաբազմություններ
- Բազմաթև, ռուբիկ, սիմետրիկ և այլ փոխակերպման խմբեր
5. Դիսկրետ մաթեմատիկա
- Գումարներ
- Տրամաբանական արտահայտություններ
- Երկանդամ գործակիցներ
- Թվերի տեսություն
Ծրագրեր
1. Շենքի հաշվիչ
2. Համակարգչային հանրահաշիվ համակարգեր
Ի տարբերություն այլ համակարգչային հանրահաշվի համակարգերի, դուք պետք է ձեռքով հայտարարեք դրա մեջ սիմվոլիկ փոփոխականներ՝ օգտագործելով Symbol() ֆունկցիան:
3. Հաշվարկ
Խորհրդանշական հաշվողական համակարգի կարողությունը՝ սիմվոլիկ կերպով կատարելու բոլոր տեսակի հաշվարկները, նրա հիմնական ուժն է:
Այն կարող է պարզեցնել հայտարարությունները, խորհրդանշորեն, հաշվարկել ածանցյալները, ինտեգրալները և սահմանները, լուծել հավասարումներ, փոխազդել մատրիցների հետ և անել շատ ավելին:
Ձեր ախորժակը բացելու համար ահա խորհրդանշական ուժի համը:
Էլ ի՞նչ կարող եք անել SymPy-ի հետ:
Լրացուցիչ խնդիրների մասին խորը մտածելու փոխարեն, թույլ տվեք ձեզ տրամադրել ռեսուրսների ցանկ, որոնք կօգնեն ձեզ բարելավել ձեր հմտությունները.
- Մատրիցներ և գծային հանրահաշիվ. Այն կարող է աշխատել մատրիցներով և կատարել հիմնական գծային հանրահաշվի գործողություններ: Լեզուն նման է NumPy-ի շարահյուսությանը։ Այնուամենայնիվ, կան նկատելի տարբերություններ. Սկսելու համար ուսումնասիրեք մատրիցներ գրադարանում։
- Արտահայտություն: Այն օգտագործում է արտահայտման ծառը, որը ծառի վրա հիմնված կառույց է, արտահայտությունները հետևելու համար: Նայել արտահայտիչ ծառեր եթե ցանկանում եք ավելին իմանալ նրանց ներքին աշխատանքի մասին:
- Ածանցյալներ և ինտեգրալներ. Այն կարող է իրականացնել այն ամենի մեծ մասը, ինչ դուք կսովորեիք ներածական հաշվարկի դասընթացից (բացառությամբ մտածողության): Դուք կարող եք սկսել՝ դիտելով մեր գործառույթը տարբերակում SymPy-ում։
- Հարաբերություններ NumPy-ի հետ. NumPy-ն և SymPy-ն երկուսն էլ մաթեմատիկայի հետ կապված գրադարաններ են: Նրանք, այնուամենայնիվ, էապես տարբեր են։ NumPy-ն աշխատում է թվերով, մինչդեռ այն աշխատում է խորհրդանշական արտահայտություններով:
- Պարզեցումներ: Այն բավականաչափ խելացի է արտահայտությունները ավտոմատ կերպով պարզեցնելու համար: Այնուամենայնիվ, եթե ցանկանում եք ավելի նուրբ վերահսկողություն այս հարցում, նայեք դրան պարզեցումներ.
Եզրափակում
SymPy-ը հզոր գրադարան է խորհրդանշական մաթեմատիկայի համար:
Դուք կարող եք օգտագործել այն փոփոխականներ և ֆունկցիաներ ստեղծելու համար, ինչպես նաև սիմվոլիկ կերպով ընդլայնել և պարզեցնել մաթեմատիկական պնդումները և լուծել հավասարումներ, անհավասարություններ և նույնիսկ հավասարումների/անհավասարումների համակարգեր:
Կարող եք գործառույթները գրել ինչպես սցենարի տեքստում, այնպես էլ անմիջապես տերմինալում (կամ Jupyter նոթատետրեր) արագ գնահատում և կատարված հաշվարկների ավելի լավ գրաֆիկական պատկերացում ստանալու համար:
Պատրա՞ստ եք ավելի շատ ուսումնասիրել SymPy-ը: Տեղեկացրեք մեզ մեկնաբանություններում:
Թողնել գրառում