Ինչպե՞ս հաշվարկել մատրիցայի հետքը՝ օգտագործելով 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-ն ունի այն գործիքները, որոնք անհրաժեշտ են գործն ավարտելու համար: