Ինչպե՞ս հաշվարկել մատրիցայի հետքը՝ օգտագործելով Numpy Python-ում:
Մատրիցայի հետքի հաշվարկը Numpy-ի միջոցով սովորական գործողություն է գծային հանրահաշվում, որը կարող է օգտագործվել մատրիցի մասին կարևոր տեղեկություններ հանելու համար: Մատրիցայի հետքը սահմանվում է որպես մատրիցայի հիմնական անկյունագծի տարրերի գումարը, որն անցնում է վերևի ձախից մինչև ներքևի աջ անկյուն: Այս հոդվածում մենք կսովորենք մատրիցի հետքը հաշվարկելու տարբեր մեթոդներ՝ օգտագործելով Python-ի NumPy գրադարանը:
Նախքան սկսելը, եկեք նախ ներմուծենք NumPy գրադարանը −
import numpy as np
Հաջորդը, եկեք սահմանենք մատրիցա՝ օգտագործելով np.array ֆունկցիան −
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
Օրինակ 1
Այս մատրիցայի հետքը հաշվարկելու համար մենք կարող ենք օգտագործել np.trace ֆունկցիան NumPy-ից
import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = np.trace(A)
print(trace)
Արդյունք
15
np.trace ֆունկցիան վերցնում է մեկ արգումենտ, որն այն մատրիցն է, որի հետքը մենք ցանկանում ենք հաշվարկել: Այն վերադարձնում է մատրիցայի հետքը որպես սկալյար արժեք:
Օրինակ 2
Որպես այլընտրանք, մենք կարող ենք նաև հաշվարկել մատրիցայի հետքը՝ օգտագործելով գումարի ֆունկցիան և ինդեքսավորելով տարրերը հիմնական անկյունագծով −
import numpy as np
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
trace = sum(A[i][i] for i in range(A.shape[0]))
print(trace)
Արդյունք
15
Այստեղ մենք օգտագործում ենք մատրիցայի ձևի հատկանիշը՝ դրա չափերը որոշելու համար, և օգտագործում ենք for հանգույց՝ հիմնական անկյունագծով տարրերի վրա կրկնելու համար:
Կարևոր է նշել, որ մատրիցայի հետքը սահմանվում է միայն քառակուսի մատրիցների համար, այսինքն՝ նույն թվով տողերով և սյունակներով մատրիցներ: Եթե փորձեք հաշվարկել ոչ քառակուսի մատրիցայի հետքը, սխալ կստանաք։
Օրինակ 3
Բացի մատրիցի հետքը հաշվարկելուց, NumPy-ը տրամադրում է նաև մի քանի այլ գործառույթներ և մեթոդներ տարբեր գծային հանրահաշվի գործողություններ կատարելու համար, ինչպիսիք են որոշիչի, հակադարձի և մատրիցի սեփական արժեքների և սեփական վեկտորների հաշվարկը: Ահա NumPy-ի կողմից տրամադրված ամենաօգտակար գծային հանրահաշիվ ֆունկցիաների ցանկը
np.linalg.det - Հաշվում է մատրիցի որոշիչը
np.linalg.inv - Հաշվում է մատրիցի հակադարձությունը:
np.linalg.eig - Հաշվում է մատրիցայի սեփական արժեքները և սեփական վեկտորները:
np.linalg.solve - Լուծում է գծային հավասարումների համակարգ, որը ներկայացված է մատրիցով
np.linalg.lstsq − Լուծում է նվազագույն քառակուսիների գծային խնդիրը:
np.linalg.cholesky - Հաշվում է մատրիցայի Չոլեսկու տարրալուծումը:
Այս գործառույթներն օգտագործելու համար ձեզ հարկավոր է ներմուծել NumPy−-ի linalg ենթամոդուլը
import numpy.linalg as LA
Օրինակ 3
Օրինակ, NumPy-ի միջոցով մատրիցայի որոշիչը հաշվարկելու համար կարող եք օգտագործել հետևյալ կոդը.
import numpy as np
import numpy.linalg as LA
A = np.array([[1,2,3], [4,5,6], [7,8,9]])
det = LA.det(A)
print(det)
Արդյունք
0.0
NumPy-ի գծային հանրահաշվի ֆունկցիաները օպտիմիզացված են կատարման համար՝ դրանք դարձնելով ui-աղյուսակ մեծածավալ գիտական և մաթեմատիկական հաշվողական ծրագրերի համար: Գծային հանրահաշիվների լայն շրջանակ տրամադրելուց բացի, NumPy-ը տրամադրում է նաև մի քանի հարմար գործառույթներ մատրիցների և n-զանգվածների ստեղծման և մանիպուլյացիայի համար, ինչպիսիք են np.zeros, np.ones, np.eye և np.diag:
Օրինակ 4
Ահա մի օրինակ, թե ինչպես ստեղծել զրոների մատրիցա՝ օգտագործելով np.zeros ֆունկցիան −
import numpy as np
A = np.zeros((3,3)) # Creates a 3x3 matrix of zeros
print(A)
Արդյունք
Սա կարտադրի հետևյալ մատրիցը
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
Օրինակ 5
Նմանապես, np.ones ֆունկցիան կարող է ստեղծել մեկերի մատրիցա, իսկ np.eye ֆունկցիան կարող է ստեղծել նույնական մատրիցա։ Օրինակ −
import numpy as np
A = np.ones((3,3)) # Creates a 3x3 matrix of ones
B = np.eye(3) # Creates a 3x3 identity matrix
print(A)
print(B)
Արդյունք
Սա կարտադրի հետևյալ մատրիցը.
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
Օրինակ 6
Վերջապես, np.diag ֆունկցիան կարող է ստեղծել անկյունագծային մատրիցա տվյալ ցուցակից կամ զանգվածից։ Օրինակ −
import numpy as np
A = np.diag([1,2,3]) # Creates a diagonal matrix from the given list
print(A)
Արդյունք
Սա կարտադրի հետևյալ մատրիցը.
[[1 0 0]
[0 2 0]
[0 0 3]]
Եզրակացություն
Եզրափակելով, NumPy-ը հզոր Python գրադարան է գծային հանրահաշվի գործողություններ կատարելու համար: Գործառույթների և մեթոդների լայն շրջանակը այն դարձնում է գիտական և մաթեմատիկական հաշվարկների կարևոր գործիք, իսկ օպտիմիզացված կատարումը այն դարձնում է լայնածավալ ծրագրերի համար: Անկախ նրանից, թե դուք պետք է հաշվարկեք մատրիցայի հետքը, գտնեք մատրիցի հակադարձ կողմը կամ լուծեք գծային հավասարումների համակարգ, NumPy-ն ունի այն գործիքները, որոնք անհրաժեշտ են գործն ավարտելու համար: