Տարբերությունը Numpy Arrays-ի և Matrices-ի միջև


Երբևէ օգտագործե՞լ եք Python-ը գիտական հաշվարկների ոլորտը ուսումնասիրելու համար: Եթե այո, ապա դուք հավանաբար հանդիպել եք NumPy-ի՝ թվային հաշվողական հզոր փաթեթի, որը լայն տարածում է գտել արդյունաբերության մեջ: Այնուամենայնիվ, NumPy զանգվածների և մատրիցների միջև հակադրությունը երբեմն կարող է շփոթեցնել նույնիսկ փորձառու մասնագետներին: Նրանց ակնհայտ նմանությունը առաջացնում է շփոթություն, որը առաջացնում է հարցումներ, թե երբ օգտագործել յուրաքանչյուր տվյալների ձևաչափը: Նկարագրելով NumPy զանգվածների և մատրիցների միջև կարևոր տարբերությունները՝ մենք ցանկանում ենք մաքրել այս բլոգի հոդվածում առկա սխալ պատկերացումները: Եզրափակելով, դուք կունենաք մանրակրկիտ իմացություն դրանց տարբերակիչ որակների մասին և պատրաստ կլինեք վստահորեն օգտագործել այդ կառույցները ձեր գիտական հաշվողական ջանքերում:

Թմրած զանգվածներ

Գրադարանի հիմքը NumPy զանգվածներն են, որոնք առաջարկում են տվյալների արդյունավետ համասեռ պահեստավորում և մանիպուլյացիա: Զանգվածը դիտարկեք որպես աղյուսակ, որի տարրերը տողերում և սյունակներում են, որոնք նույն տվյալների տիպի են: Այս զանգվածները կարող են ունենալ ցանկացած քանակի չափեր՝ սկսած մեկից (վեկտորներից) մինչև երկու (մատրիցա), և նույնիսկ ավելին՝ բարդ կիրառությունների համար: NumPy զանգվածների հարմարվողականությունը նրա հիմնական առավելությունն է։ Դրանցում կարելի է պահել թվային տեղեկատվության բազմաթիվ տեսակներ, այդ թվում՝ բարդ թվեր, ամբողջ թվեր և լողացող կետային թվեր։

Բացի այդ, զանգվածներն ապահովում են ուժեղ գործողություններ արդյունավետ մանիպուլյացիայի և հաշվարկների համար: NumPy զանգվածները կարող են օգտագործվել մի շարք առաջադրանքների համար, ներառյալ թվաբանական գործողություններ, տարրերի իմաստով հաշվարկներ և մաթեմատիկական ֆունկցիաներ կիրառելու համար: Զանգվածներն օգտակար են տվյալների մեծ հավաքածուներ կառավարելու համար, քանի որ դրանք հիշողության արդյունավետ են: Օգտագործելով նրանց հարմար ինտերֆեյսը կտրելու և ինդեքսավորելու համար, դուք կարող եք պարզապես հանել տվյալների որոշակի ենթաբազմություններ: Ավելին, NumPy-ն առաջարկում է զանգվածների չափափոխման, փոխադրման և համադրման տեխնիկայի լայն շրջանակ՝ պարզեցնելով դժվարին տվյալների մանիպուլյացիաները:

Python-ում Numpy զանգվածի ներդրում

import numpy as np

# Creating a NumPy array
my_array = np.array([1, 2, 3, 4, 5])
print("Array:", my_array)

# Accessing elements of the array
print("First element:", my_array[0])
print("Last element:", my_array[-1])

# Performing arithmetic operations on the array
squared_array = my_array ** 2
print("Squared array:", squared_array)

# Applying a mathematical function to the array
sqrt_array = np.sqrt(my_array)
print("Square root array:", sqrt_array)

# Reshaping the array
reshaped_array = my_array.reshape(5, 1)
print("Reshaped array:\n", reshaped_array)

# Combining two arrays
new_array = np.array([6, 7, 8, 9, 10])
combined_array = np.concatenate((my_array, new_array))
print("Combined array:", combined_array)

Արդյունք

Array: [1 2 3 4 5]
First element: 1
Last element: 5
Squared array: [ 1  4  9 16 25]
Square root array: [1.         1.41421356 1.73205081 2.         2.23606798]
Reshaped array:
 [[1]
 [2]
 [3]
 [4]
 [5]]
Combined array: [ 1  2  3  4  5  6  7  8  9 10]

Մատրիցներ

