ડેટા સાયન્સ, મશીન લર્નિંગ અને ગ્રાફિક્સ સહિત વિવિધ ક્ષેત્રોમાં મેટ્રિસીસ એ ઘણા કોમ્પ્યુટેશનલ કાર્યોનો મૂળભૂત ભાગ છે. પાયથોનમાં, લોકપ્રિય સંખ્યાત્મક લાઇબ્રેરી NumPy matmul ફંક્શનનો ઉપયોગ કરીને મેટ્રિક્સ ગુણાકાર કરવા માટે એક અનુકૂળ રીત પ્રદાન કરે છે. આ લેખમાં, અમે NumPy માં matmul શોર્ટહેન્ડ, તેની કાર્યક્ષમતા અને તમારા Python કોડમાં તેના અમલીકરણ વિશે ચર્ચા કરીશું.
મેટ્રિસિસ અને NumPy નો પરિચય
મેટ્રિક્સ એ પંક્તિઓ અને સ્તંભોમાં ગોઠવાયેલી સંખ્યાઓની દ્વિ-પરિમાણીય શ્રેણી છે, જેનો ઉપયોગ રેખીય પરિવર્તનની વિશાળ શ્રેણી, રેખીય સમીકરણોની સિસ્ટમો અને ભૌમિતિક પરિવર્તનને રજૂ કરવા માટે થઈ શકે છે. પાયથોનમાં, NumPy લાઇબ્રેરી કાર્યક્ષમ રીતે મેટ્રિસિસ બનાવવા અને તેના પર કાર્ય કરવા માટે કાર્યોનો સમૃદ્ધ સમૂહ પ્રદાન કરે છે.
નમી એક શક્તિશાળી, ઓપન-સોર્સ પાયથોન લાઇબ્રેરી છે જે મોટા, બહુ-પરિમાણીય એરે અને મેટ્રિસિસ સાથે કામ કરવા માટે સમર્થન પૂરું પાડે છે. તે આ એરે પર કામગીરી કરવા માટે ગાણિતિક કાર્યોનો સંગ્રહ પણ પ્રદાન કરે છે, જેમ કે મેટ્રિક્સ ગુણાકાર, જે ઘણી એપ્લિકેશનોમાં મુખ્ય કામગીરી છે.
મેટ્રિક્સ ગુણાકાર અને matmul
મેટ્રિક્સ ગુણાકાર એ દ્વિસંગી ક્રિયા છે જે મેટ્રિસિસની જોડી લે છે અને તેના પરિણામ તરીકે અન્ય મેટ્રિક્સ ઉત્પન્ન કરે છે. તે પ્રથમ મેટ્રિક્સમાંથી પંક્તિઓના અનુરૂપ ઘટકોના ઉત્પાદનના સરવાળા તરીકે અને બીજા મેટ્રિક્સમાંથી કૉલમ તરીકે વ્યાખ્યાયિત કરવામાં આવે છે.
આ matmul NumPy માં ફંક્શનનો ઉપયોગ મેટ્રિક્સ ગુણાકાર માટે થાય છે. તે બે ઇનપુટ એરે લે છે અને તેમનું મેટ્રિક્સ ઉત્પાદન પરત કરે છે. જો ઇનપુટ એરે મેટ્રિસીસ ન હોય, તો તેઓને મેટ્રિસીસ તરીકે ગણવામાં આવે છે જેમાં તેમના છેલ્લા બે પરિમાણો પંક્તિઓ અને કૉલમનું પ્રતિનિધિત્વ કરે છે.
import numpy as np matrix1 = np.array([[1, 2], [3, 4]]) matrix2 = np.array([[5, 6], [7, 8]]) result = np.matmul(matrix1, matrix2) print(result)
આ ઉદાહરણમાં, ફંક્શન ઇનપુટ તરીકે બે 2×2 મેટ્રિસેસ લે છે અને તેમનું ઉત્પાદન પરત કરે છે. પ્રાપ્ત પરિણામ સમાન પરિમાણોનું મેટ્રિક્સ હશે.
પગલું દ્વારા પગલું સમજૂતી
અહીં ઉપર આપેલા મેટ્રિક્સ ગુણાકાર કોડ ઉદાહરણનું પગલું-દર-પગલાં સમજૂતી છે:
1. સંક્ષેપ "np" નો ઉપયોગ કરીને નમ્પી લાઇબ્રેરીને આયાત કરો.
2. નમ્પીના એરે ફંક્શનનો ઉપયોગ કરીને બે મેટ્રિસીસ (આ કિસ્સામાં 2×2) વ્યાખ્યાયિત કરો.
3. નમ્પી ફંક્શન matmul નો ઉપયોગ કરીને મેટ્રિક્સ ગુણાકાર કરો, મેટ્રિક્સ1 અને મેટ્રિક્સ2 દલીલો તરીકે પ્રદાન કરો.
4. પરિણામી મેટ્રિક્સ છાપો.
આ ઉદાહરણ માટે આઉટપુટ હશે:
[[19 22] [43 50]]
Matmul ગુણધર્મો અને મર્યાદાઓ
સામાન્ય રીતે, મેટ્રિક્સ ગુણાકાર અમુક ગાણિતિક ગુણધર્મો જેમ કે કોમ્યુટેટીવીટીને સંતોષતું નથી, પરંતુ તે સહયોગીતા અને વિતરણતા જેવા ગુણધર્મોને પૂર્ણ કરે છે. ઇનપુટ મેટ્રિક્સના પરિમાણો મેટ્રિક્સ ગુણાકારમાં નિર્ણાયક ભૂમિકા ભજવે છે - પ્રથમ મેટ્રિક્સમાં કૉલમની સંખ્યા બીજા મેટ્રિક્સની પંક્તિઓની સંખ્યા જેટલી હોવી જોઈએ.
જો ઇનપુટ મેટ્રિસિસ આ પરિમાણીય જરૂરિયાતોને પૂર્ણ કરતા નથી, તો a મૂલ્ય ભૂલ ઉછેરવામાં આવશે. એ નોંધવું પણ યોગ્ય છે કે, જો કે matmul ફંક્શન બહુ-પરિમાણીય એરેને હેન્ડલ કરી શકે છે, મેટ્રિક્સ ઉત્પાદન માત્ર દ્વિ-પરિમાણીય મેટ્રિસિસ માટે વ્યાખ્યાયિત કરવામાં આવે છે.
મેટ્રિક્સ ગુણાકાર માટે વૈકલ્પિક કાર્યો
matmul ફંક્શન ઉપરાંત, NumPy મેટ્રિક્સ ગુણાકાર માટે અન્ય શોર્ટહેન્ડ પદ્ધતિઓ પ્રદાન કરે છે:
1. np.dot: આ કાર્ય મેટ્રિક્સ ગુણાકાર પણ કરી શકે છે પરંતુ તે વધુ સામાન્ય છે, કારણ કે તે આંતરિક ઉત્પાદનો, બાહ્ય ઉત્પાદનો અને ટેન્સર ઉત્પાદનોને પણ સંભાળી શકે છે.
2. @ ઓપરેટર: Python 3.5 અને પછીનામાં, @ ચિહ્નનો ઉપયોગ મેટ્રિક્સ ગુણાકાર માટે ઇન્ફિક્સ ઓપરેટર તરીકે કરી શકાય છે.
result_alternative1 = np.dot(matrix1, matrix2) result_alternative2 = matrix1 @ matrix2
આ વૈકલ્પિક પદ્ધતિઓ matmul કાર્ય જેવું જ પરિણામ આપશે.
નિષ્કર્ષમાં, NumPy માં matmul શોર્ટહેન્ડ Python માં મેટ્રિક્સ ગુણાકાર કરવા માટે એક કાર્યક્ષમ અને બહુમુખી રીત પ્રદાન કરે છે. આ શક્તિશાળી કાર્ય અને તેના ઉપયોગને સમજવાથી વિવિધ એપ્લિકેશન્સમાં તમારા કોડના પ્રદર્શનમાં નોંધપાત્ર સુધારો થઈ શકે છે.