NumPy का numpy.linalg.tensorinv() फंक्शन 4-डायमेंशनल (या उच्च-आयामी) ऐरे का टेंसर इनवर्स निकालता है। यह tensordot ऑपरेशन के सापेक्ष इनवर्स की गणना करता है।
सिंटैक्स
numpy.linalg.tensorinv(a, ind=2)
a: इनपुट टेंसर, आकार 'वर्गाकार' होना चाहिए: prod(a.shape[:ind]) == prod(a.shape[ind:])।
ind: इनवर्स सम में शामिल पहले इंडेक्स की संख्या। डिफ़ॉल्ट 2।
वापसी: आकार a.shape[ind:] + a.shape[:ind] का टेंसर इनवर्स।
4D ऐरे उदाहरण
import numpy as np
from numpy.linalg import inv
# 24x24 आइडेंटिटी बनाएं और 4D आकार (4, 6, 8, 3) दें
arr = np.eye(4*6) # 24x24
arr.shape = (4, 6, 8, 3) # 4D: 4*6 = 24, 8*3 = 24 ✓
print("मूल ऐरे आकार:", arr.shape)
print("डायमेंशन्स:", arr.ndim)
print("डेटा टाइप:", arr.dtype)
# डिफ़ॉल्ट ind=2 के साथ टेंसर इनवर्स
# पहले 2 आयाम (4, 6) = 24, अंतिम 2 आयाम (8, 3) = 24
result = np.linalg.tensorinv(arr)
print("\nटेंसर इनवर्स आकार:", result.shape)
# परिणाम आकार: a.shape[2:] + a.shape[:2] = (8, 3) + (4, 6) = (8, 3, 4, 6)
# tensordot से सत्यापित करें
identity_tensor = np.tensordot(result, arr, axes=2)
# axes=2 का अर्थ: result के अंतिम 2 आयाम, arr के पहले 2 आयाम
print("सत्यापन आकार:", identity_tensor.shape) # (4, 6, 4, 6)
print("आइडेंटिटी के करीब:", np.allclose(identity_tensor, np.eye(24).reshape(4, 6, 4, 6)))
ind पैरामीटर के साथ प्रयोग
# ind=1 के साथ
result1 = np.linalg.tensorinv(arr, ind=1)
print("ind=1 आकार:", result1.shape) # (6, 8, 3, 4)
# ind=3 के साथ
result3 = np.linalg.tensorinv(arr, ind=3)
print("ind=3 आकार:", result3.shape) # (3, 4, 6, 8)
सामान्य मैट्रिक्स इनवर्स से संबंध
2D मैट्रिक्स (M, N) के लिए ind=1 के साथ:
- वर्गाकार शर्त: M == N
- परिणाम आकार: (N, M)
- यह np.linalg.inv() के समान है (ट्रांसपोज़ के अलावा)।
उपयोग के मामले
टेंसर डीकंपोजिशन (CP, Tucker डीकंपोजिशन)।
मल्टी-वे एरे विश्लेषण।
क्वांटम टेंसर नेटवर्क कॉन्ट्रैक्शन।
हायर-ऑर्डर SVD (HOSVD)।
चेतावनी
बड़े टेंसर्स के लिए tensorinv कम्प्यूटेशनली महंगा हो सकता है। व्यावहारिक अनुप्रयोगों में अक्सर टेंसर डीकंपोजिशन (जैसे tensorly लाइब्रेरी) का उपयोग किया जाता है।
आर्कसाइन (arcsin) एक बहुमूल्य फ़ंक्शन है: प्रत्येक x के लिए अनंत संख्या में z होते हैं जैसे कि sin(z) = x। परंपरा यह है कि उस कोण z को लौटाया जाए जिसका वास्तविक भाग [-pi/2, pi/2] में हो। वास्तविक-मूल्य इनपुट डेटा प्रकार के लिए, arcsin हमेशा वास्तविक आउटपुट लौटाता है। प्रत्येक मान के लिए जिसे वास्तवि
त्रिकोणमितीय कोसाइन खोजने के लिए, पायथन NumPy में numpy.cos() विधि का उपयोग करें। यह विधि पहले पैरामीटर x के प्रत्येक तत्व का साइन लौटाती है। पहला पैरामीटर x रेडियन में कोण है (2pi का अर्थ 360 डिग्री)। दूसरा और तीसरा पैरामीटर वैकल्पिक हैं। दूसरा पैरामीटर एक ndarray है, वह स्थान जहां परिणाम संग्रहीत
मान लीजिए हमारे पास अद्वितीय तत्वों की एक सरणी nums है। हमें जांचना है कि ये शर्तें पूरी होती हैं या नहीं:
तत्व 1 से n की रेंज में होंगे।
सरणी आरोही क्रम में सॉर्ट नहीं होनी चाहिए।
उदाहरण के लिए, यदि nums = [2, 6, 1, 5, 3, 4] है, तो आउटपुट True होगा।
हल करने का तरीका
n := nums का आकार
total := n