Չնայած NumPy զանգվածի որոշակի տեսակ լինելուն, մատրիցներն ունեն մի քանի առանձնահատկություններ, որոնք դրանք դարձնում են եզակի: Տողերն ու սյունակները կազմում են մատրիցների միակ երկչափ տարրերը, որոնք խիստ ասած։ Գծային հանրահաշիվում գործողությունների և կիրառությունների համար մատրիցները շատ օգտակար են այս տարբերության պատճառով: Գծային փոխակերպումների մատրիցային ներկայացումը, ներառյալ պտույտը, մասշտաբը և կտրումը, մատրիցների հիմնական հատկությունն է: Բազմաթիվ հաշվարկներ մաթեմատիկայի և բնագիտության մեջ կախված են այս հատկանիշից՝ որպես հիմնական մաս: Դուք կարող եք արագ և հեշտությամբ լուծել գծային հավասարումների համակարգեր՝ օգտագործելով մատրիցներ՝ մատրիցների բազմապատկման և մատրիցային ինվերսիայի գործողություններ կատարելու համար:

Մատրիցների հետ գործածելիս օպերատորների վարքագիծը ևս մեկ տարբերակ է: * օպերատորը NumPy-ում նշանակում է մատրիցային բազմապատկում մատրիցների համար, բայց ներկայացնում է զանգվածների համար տարրի իմաստով բազմապատկում: Սրա նման, ** օպերատորը բազմապատկում է զանգվածները տարր առ տարր, բայց միավորում է մատրիցները: Հասանելի են նաև գծային հանրահաշվական գործողություններ կատարելու մատրիցային մեթոդներ, ինչպիսիք են որոշիչները, սեփական արժեքների և սեփական վեկտորների հաշվարկը և եզակի արժեքների տարրալուծումը: Այս մատրիցներին հատուկ գործառույթները հեշտացնում են դժվար գծային հանրահաշվի հաշվարկները և բարելավում են ընթեռնելիությունը մաթեմատիկական համատեքստերում:

Մատրիցների իրականացում Python-ում

Օրինակ

import numpy as np

# Creating a matrix
my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Matrix:\n", my_matrix)

# Accessing elements of the matrix
print("Element at row 1, column 2:", my_matrix[1, 2])

# Performing matrix multiplication
matrix_2 = np.array([[2, 4, 6], [1, 3, 5], [7, 8, 9]])
result_matrix = np.matmul(my_matrix, matrix_2)
print("Result of matrix multiplication:\n", result_matrix)

# Finding the determinant of the matrix
determinant = np.linalg.det(my_matrix)
print("Determinant of the matrix:", determinant)

Արդյունք

Matrix:
 [[1 2 3]
 [4 5 6]
 [7 8 9]]
Element at row 1, column 2: 6
Result of matrix multiplication:
 [[ 25  34  43]
 [ 55  79 103]
 [ 85 124 163]]
Determinant of the matrix: 0.0

Numpy Array vs Matrices

Any number of dimensions are possible for NumPy arrays.

Տողեր և սյունակներ ունեցող կառույցները կոչվում են մատրիցաներ և դրանք բացառապես երկչափ են:</p>

They are adaptable and capable of storing a variety of numerical data.

Այն կենտրոնացած է գծային հանրահաշիվով կատարման և հաշվարկման վրա:</p>

For effective calculation, arrays provide strong operations.

Գծային հանրահաշիվով հաշվարկների համար այն առաջարկում է մասնագիտացված տեխնիկա</p>

They are efficient with memory, especially for big datasets.

Այն հեշտացնում է տվյալների փոխակերպումը և հակիրճ ներկայացումը:</p>

Arrays stand out for their utility and versatility.

Այն դարձնում է թվաբանական գործողությունները ավելի հեշտ հասկանալի և արդյունավետ:</p>

With arrays, slicing and indexing are convenient

Գծային փոխակերպման և հավասարումների լուծման գործընթացները շահում են մատրիցների օգտագործումից</p>

For the analysis of multidimensional data, arrays are appropriate.

Գծային հանրահաշիվում մոդելների և հաշվարկների լավագույն ձևաչափը մատրիցն է</p>

Applications of scientific computing frequently employ arrays.

Ռոբոտաշինությունը, ճարտարագիտությունը և ֆիզիկան մի քանի տիրույթներ են, որտեղ օգտագործվում են մատրիցներ</p>

Եզրակացություն

Եզրափակելով, թվային տվյալների պահպանման և աշխատելու կարողությունը համարժեք է մատրիցների և NumPy զանգվածների միջև: Բայց նրանց նպատակներն ու գործողություններն են նրանց առանձնացնում: Հարմարվողականությունը, հիշողության արդյունավետությունը և զանգվածների հսկայական ֆունկցիոնալությունը դրանք դարձնում են իդեալական տարբեր գիտական հաշվողական առաջադրանքների համար: Մյուս կողմից, մատրիցները նախագծված են ուղղակիորեն գծային հանրահաշվական գործողությունների համար՝ ապահովելով լակոնիկ ներկայացումներ և մասնագիտացված ֆունկցիոնալություն: