સામગ્રીનું કોષ્ટક[છુપાવો][બતાવો]
તમે યુનિવર્સિટીના વિદ્યાર્થી હો કે ડેટા સાયન્સમાં કામ કરતા હો, ગણિતની આસપાસ કોઈ મેળવવો નથી.
કોઈ એવી દલીલ પણ કરી શકે છે કે ડેટા સાયન્સ એ લાગુ ગણિત/આંકડાનો એક પ્રકાર છે. NumPy, SciPy, વિજ્ .ાન-શીખો, અને ટેન્સરફ્લો પાયથોન લાઇબ્રેરીઓમાંથી માત્ર થોડીક છે જે ગણિત સાથે જથ્થાત્મક રીતે વ્યવહાર કરે છે.
જો કે, ગાણિતિક પ્રતીકો સાથે સ્પષ્ટ રીતે વ્યવહાર કરવા માટે માત્ર એક જ સ્પર્ધક છે: SymPy.
ચાલો SymPy વિશે બધું શોધીએ.
શું છે SymPy?
SymPy એ Python સાંકેતિક ગણિતની લાઇબ્રેરી છે. તે સંપૂર્ણ સુવિધાયુક્ત કમ્પ્યુટર બીજગણિત સિસ્ટમ (CAS) બનવાની ઈચ્છા રાખે છે જ્યારે કોડને સમજી શકાય તેટલો મૂળભૂત અને સરળતાથી વિસ્તરણ કરી શકાય તેવો હોય છે.
તે સંપૂર્ણપણે પાયથોનમાં લખાયેલું છે. તેનો ઉપયોગ કરવો સરળ છે કારણ કે તે ફક્ત mpmath પર આધાર રાખે છે, જે મનસ્વી ફ્લોટિંગ-પોઇન્ટ અંકગણિત માટે શુદ્ધ પાયથોન લાઇબ્રેરી છે.
પુસ્તકાલય તરીકે, તે ઉપયોગીતા પર નોંધપાત્ર ભારને ધ્યાનમાં રાખીને બનાવવામાં આવ્યું હતું. તેના એપ્લીકેશન પ્રોગ્રામ ઈન્ટરફેસ (API) ની ડિઝાઇનમાં એક્સ્ટેન્સિબિલિટી મહત્વપૂર્ણ છે.
પરિણામે, તે પાયથોન ભાષાને વધારવાનો કોઈ પ્રયાસ કરતું નથી. ઉદ્દેશ્ય એ છે કે વપરાશકર્તાઓ અન્યની સાથે તેનો ઉપયોગ કરી શકે પાયથોન પુસ્તકાલયો તેમના વર્કફ્લોમાં, પછી ભલે તે ઇન્ટરેક્ટિવ વાતાવરણમાં હોય અથવા મોટી સિસ્ટમના પ્રોગ્રામ કરેલ ઘટક તરીકે.
SymPy, લાઇબ્રેરી તરીકે, બિલ્ટ-ઇન ગ્રાફિકલનો અભાવ છે વપરાશકર્તા ઈન્ટરફેસ (GUI). પુસ્તકાલય છે:
- મફત, ભાષણ અને બીયર બંને સંબંધિત, કારણ કે તે BSD લાયસન્સ હેઠળ લાઇસન્સ થયેલ છે.
- પાયથોન-આધારિત: તે પાયથોનમાં સંપૂર્ણ રીતે વિકસિત છે અને તેની ભાષા તરીકે પાયથોનનો ઉપયોગ કરે છે.
- હલકો કારણ કે તે માત્ર mpmath પર આધાર રાખે છે, એક શુદ્ધ પાયથોન લાઇબ્રેરી મનસ્વી ફ્લોટિંગ-પોઇન્ટ અંકગણિત માટે, તેને ઉપયોગમાં સરળ બનાવે છે.
- અન્ય પ્રોગ્રામ્સમાં સામેલ કરી શકાય છે અને ઇન્ટરેક્ટિવ ટૂલ તરીકે ઉપયોગ કરવા ઉપરાંત કસ્ટમ ફંક્શન્સ સાથે સુધારી શકાય છે.
SymPy નો ઉપયોગ શા માટે?
સેજ, કમ્પ્યુટર બીજગણિત સિસ્ટમ, પાયથોનને તેની પ્રોગ્રામિંગ ભાષા તરીકે પણ નિયુક્ત કરે છે. બીજી બાજુ, ઋષિ પ્રચંડ છે, જેને એક ગીગાબાઈટ કરતાં વધુ ડાઉનલોડની જરૂર છે. તેનાથી હળવા થવાનો ફાયદો છે.
કોમ્પેક્ટ હોવા ઉપરાંત, તેની પાસે પાયથોન સિવાય અન્ય કોઈ નિર્ભરતા નથી, જે તેને વ્યવહારીક રીતે દરેક જગ્યાએ ઉપયોગમાં લેવાની મંજૂરી આપે છે.
વધુમાં, સેજ અને સિમ્પીના ઉદ્દેશ્યો સમાન નથી. ઋષિ સંપૂર્ણ સુવિધાયુક્ત ગણિત પ્રણાલી બનવાની ઈચ્છા ધરાવે છે, અને તે તમામ મુખ્ય ઓપન-સોર્સ ગાણિતિક પ્રણાલીઓને એકમાં જોડીને આમ કરે છે.
જ્યારે તમે સેજ ફંક્શનનો ઉપયોગ કરો છો, જેમ કે ઇન્ટિગ્રેટ, ત્યારે તે ઓપન સોર્સ પેકેજોમાંથી એકને બોલાવે છે જે તે ધરાવે છે. વાસ્તવમાં, તે ઋષિમાં બનેલ છે. બીજી બાજુ, SymPy, એક સ્વયં-સમાવિષ્ટ સિસ્ટમ બનવાની ઇચ્છા રાખે છે, જેમાં તમામ કાર્યક્ષમતા તે પોતે જ અમલમાં મૂકે છે.
પુસ્તકાલય તરીકે કાર્ય કરવાની તેની ક્ષમતા એ એક મહત્વપૂર્ણ લક્ષણ છે. ઘણી કોમ્પ્યુટર બીજગણિત પ્રણાલીઓ ઇન્ટરેક્ટિવ વાતાવરણમાં ઉપયોગમાં લેવા માટે હોય છે, પરંતુ તે સ્વચાલિત અથવા વિસ્તૃત કરવી મુશ્કેલ છે.
તે પાયથોનમાં અરસપરસ ઉપયોગ કરી શકાય છે અથવા તમારા પોતાના પાયથોન પ્રોગ્રામમાં આયાત કરી શકાય છે. તમારી પોતાની દિનચર્યાઓ સાથે તેને સરળતાથી વિસ્તારવા માટે તેમાં APIs પણ છે.
SymPy ઇન્સ્ટોલ કરી રહ્યું છે
તમારા પર્યાવરણમાં ઇન્સ્ટોલ કરવા માટે ફક્ત નીચેના આદેશનો ઉપયોગ કરો.
SymPy પ્રતીકો
ચાલો હવે તેની સાથે પ્રારંભ કરીએ! તેનો મૂળભૂત પદાર્થ પ્રતીક છે. SymPy માં, તમે લખીને x પ્રતીક જનરેટ કરી શકો છો:
ઉપરનો કોડ x સંજ્ઞા જનરેટ કરે છે. તેમાંના પ્રતીકોનો હેતુ ગાણિતિક પ્રતીકોનું અનુકરણ કરવાનો છે જે અજાણ્યા મૂલ્યોનું પ્રતિનિધિત્વ કરે છે.
પરિણામે, નીચેની ગણતરી નીચે દર્શાવેલ છે:
ઉપર બતાવ્યા પ્રમાણે, પ્રતીક x અજ્ઞાત રકમની જેમ જ કાર્ય કરે છે. જો તમે ઘણા ચિહ્નો બનાવવા માંગતા હો, તો તેમને નીચે પ્રમાણે લખો:
તમે આ કિસ્સામાં એક જ ક્ષણે બે પ્રતીકો, y, અને z બનાવ્યાં છે. આ પ્રતીકો હવે ઉમેરી શકાય છે, બાદબાકી કરી શકાય છે, ગુણાકાર કરી શકાય છે અને જોઈતા પ્રમાણે વિભાજિત કરી શકાય છે:
SymPy કાર્યો
1. sympify() ફંક્શન
sympify() પદ્ધતિ મનસ્વી અભિવ્યક્તિને SymPy અભિવ્યક્તિમાં પરિવર્તિત કરે છે. તે પ્રમાણભૂત પાયથોન ઑબ્જેક્ટ્સને કન્વર્ટ કરે છે, જેમ કે પૂર્ણાંક.
શબ્દમાળાઓ તેમના અભિવ્યક્તિઓ તેમજ પૂર્ણાંકો વગેરેમાં રૂપાંતરિત થાય છે.
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. કમ્પ્યુટર બીજગણિત સિસ્ટમ્સ
અન્ય કોમ્પ્યુટર બીજગણિત સિસ્ટમોથી વિપરીત, તમારે સિમ્બોલ() ફંક્શનનો ઉપયોગ કરીને તેમાં સાંકેતિક ચલોને મેન્યુઅલી જાહેર કરવા પડશે.
3. કેલ્ક્યુલસ
પ્રતીકાત્મક ગણતરી સિસ્ટમની તમામ પ્રકારની ગણતરીઓ પ્રતીકાત્મક રીતે કરવાની ક્ષમતા તેની મુખ્ય તાકાત છે.
તે નિવેદનોને સરળ બનાવી શકે છે, સાંકેતિક રીતે, ડેરિવેટિવ્ઝ, ઇન્ટિગ્રલ્સ અને લિમિટ્સની ગણતરી કરી શકે છે, સમીકરણો ઉકેલી શકે છે, મેટ્રિસિસ સાથે ક્રિયાપ્રતિક્રિયા કરી શકે છે અને ઘણું બધું કરી શકે છે.
તમારી ભૂખને શાંત કરવા માટે, અહીં સાંકેતિક શક્તિનો સ્વાદ છે.
તમે SymPy સાથે બીજું શું કરી શકો?
વધારાના મુદ્દાઓ વિશે ઊંડાણપૂર્વક ચર્ચા કરવાને બદલે, હું તમને તમારી કુશળતા વધારવામાં મદદ કરવા માટે સંસાધનોની સૂચિ પ્રદાન કરું છું:
- મેટ્રિસિસ અને રેખીય બીજગણિત: તે મેટ્રિસિસ સાથે કામ કરી શકે છે અને મૂળભૂત રેખીય બીજગણિત કામગીરી કરી શકે છે. ભાષા NumPy ના સિન્ટેક્સ જેવી જ છે. જો કે, ત્યાં નોંધપાત્ર તફાવતો છે. શરૂ કરવા માટે, તપાસ કરો મેટ્રિસીસ પુસ્તકાલયમાં.
- અભિવ્યક્તિ: તે અભિવ્યક્તિનો ટ્રૅક રાખવા માટે એક અભિવ્યક્તિ વૃક્ષનો લાભ લે છે, જે વૃક્ષ-આધારિત માળખું છે. જોવા અભિવ્યક્તિ વૃક્ષો જો તમે તેમના આંતરિક કાર્યો વિશે વધુ જાણવા માંગતા હો.
- ડેરિવેટિવ્સ અને ઇન્ટિગ્રલ્સ: પ્રારંભિક કેલ્ક્યુલસ વર્ગ (વિચારને બાદ કરતા) માં તમે જે શીખો છો તેમાંથી મોટા ભાગનું તે પરિપૂર્ણ કરી શકે છે. તમે અમારા કાર્યને જોઈને પ્રારંભ કરી શકો છો ભિન્નતા SymPy માં.
- NumPy સાથે સંબંધ: NumPy અને SymPy બંને ગણિત-સંબંધિત પુસ્તકાલયો છે. તેઓ, તેમ છતાં, આવશ્યકપણે અલગ છે! NumPy સંખ્યાઓ સાથે કામ કરે છે, જ્યારે તે સાંકેતિક અભિવ્યક્તિઓ સાથે કામ કરે છે.
- સરળીકરણો: તે આપમેળે અભિવ્યક્તિઓને સરળ બનાવવા માટે પૂરતી બુદ્ધિશાળી છે. જો કે, જો તમારે આના પર વધુ ઝીણવટભર્યું નિયંત્રણ જોઈતું હોય, તો તેને જુઓ સરળીકરણ.
ઉપસંહાર
SymPy એ સાંકેતિક ગણિત માટે એક શક્તિશાળી પુસ્તકાલય છે.
તમે તેનો ઉપયોગ ચલ અને કાર્યો બનાવવા માટે કરી શકો છો, તેમજ ગાણિતિક વિધાનોને સાંકેતિક રીતે વિસ્તારવા અને સરળ બનાવવા અને સમીકરણો, અસમાનતાઓ અને સમીકરણો/અસમાનતાઓની પ્રણાલીઓને ઉકેલવા માટે પણ તેનો ઉપયોગ કરી શકો છો.
તમે સ્ક્રિપ્ટના ટેક્સ્ટમાં અને સીધા ટર્મિનલમાં ફંક્શન લખી શકો છો (અથવા જ્યુપીટર નોટબુક્સ) ઝડપી મૂલ્યાંકન અને કરવામાં આવેલ ગણતરીઓનું વધુ સારું ગ્રાફિકલ નિરૂપણ મેળવવા માટે.
શું તમે SymPy નું વધુ અન્વેષણ કરવા માટે તૈયાર છો? અમને ટિપ્પણીઓમાં જણાવો.
એક જવાબ છોડો