अनुक्रमणिका[लपवा][दाखवा]
तुम्ही युनिव्हर्सिटीचे विद्यार्थी असाल किंवा डेटा सायन्समध्ये काम करत असाल तरीही गणिताला काहीही मिळत नाही.
डेटा सायन्स हा एक प्रकारचा उपयोजित गणित/सांख्यिकी आहे असा तर्कही कोणी करू शकतो. NumPy, SciPy, स्किट-शिकाआणि टेन्सर फ्लो पायथन लायब्ररींपैकी काही मोजकीच आहेत जी गणिताचा परिमाणवाचकपणे व्यवहार करतात.
तथापि, गणितीय चिन्हे स्पष्टपणे हाताळण्यासाठी फक्त एक स्पर्धक आहे: SymPy.
चला SymPy बद्दल सर्व जाणून घेऊया.
काय आहे SymPy?
SymPy एक Python प्रतीकात्मक गणित लायब्ररी आहे. कोडला समजण्याजोगे आणि सहज विस्तारता येण्यासाठी शक्य तितक्या मूलभूत ठेवताना ती पूर्ण-वैशिष्ट्यीकृत संगणक बीजगणित प्रणाली (CAS) बनण्याची इच्छा बाळगते.
हे पूर्णपणे पायथनमध्ये लिहिलेले आहे. हे वापरणे सोपे आहे कारण ते केवळ mpmath वर अवलंबून आहे, अनियंत्रित फ्लोटिंग-पॉइंट अंकगणितासाठी शुद्ध पायथन लायब्ररी.
एक लायब्ररी म्हणून, हे लक्षात घेऊन वापरण्यायोग्यतेवर महत्त्वपूर्ण भर देऊन तयार केले गेले. त्याच्या ऍप्लिकेशन प्रोग्राम इंटरफेस (API) च्या डिझाइनमध्ये विस्तारक्षमता महत्त्वपूर्ण आहे.
परिणामी, ते पायथन भाषा वाढविण्याचा कोणताही प्रयत्न करत नाही. वापरकर्त्यांना ते इतरांसोबत वापरता यावे हा उद्देश आहे पायथन लायब्ररी त्यांच्या कार्यप्रवाहात, परस्परसंवादी वातावरणात किंवा मोठ्या प्रणालीचा प्रोग्राम केलेला घटक म्हणून.
SymPy, लायब्ररी म्हणून, अंगभूत ग्राफिकल नाही वापरकर्ता इंटरफेस (GUI). लायब्ररी आहे:
- मोफत, स्पीच आणि बिअर दोन्हीसाठी, कारण ते BSD परवान्याअंतर्गत परवानाकृत आहे.
- पायथन-आधारित: हे पूर्णपणे पायथनमध्ये विकसित केले गेले आहे आणि पायथनला त्याची भाषा म्हणून वापरते.
- हलके कारण ते फक्त mpmath वर अवलंबून असते, शुद्ध पायथन लायब्ररी अनियंत्रित फ्लोटिंग-पॉइंट अंकगणितासाठी, ते वापरण्यास सोपे बनवते.
- इतर प्रोग्राम्समध्ये समाविष्ट केले जाऊ शकते आणि परस्परसंवादी साधन म्हणून वापरण्याव्यतिरिक्त सानुकूल कार्यांसह सुधारित केले जाऊ शकते.
SymPy का वापरावे?
सेज, एक संगणक बीजगणित प्रणाली, त्याची प्रोग्रामिंग भाषा म्हणून पायथन देखील वापरते. दुसरीकडे, ऋषी प्रचंड आहे, गीगाबाइटपेक्षा जास्त डाउनलोड करणे आवश्यक आहे. हलके असण्याचा फायदा आहे.
कॉम्पॅक्ट असण्याव्यतिरिक्त, यात पायथन व्यतिरिक्त कोणतेही अवलंबित्व नाही, ज्यामुळे ते सर्वत्र व्यावहारिकपणे वापरता येते.
शिवाय, सेज आणि सिम्पायची उद्दिष्टे एकसारखी नाहीत. ऋषी एक पूर्ण-वैशिष्ट्यीकृत गणित प्रणाली बनण्याची आकांक्षा बाळगतात आणि ते सर्व मुख्य मुक्त-स्रोत गणितीय प्रणाली एकामध्ये एकत्र करून तसे करतात.
जेव्हा तुम्ही सेज फंक्शन वापरता, जसे की इंटिग्रेट, तेव्हा ते त्यात समाविष्ट असलेल्या ओपन-सोर्स पॅकेजपैकी एकाची विनंती करते. प्रत्यक्षात, ते ऋषीमध्ये बांधले गेले आहे. दुसरीकडे, SymPy एक स्वयंपूर्ण प्रणाली बनण्याची आकांक्षा बाळगते, ज्यामध्ये सर्व कार्यक्षमता स्वतःच लागू केली जाते.
लायब्ररी म्हणून काम करण्याची त्याची क्षमता हे एक महत्त्वाचे वैशिष्ट्य आहे. बर्याच संगणक बीजगणित प्रणाली परस्परसंवादी वातावरणात वापरण्यासाठी असतात, परंतु त्या स्वयंचलित किंवा विस्तृत करणे कठीण असते.
हे पायथनमध्ये परस्पररित्या वापरले जाऊ शकते किंवा आपल्या स्वतःच्या पायथन प्रोग्राममध्ये आयात केले जाऊ शकते. आपल्या स्वतःच्या दिनचर्येसह ते सहजपणे विस्तारित करण्यासाठी त्यात API देखील आहेत.
SymPy स्थापित करत आहे
तुमच्या वातावरणात इन्स्टॉल करण्यासाठी फक्त खालील कमांड वापरा.
SymPy चिन्हे
चला आता सुरुवात करूया! त्याची मूलभूत वस्तू एक प्रतीक आहे. SymPy मध्ये, तुम्ही लिहून x चिन्ह तयार करू शकता:
वरील कोड x हे चिन्ह निर्माण करतो. त्यातील चिन्हे अज्ञात मूल्यांचे प्रतिनिधित्व करणाऱ्या गणितीय चिन्हांचे अनुकरण करण्याच्या उद्देशाने आहेत.
परिणामी, खालील गणना खाली दर्शविली आहे:
वर दर्शविल्याप्रमाणे, चिन्ह x हे अज्ञात रकमेसारखेच कार्य करते. जर तुम्हाला अनेक चिन्हे बनवायची असतील तर ती खालीलप्रमाणे लिहा:
तुम्ही या प्रकरणात एकाच क्षणी y, आणि z ही दोन चिन्हे तयार केली आहेत. ही चिन्हे आता जोडली जाऊ शकतात, वजा केली जाऊ शकतात, गुणाकार केली जाऊ शकतात आणि हवी तशी विभागली जाऊ शकतात:
SymPy फंक्शन्स
1. sympify() फंक्शन
sympify() पद्धत एका अनियंत्रित अभिव्यक्तीला SymPy अभिव्यक्तीमध्ये रूपांतरित करते. हे मानक पायथन वस्तूंचे रूपांतर करते, जसे की पूर्णांक.
स्ट्रिंग्स त्यांच्या अभिव्यक्तींमध्ये तसेच पूर्णांक इत्यादींमध्ये रूपांतरित होतात.
2. evalf() फंक्शन
हे फंक्शन 100 अंकांपर्यंत फ्लोटिंग-पॉइंट अचूकतेसह निर्दिष्ट संख्यात्मक अभिव्यक्तीचे मूल्यांकन करते.
फंक्शन अतिरिक्त वितर्क म्हणून चिन्हांसाठी संख्यात्मक मूल्यांसह शब्दकोश ऑब्जेक्ट स्वीकारते. खालील वाक्यांश विचारात घ्या:
फ्लोटिंग-पॉइंट अचूकता डीफॉल्टनुसार 15 अंकांवर सेट केली आहे. तथापि, हे 1 ते 100 मधील कोणत्याही संख्येत बदलले जाऊ शकते.
खालील समीकरणाचे 20 अंकांच्या अचूकतेसाठी मूल्यमापन केले जाते.
3. Lambdify() फंक्शन
Lambdify एक फंक्शन आहे जे त्याच्या अभिव्यक्तींना पायथन फंक्शन्समध्ये रूपांतरित करते. मूल्यांच्या विस्तृत श्रेणीमध्ये अभिव्यक्तीचे मूल्यमापन करताना evalf() पद्धत अकार्यक्षम आहे.
Lambdify हे लॅम्बडा फंक्शन प्रमाणेच कार्य करते, त्याशिवाय ते SymPy नावांचे भाषांतर दिलेल्या संख्यात्मक लायब्ररीच्या नावांमध्ये करते, जे सामान्यतः NumPy असते.
डीफॉल्टनुसार, Lambdify गणित मानक लायब्ररी अंमलबजावणीवर लागू केले जाते.
वैशिष्ट्ये
लायब्ररीची मूठभर सर्वात लक्षणीय वैशिष्ट्ये येथे सूचीबद्ध आहेत; आणखी बरेच काही समाविष्ट नाहीत, परंतु तुम्ही ते तपासू शकता येथे.
1. मुख्य क्षमता
- मूलभूत अंकगणित: +, -, *, /, आणि ** ऑपरेटर समर्थित आहेत (शक्ती)
- बहुपदी विस्तार
- पूर्णांक, परिमेय आणि अनियंत्रित अचूकतेसह फ्लोट्स
- त्रिकोणमितीय, हायपरबोलिक आणि घातांक कार्ये, मुळे, लॉगरिदम, परिपूर्ण मूल्य, गोलाकार हार्मोनिक्स, फॅक्टोरियल आणि गॅमा फंक्शन्स, झेटा फंक्शन्स, बहुपदी आणि विशेष कार्ये
- नॉन-कम्युटेटिव्ह असलेली चिन्हे
- जुळणारे नमुने
2. कॅल्क्युलस
- एकत्रीकरण: ही पद्धत विस्तारित Risch-Norman heuristic वापरते
- भिन्नता
- फंक्शन्स मर्यादित करा
- लॉरेंट टेलरची मालिका
3. बहुपदी
- Gröbner पाया
- आंशिक अपूर्णांकांचे विघटन
- विभाग, gcd परिणाम हे मूलभूत अंकगणिताची उदाहरणे आहेत.
4. संयोजनशास्त्र
- परमिटेशन्स
- ग्रे आणि प्रुफर कोड
- संयोजन, विभाजने, उपसंच
- पॉलीहेड्रल, रुबिक, सिमेट्रिक आणि इतर क्रमपरिवर्तन गट
5. स्वतंत्र गणिते
- बेरीज
- तार्किक अभिव्यक्ती
- द्विपद गुणांक
- संख्या सिद्धांत
अनुप्रयोग
1. बिल्डिंग कॅल्क्युलेटर
2. संगणक बीजगणित प्रणाली
इतर संगणक बीजगणित प्रणालींप्रमाणे, तुम्ही सिम्बॉल() फंक्शन वापरून त्यात प्रतिकात्मक चल स्वहस्ते घोषित करणे आवश्यक आहे.
3. कॅल्क्युलस
प्रतीकात्मक गणना प्रणालीची सर्व प्रकारची गणना प्रतीकात्मकपणे करण्याची क्षमता ही तिची प्रमुख शक्ती आहे.
ते विधाने सुलभ करू शकतात, प्रतीकात्मकपणे, डेरिव्हेटिव्ह्ज, अविभाज्य आणि मर्यादा मोजू शकतात, समीकरणे सोडवू शकतात, मॅट्रिक्सशी संवाद साधू शकतात आणि बरेच काही करू शकतात.
तुमची भूक शमवण्यासाठी, येथे प्रतीकात्मक शक्तीचा आस्वाद घ्या.
SymPy सोबत तुम्ही आणखी काय करू शकता?
अतिरिक्त समस्यांबद्दल सखोल विचार करण्याऐवजी, मी तुम्हाला तुमची कौशल्ये वाढवण्यास मदत करण्यासाठी संसाधनांची सूची देतो:
- मॅट्रिक्स आणि रेखीय बीजगणित: हे मॅट्रिक्ससह कार्य करू शकते आणि मूलभूत रेखीय बीजगणित ऑपरेशन्स करू शकते. भाषा NumPy च्या वाक्यरचना सारखी आहे. तथापि, लक्षणीय फरक आहेत. सुरू करण्यासाठी, तपास करा मॅट्रिक लायब्ररी मध्ये.
- अभिव्यक्ति: अभिव्यक्तीचा मागोवा ठेवण्यासाठी ते अभिव्यक्तीच्या झाडाचा लाभ घेते, जी वृक्ष-आधारित रचना आहे. च्या कडे पहा अभिव्यक्ती झाडे जर तुम्हाला त्यांच्या अंतर्गत कार्याबद्दल अधिक जाणून घ्यायचे असेल.
- डेरिव्हेटिव्ह आणि इंटिग्रल्स: प्रास्ताविक कॅल्क्युलस वर्ग (विचार वजा) मध्ये तुम्ही जे काही शिकता ते ते पूर्ण करू शकते. तुम्ही आमचे कार्य पाहून सुरुवात करू शकता भिन्नता SymPy मध्ये.
- NumPy सह संबंध: NumPy आणि SymPy दोन्ही गणिताशी संबंधित लायब्ररी आहेत. तरीही, ते मूलत: भिन्न आहेत! NumPy अंकांसह कार्य करते, तर ते प्रतीकात्मक अभिव्यक्तीसह कार्य करते.
- सरलीकरण: आपोआप अभिव्यक्ती सुलभ करण्यासाठी ते पुरेसे बुद्धिमान आहे. तथापि, जर तुम्हाला यावर अधिक बारीक नियंत्रण हवे असेल तर ते पहा सरलीकरण.
निष्कर्ष
SymPy प्रतीकात्मक गणितासाठी एक शक्तिशाली लायब्ररी आहे.
तुम्ही याचा वापर व्हेरिएबल्स आणि फंक्शन्स तयार करण्यासाठी करू शकता, तसेच गणितीय विधाने प्रतीकात्मकरीत्या विस्तारित आणि सोपी करण्यासाठी आणि समीकरणे, असमानता आणि समीकरणे/असमानता प्रणाली सोडवण्यासाठी देखील वापरू शकता.
तुम्ही फंक्शन्स स्क्रिप्टच्या मजकुरात आणि थेट टर्मिनलमध्ये (किंवा ज्युपिटर नोटबुक) द्रुत मूल्यांकन आणि केलेल्या गणनेचे चांगले ग्राफिकल चित्रण मिळविण्यासाठी.
तुम्ही SymPy बद्दल अधिक एक्सप्लोर करण्यास तयार आहात का? आम्हाला टिप्पण्यांमध्ये कळवा.
प्रत्युत्तर द्या