Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में टेंसर समीकरण हल करें

NumPy का numpy.linalg.tensorsolve() फंक्शन टेंसर समीकरण A x = b को x के लिए हल करता है, जहां A एक गुणांक टेंसर है और b दायां-पक्ष टेंसर है।

सिंटैक्स और पैरामीटर्स

numpy.linalg.tensorsolve(a, b, axes=None)
  • a: गुणांक टेंसर, आकार b.shape + Q। Q टपल है जो a के दायें-मोस्ट इंडेक्स के सब-टेंसर का आकार है। शर्त: prod(Q) == prod(b.shape)।
  • b: दायां-पक्ष टेंसर, कोई भी आकार।
  • axes: a में वे अक्ष जिन्हें दायें ले जाकर इनवर्ट किया जाता है। डिफ़ॉल्ट None (कोई रीऑर्डरिंग नहीं)।
  • वापसी: समाधान टेंसर x।

कॉन्सेप्ट

समीकरण: tensordot(a, x, axes=b.ndim) = b
यह मानता है कि x के सभी इंडेक्स गुणनफल में समाहित हैं, a के दायें-मोस्ट इंडेक्स के साथ।

उदाहरण

import numpy as np

# गुणांक टेंसर: 24x24 आइडेंटिटी को (6, 4, 2, 3, 4) आकार दें
arr1 = np.eye(2*3*4)  # 24x24
arr1.shape = (2*3, 4, 2, 3, 4)  # (6, 4, 2, 3, 4)

# दायां-पक्ष टेंसर: रैंडम (6, 4)
arr2 = np.random.randn(2*3, 4)

print("गुणांक टेंसर आकार:", arr1.shape)  # (6, 4, 2, 3, 4)
print("RHS टेंसर आकार:", arr2.shape)    # (6, 4)
print("गुणांक टेंसर डायमेंशन्स:", arr1.ndim)
print("RHS डायमेंशन्स:", arr2.ndim)

# टेंसर समीकरण हल करें
# b.shape = (6, 4)
# a के अंतिम आयाम: (2, 3, 4) → prod = 24
# b.shape का उत्पाद: 6*4 = 24 ✓
solution = np.linalg.tensorsolve(arr1, arr2)

print("\nसमाधान आकार:", solution.shape)  # (2, 3, 4)
print("समाधान:\n", solution)

आउटपुट (नमूना)

गुणांक टेंसर आकार: (6, 4, 2, 3, 4)
RHS टेंसर आकार: (6, 4)
गुणांक टेंसर डायमेंशन्स: 5
RHS डायमेंशन्स: 2
समाधान आकार: (2, 3, 4)
समाधान:
 [[[ 0.31376716  0.63443741  0.58628101  0.62313096]
   [ 1.12528958 -1.18403238 -0.64663325 -0.24241201]
   [ 0.55598965 -2.00059925 -1.97946414 -1.72478953]]

  [[ 0.18976226  0.60572953  1.50157692 -2.4491463 ]
   [ 0.42461806 -2.17872016  0.49677904 -1.11634625]
   [-1.09074462  0.35475618  0.42474987 -1.34391368]]]

आकार विश्लेषण

सत्यापन


# tensordot से सत्यापित: tensordot(a, x, axes=b.ndim) ≈ b
reconstructed = np.tensordot(arr1, solution, axes=arr2.ndim)
print("पुनर्निर्मित b आकार:", reconstructed.shape)
print("मूल b के करीब:", np.allclose(reconstructed, arr2))

axes पैरामीटर


# यदि a के अक्ष अलग क्रम में हैं, तो axes उपयोग करें
# axes=tuple: a के वे अक्ष जो b के अनुरूप हैं
# उदाहरण: a.shape = (2, 3, 4, 6, 4), b.shape = (6, 4)
# axes=(0, 1) का अर्थ: a के अक्ष 0,1 को दायें ले जाएं

उपयोग के मामले

  • मल्टी-डायमेंशनल रैखिक सिस्टम्स।
  • टेंसर डीकंपोजिशन एल्गोरिदम्स।
  • क्वांटम मैकेनिक्स में ऑपरेटर समीकरण।
  • मल्टीवेरिएट टाइम सीरीज विश्लेषण।

नोट

tensorsolve आंतरिक रूप से tensorinv का उपयोग करता है। यह tensordot के सापेक्ष इनवर्स ऑपरेशन है।

  1. पायथन डिबगर (pdb मॉड्यूल) पायथन डिबगर (pdb मॉड्यूल)

    सॉफ़्टवेयर डेवलपमेंट की शब्दावली में, डिबगिंग शब्द का उपयोग प्रोग्राम में त्रुटियों का पता लगाने और सुधारने की प्रक्रिया के लिए किया जाता है। पायथन की स्टैंडर्ड लाइब्रेरी में pdb मॉड्यूल होता है जो पायथन प्रोग्राम्स की डिबगिंग के लिए यूटिलिटीज़ का एक सेट है। डिबगिंग कार्यक्षमता Pdb क्लास में परिभाष

  1. - पायथन का उपयोग करके द्विघात समीकरण कैसे हल करें

    समस्या विवरण द्विघात समीकरण को पायथन का उपयोग करके हल करने के लिए आप cmath मॉड्यूल का उपयोग कर सकते हैं। ऐसा इसलिए है क्योंकि द्विघात समीकरण के मूल प्रकृति में जटिल हो सकते हैं। यदि आपके पास ax^2 + bx + c = 0 रूप का द्विघात समीकरण है, तो: उदाहरण import cmath a = 12 b = 8 c = 1 # विविक्तकर d = (b**2

  1. - पायथन में =+ और += क्या करते हैं?

    += ऑपरेटर object.__iadd__() फ़ंक्शन के लिए सिंटैक्टिक शुगर है। पायथन डॉक्स से: ये मेथड ऑगमेंटेड अंकगणितीय असाइनमेंट (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) को इम्प्लीमेंट करने के लिए कॉल किए जाते हैं। ये मेथड इन-प्लेस ऑपरेशन (self को मॉडिफाई करना) करने का प्रयास करना चा

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
घटकआकारव्याख्या
b (RHS)(6, 4)दायां-पक्ष
a के अंतिम आयाम (Q)(2, 3, 4)prod = 24
a का पूर्ण आकार(6, 4, 2, 3, 4)b.shape + Q
समाधान x(2, 3, 4)Q के समान