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]]]
आकार विश्लेषण
| घटक | आकार | व्याख्या |
|---|---|---|
| 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 के समान |