आइंस्टीन के सारांश सम्मेलन के साथ टेंसर संकुचन के लिए, पायथन में numpy.einsum () विधि का उपयोग करें। पहला पैरामीटर सबस्क्रिप्ट है। यह सारांश के लिए सबस्क्रिप्ट को सबस्क्रिप्ट लेबलों की अल्पविराम सूची के रूप में निर्दिष्ट करता है। दूसरा पैरामीटर ऑपरेंड है। ये ऑपरेशन के लिए सरणियाँ हैं।
आइंसम () विधि ऑपरेंड पर आइंस्टीन के योग सम्मेलन का मूल्यांकन करती है। आइंस्टीन के योग सम्मेलन का उपयोग करते हुए, कई सामान्य बहु-आयामी, रैखिक बीजगणितीय सरणी संचालन को एक साधारण फैशन में दर्शाया जा सकता है। निहित मोड में einsum इन मानों की गणना करता है।
स्पष्ट मोड में, einsum अन्य सरणी संचालनों की गणना करने के लिए और अधिक लचीलापन प्रदान करता है जिन्हें शास्त्रीय आइंस्टीन योग संचालन नहीं माना जा सकता है, अक्षम करके, या संक्षेप में निर्दिष्ट सबस्क्रिप्ट लेबल को मजबूर करके।
कदम
सबसे पहले, आवश्यक पुस्तकालयों को आयात करें -
import numpy as np
सरणी () विधि का उपयोग करके दो सुस्पष्ट एक-आयामी सरणी बनाना -
arr1 = np.arange(60.).reshape(3,4,5) arr2 = np.arange(24.).reshape(4,3,2)
सरणियों को प्रदर्शित करें -
print("Array1...\n",arr1) print("\nArray2...\n",arr2)
दोनों सरणियों के आयामों की जाँच करें -
print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim)
दोनों सरणियों के आकार की जाँच करें -
print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape)
आइंस्टीन के सारांश सम्मेलन के साथ टेंसर संकुचन के लिए, पायथन में numpy.einsum() विधि का उपयोग करें -
print("\nResult (Tensor contraction)...\n",np.einsum('ijk,jil->kl', arr1, arr2))
उदाहरण
import numpy as np # Creating two numpy One-Dimensional array using the array() method arr1 = np.arange(60.).reshape(3,4,5) arr2 = np.arange(24.).reshape(4,3,2) # Display the arrays print("Array1...\n",arr1) print("\nArray2...\n",arr2) # Check the Dimensions of both the arrays print("\nDimensions of Array1...\n",arr1.ndim) print("\nDimensions of Array2...\n",arr2.ndim) # Check the Shape of both the arrays print("\nShape of Array1...\n",arr1.shape) print("\nShape of Array2...\n",arr2.shape) # For Tensor contraction with Einstein summation convention, use the numpy.einsum() method in Python. print("\nResult (Tensor contraction)...\n",np.einsum('ijk,jil->kl', arr1, arr2))
आउटपुट
Array1... [[[ 0. 1. 2. 3. 4.] [ 5. 6. 7. 8. 9.] [10. 11. 12. 13. 14.] [15. 16. 17. 18. 19.]] [[20. 21. 22. 23. 24.] [25. 26. 27. 28. 29.] [30. 31. 32. 33. 34.] [35. 36. 37. 38. 39.]] [[40. 41. 42. 43. 44.] [45. 46. 47. 48. 49.] [50. 51. 52. 53. 54.] [55. 56. 57. 58. 59.]]] Array2... [[[ 0. 1.] [ 2. 3.] [ 4. 5.]] [[ 6. 7.] [ 8. 9.] [10. 11.]] [[12. 13.] [14. 15.] [16. 17.]] [[18. 19.] [20. 21.] [22. 23.]]] Dimensions of Array1... 3 Dimensions of Array2... 3 Shape of Array1... (3, 4, 5) Shape of Array2... (4, 3, 2) Result (Tensor contraction)... [[4400. 4730.] [4532. 4874.] [4664. 5018.] [4796. 5162.] [4928. 5306.]]