Տարբերությունը 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 զանգվածների միջև: Բայց նրանց նպատակներն ու գործողություններն են նրանց առանձնացնում: Հարմարվողականությունը, հիշողության արդյունավետությունը և զանգվածների հսկայական ֆունկցիոնալությունը դրանք դարձնում են իդեալական տարբեր գիտական հաշվողական առաջադրանքների համար: Մյուս կողմից, մատրիցները նախագծված են ուղղակիորեն գծային հանրահաշվական գործողությունների համար՝ ապահովելով լակոնիկ ներկայացումներ և մասնագիտացված ֆունկցիոնալություն: