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

Python में मैट्रिक्स ऑब्जेक्ट का मल्टीप्लिकेटिव इनवर्स निकालें

NumPy का numpy.linalg.inv() फंक्शन मैट्रिक्स का मल्टीप्लिकेटिव इनवर्स (गुणात्मक प्रतिलोम) निकालता है। np.matrix ऑब्जेक्ट के साथ उपयोग करने पर यह मैट्रिक्स ऑब्जेक्ट लौटाता है।

सिंटैक्स

numpy.linalg.inv(a)
  • a: वर्ग मैट्रिक्स (2D ऐरे या मैट्रिक्स ऑब्जेक्ट)।
  • वापसी: मैट्रिक्स ainv जैसे कि a @ ainv = ainv @ a = I।

उदाहरण: np.matrix के साथ

import numpy as np
from numpy.linalg import inv

# 2x2 ऐरे बनाएं
arr = np.array([[5, 10], [15, 20]])

print("मूल ऐरे:\n", arr)
print("\nडायमेंशन्स:", arr.ndim)
print("डेटा टाइप:", arr.dtype)
print("आकार:", arr.shape)

# np.matrix में बदलकर इनवर्स निकालें
mat = np.matrix(arr)
inv_mat = np.linalg.inv(mat)

print("\nमैट्रिक्स इनवर्स:\n", inv_mat)
print("\nइनवर्स का टाइप:", type(inv_mat))

# सत्यापन: A * A⁻¹ = I
identity = mat * inv_mat
print("\nसत्यापन (A * A⁻¹):\n", identity)

आउटपुट

मूल ऐरे:
 [[ 5 10]
 [15 20]]
डायमेंशन्स: 2
डेटा टाइप: int64
आकार: (2, 2)
मैट्रिक्स इनवर्स:
 [[-0.4  0.2]
 [ 0.3 -0.1]]
इनवर्स का टाइप: 
सत्यापन (A * A⁻¹):
 [[1. 0.]
 [0. 1.]]

गणना विवरण

मैट्रिक्स A = [[5, 10], [15, 20]] के लिए:

  • डिटरमिनेंट: det(A) = 5×20 - 10×15 = 100 - 150 = -50
  • एडजॉइंट: adj(A) = [[20, -10], [-15, 5]]
  • इनवर्स: A⁻¹ = adj(A) / det(A) = [[-0.4, 0.2], [0.3, -0.1]]

महत्वपूर्ण नोट्स

  • np.matrix क्लास डिप्रिकेटेड है (NumPy 1.19+)। नए कोड में 2D ऐरे (ndarray) का उपयोग करें।
  • 2D ऐरे के साथ inv() ऐरे लौटाता है, मैट्रिक्स नहीं।
  • मैट्रिक्स गुणन के लिए @ ऑपरेटर (या np.dot()) का उपयोग करें।

आधुनिक दृष्टिकोण (ndarray के साथ)

import numpy as np

arr = np.array([[5, 10], [15, 20]], dtype=float)
inv_arr = np.linalg.inv(arr)

print("इनवर्स:\n", inv_arr)
print("सत्यापन (A @ A⁻¹):\n", arr @ inv_arr)

सिंगुलर मैट्रिक्स हैंडलिंग

singular = np.array([[1, 2], [2, 4]])  # डिटरमिनेंट = 0
try:
    inv_singular = np.linalg.inv(singular)
except np.linalg.LinAlgError as e:
    print("एरर:", e)  # Singular matrix

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

  • रैखिक समीकरण प्रणाली हल करना: x = A⁻¹b।
  • कंप्यूटर ग्राफिक्स में ट्रांसफॉर्मेशन इनवर्स।
  • कंट्रोल सिस्टम्स और ऑप्टिमाइजेशन।
  • सांख्यिकी में कोवेरिएंस मैट्रिक्स इनवर्स।
  1. - पायथन में सरणी का डिटरमिनेंट निकालना

    रैखिक बीजगणित में सरणी का डिटरमिनेंट निकालने के लिए, पायथन NumPy में np.linalg.det() का उपयोग करें। पहला पैरामीटर a वह इनपुट सरणी है जिसके लिए डिटरमिनेंट की गणना की जाती है। यह विधि डिटरमिनेंट लौटाती है। चरण सबसे पहले, आवश्यक लाइब्रेरी आयात करें: import numpy as np एक सरणी बनाएं: arr = np.array([[

  1. - पायथन में 2 नॉर्म का उपयोग करके मैट्रिक्स की कंडीशन संख्या निकालना

    रैखिक बीजगणित में मैट्रिक्स की कंडीशन संख्या निकालने के लिए, पायथन में numpy.linalg.cond() विधि का उपयोग करें। यह विधि p के मान के आधार पर सात अलग-अलग नॉर्म में से एक का उपयोग करके कंडीशन संख्या लौटाने में सक्षम है। यह मैट्रिक्स की कंडीशन संख्या लौटाता है। यह अनंत हो सकता है। x की कंडीशन संख्या को

  1. - पायथन में जटिल हर्मिटियन या वास्तविक सममित मैट्रिक्स के आइगेनवैल्यू निकालना

    जटिल हर्मिटियन या वास्तविक सममित मैट्रिक्स के आइगेनवैल्यू निकालने के लिए, numpy.eigvalsh() विधि का उपयोग करें। यह विधि आइगेनवैल्यू को आरोही क्रम में लौटाती है, प्रत्येक को उसकी बहुलता के अनुसार दोहराया जाता है। पहला पैरामीटर a एक जटिल-या वास्तविक-मूल्य मैट्रिक्स है जिसके आइगेनवैल्यू की गणना की जानी