R Academy · पाठ

आइगेनमान और आइगेनसदिश

eigen() से आइगेन अपघटन निकालें और परिणामों की व्याख्या करें।

पाठ 3, कुल 4 में से13 चरण

आइगेनमान और आइगेनसदिश, CoddyKit पर R Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह R Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

आइगेनमान क्या होते हैं

मैट्रिक्स A का आइगेनसदिश v ऐसा अशून्य सदिश है जो A से गुणा किए जाने पर केवल स्केल होता है, घूमता नहीं: Av = λv। अदिश λ आइगेनमान है। ये मैट्रिक्स की अंतर्निहित प्रसार दिशाएँ दर्शाते हैं।

# Intuition: A simple scaling matrix
A <- matrix(c(3, 0,
              0, 2), nrow = 2, byrow = TRUE)

# The eigenvectors are the standard basis vectors
# A * c(1,0) = 3 * c(1,0)  -> eigenvalue 3
# A * c(0,1) = 2 * c(0,1)  -> eigenvalue 2

v1 <- c(1, 0)
A %*% v1  # c(3, 0) = 3 * v1

v2 <- c(0, 1)
A %*% v2  # c(0, 2) = 2 * v2

cat('Eigenvalues of a diagonal matrix are its diagonal entries')

eigen(): आइगेनमानों की गणना

eigen(A) एक सूची लौटाता है जिसमें $values (परिमाण के घटते क्रम में क्रमबद्ध आइगेनमान) और $vectors (स्तंभों के रूप में आइगेनसदिशों की मैट्रिक्स) होते हैं। आइगेनसदिशों को इकाई लंबाई के लिए सामान्यीकृत किया जाता है।

A <- matrix(c(4, 1,
              2, 3), nrow = 2, byrow = TRUE)

# Compute eigendecomposition
eig <- eigen(A)

# Eigenvalues
eig$values
# [1] 5 2  (descending order)

# Eigenvectors (columns)
eig$vectors
#           [,1]       [,2]
# [1,] 0.7071068 -0.4472136
# [2,] 0.7071068  0.8944272

cat('Each column is one eigenvector (unit length)')

Av = lambda * v का सत्यापन

सत्यापन के लिए जाँचें कि A %*% v - lambda * v लगभग शून्य है। फ्लोटिंग-पॉइंट गणना के कारण max(abs(...)) का उपयोग करें और सटीक समानता जाँचने के बजाय देखें कि मान मशीन एप्सिलॉन के निकट है।

A <- matrix(c(4, 1,
              2, 3), nrow = 2, byrow = TRUE)
eig <- eigen(A)

lambda1 <- eig$values[1]   # 5
v1      <- eig$vectors[, 1]

# Verify: Av - lambda*v should be ~0
residual <- A %*% v1 - lambda1 * v1
max(abs(residual))  # ~ 1e-16

# Check all eigenpairs at once
# A V = V diag(lambda) where V = eigenvectors matrix
V <- eig$vectors
Lambda <- diag(eig$values)
err <- A %*% V - V %*% Lambda
max(abs(err))  # near zero

सममित मैट्रिक्स: वास्तविक आइगेनमान

सममित मैट्रिक्स (A = t(A)) में हमेशा वास्तविक आइगेनमान और लंबवत आइगेनसदिश होते हैं। यह स्पेक्ट्रल प्रमेय है — सांख्यिकी में आवश्यक, क्योंकि सहप्रसरण मैट्रिक्स सममित धनात्मक अर्ध-निश्चित होती हैं।

# Symmetric matrix
S <- matrix(c(4, 2, 2,
              2, 3, 1,
              2, 1, 5), nrow = 3, byrow = TRUE)

# All symmetric: A = t(A)
all.equal(S, t(S))  # TRUE

# Eigenvalues are real
eig <- eigen(S)
eig$values  # All real numbers
Im(eig$values)  # All zero

# Eigenvectors are orthogonal: V'V = I
V <- eig$vectors
round(t(V) %*% V, 10)  # Identity matrix
cat('Symmetric -> real eigenvalues, orthogonal eigenvectors')

असममित मैट्रिक्स: सम्मिश्र आइगेनमान

गैर-सममित मैट्रिक्स में सम्मिश्र आइगेनमान हो सकते हैं, जो सम्मिश्र संयुग्म युग्मों के रूप में आते हैं। R इन्हें सम्मिश्र संख्याओं के रूप में लौटाता है। वास्तविक भाग वृद्धि या क्षय को नियंत्रित करता है; काल्पनिक भाग घूर्णन या दोलन को नियंत्रित करता है।

# Rotation-like matrix -> complex eigenvalues
A <- matrix(c(0, -1,
              1,  0), nrow = 2, byrow = TRUE)
# This is a 90-degree rotation matrix
eig <- eigen(A)
eig$values
# [1] 0+1i 0-1i  (pure imaginary!)

# Real part: zero -> neither grows nor decays
Re(eig$values)  # 0 0

# Imaginary part: indicates rotation
Im(eig$values)  # 1 -1

# Another example: stable spiral
B <- matrix(c(-1, -2,
               2, -1), nrow = 2, byrow = TRUE)
eigen(B)$values  # -1 +/- 2i

आइगेनमान अपघटन A = VLV^-1

एक विकर्णीय मैट्रिक्स A को A = V Λ V⁻¹ के रूप में लिखा जा सकता है, जहाँ V आइगेनसदिशों की मैट्रिक्स है और Λ = diag(eigenvalues) है। यह अपघटन मैट्रिक्स की घातों की गणना संभव बनाता है: A^n = V Λ^n V⁻¹।

A <- matrix(c(4, 1,
              2, 3), nrow = 2, byrow = TRUE)
eig <- eigen(A)
V      <- eig$vectors
Lambda <- diag(eig$values)

# Reconstruct A = V %*% Lambda %*% solve(V)
A_reconstructed <- V %*% Lambda %*% solve(V)
all.equal(A, A_reconstructed)  # TRUE

# Matrix power A^3 using eigendecomposition
A_cubed_eig <- V %*% diag(eig$values^3) %*% solve(V)
A_cubed_direct <- A %*% A %*% A
all.equal(Re(A_cubed_eig), A_cubed_direct)  # TRUE

सहप्रसरण आइगेनमानों से PCA की अवधारणा

प्रधान घटक विश्लेषण (PCA) सहप्रसरण मैट्रिक्स के आइगेनअपघटन का उपयोग करता है। आइगेनसदिश अधिकतम विचरण की दिशाएँ, अर्थात् प्रधान घटक, देते हैं; आइगेनमान प्रत्येक दिशा में विचरण देते हैं।

set.seed(42)
# Correlated 2D data
x1 <- rnorm(100)
x2 <- 0.8 * x1 + 0.6 * rnorm(100)
X <- cbind(x1, x2)

# Covariance matrix
C <- cov(X)
print(round(C, 3))

# Eigendecomposition of covariance matrix
eig <- eigen(C)
cat('Eigenvalues (variance explained):\n')
print(eig$values)
cat('PC1 direction:\n')
print(eig$vectors[, 1])

# Variance explained by PC1
prop_var <- eig$values[1] / sum(eig$values)
cat('PC1 explains:', round(100 * prop_var, 1), '%')

स्पेक्ट्रल त्रिज्या

स्पेक्ट्रल त्रिज्या ρ(A) = max|λᵢ| सबसे बड़ा निरपेक्ष आइगेनमान है। यह पुनरावृत्त एल्गोरिदमों में स्थिरता निर्धारित करती है: यदि ρ < 1 हो, तो पुनरावृत्तियाँ अभिसरित होती हैं; यदि ρ > 1 हो, तो अपसारित होती हैं।

spectral_radius <- function(A) {
  max(Mod(eigen(A)$values))
}

# Convergent matrix: spectral radius < 1
A_conv <- matrix(c(0.5, 0.2,
                   0.1, 0.3), nrow = 2, byrow = TRUE)
spectral_radius(A_conv)  # < 1 -> iterations converge

# Divergent matrix: spectral radius > 1
A_div <- matrix(c(2, 0.5,
                  0.3, 1.5), nrow = 2, byrow = TRUE)
spectral_radius(A_div)  # > 1 -> iterations diverge

# For positive definite A, spectral radius = max eigenvalue
cat('Spectral radius determines iterative stability')

आइगेनमानों से सारणिक और ट्रेस

सारणिक आइगेनमानों के गुणनफल के बराबर होता है; ट्रेस उनके योग के बराबर होता है। ये संबंध बीजगणितीय गुणों को आइगेनमानों से जोड़ते हैं और आपके eigen() परिणामों की तर्कसंगतता जाँचने में सहायता करते हैं।

A <- matrix(c(5, 2,
              1, 4), nrow = 2, byrow = TRUE)
eig_vals <- eigen(A)$values

# det(A) = product of eigenvalues
det(A)
prod(eig_vals)  # Same!

# trace = sum of eigenvalues
sum(diag(A))
sum(eig_vals)  # Same!

# For numeric precision, use Re() on complex
A2 <- matrix(c(3, -1, 2, 5), nrow = 2, byrow = TRUE)
ev <- eigen(A2)$values
all.equal(det(A2), prod(Re(ev)), tolerance = 1e-10)
all.equal(sum(diag(A2)), sum(Re(ev)), tolerance = 1e-10)

धनात्मक निश्चित मैट्रिक्स

यदि किसी सममित मैट्रिक्स के सभी आइगेनमान धनात्मक हों, तो वह धनात्मक निश्चित (PD) होती है। सहप्रसरण मैट्रिक्स धनात्मक अर्ध-निश्चित होती हैं (आइगेनमान ≥ 0)। PD मैट्रिक्स का प्रतिलोम होता है और उनका Cholesky अपघटन किया जा सकता है।

# Check positive definiteness
is_positive_definite <- function(A) {
  # Symmetric check
  if (!isTRUE(all.equal(A, t(A)))) return(FALSE)
  all(eigen(A)$values > 0)
}

# Positive definite covariance matrix
S <- matrix(c(4, 2,
              2, 3), nrow = 2, byrow = TRUE)
is_positive_definite(S)  # TRUE
eigen(S)$values  # Both positive

# Not PD (one negative eigenvalue)
Q <- matrix(c(1, 3,
              3, 2), nrow = 2, byrow = TRUE)
is_positive_definite(Q)  # FALSE
eigen(Q)$values  # One negative

प्रमुख आइगेनमान के लिए पावर इटरेशन

बड़ी मैट्रिक्स के लिए सभी आइगेनमानों की गणना महँगी होती है। पावर इटरेशन पुनरावृत्त रूप से सबसे बड़ा आइगेनमान खोजता है — यह Google के PageRank एल्गोरिदम का आधार है। A से बार-बार गुणा करें और फिर सामान्यीकृत करें।

# Power iteration: finds dominant eigenvalue
power_iteration <- function(A, tol = 1e-10, max_iter = 1000) {
  n <- nrow(A)
  v <- rnorm(n); v <- v / sqrt(sum(v^2))  # random unit vector
  lambda_old <- 0
  for (i in seq_len(max_iter)) {
    w <- A %*% v
    lambda <- max(abs(w))
    v <- w / lambda
    if (abs(lambda - lambda_old) < tol) break
    lambda_old <- lambda
  }
  list(value = lambda, vector = v)
}

A <- matrix(c(4, 1, 2, 3), nrow = 2, byrow = TRUE)
result <- power_iteration(A)
result$value  # Should be ~5 (dominant eigenvalue)
eigen(A)$values[1]  # Compare

त्वरित जाँच

R में आइगेनमानों और आइगेनसदिशों की अपनी समझ जाँचें।

पुनरावलोकन: आइगेनमान और आइगेनसदिश

मुख्य बातें: eigen(A) $values और $vectors लौटाता है। A %*% v - lambda*v ≈ 0 से सत्यापन करें। सममित मैट्रिक्स में वास्तविक आइगेनमान और लंबवत आइगेनसदिश होते हैं। गैर-सममित मैट्रिक्स में सम्मिश्र आइगेनमान हो सकते हैं। det(A) = आइगेनमानों का गुणनफल; ट्रेस = योग। PCA सहप्रसरण मैट्रिक्स का अपघटन करता है। धनात्मक निश्चित ↔ सभी आइगेनमान > 0।

A <- matrix(c(6, 2, 2, 3), nrow = 2)
eig <- eigen(A)

# Key eigen operations:
eig$values    # eigenvalues
eig$vectors   # eigenvectors (columns)

# Verify Av = lambda*v
v1 <- eig$vectors[, 1]
max(abs(A %*% v1 - eig$values[1] * v1))  # ~0

# Properties
all.equal(det(A), prod(eig$values))       # TRUE
all.equal(sum(diag(A)), sum(eig$values))  # TRUE

# Reconstruct A = V Lambda V^{-1}
V <- eig$vectors
all.equal(A, Re(V %*% diag(eig$values) %*% solve(V)))
शुरुआत निःशुल्क

एआई शिक्षक के साथ R सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
43
पाठ
159

अक्सर पूछे जाने वाले प्रश्न

क्या “आइगेनमान और आइगेनसदिश” पाठ निःशुल्क है?

हाँ — R Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “आइगेनमान और आइगेनसदिश” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। R Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“आइगेनमान और आइगेनसदिश” में मैं क्या सीखूँगा?

eigen() से आइगेन अपघटन निकालें और परिणामों की व्याख्या करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ R Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या R Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर R Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“आइगेनमान और आइगेनसदिश” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस R Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर R Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. मैट्रिक्स गुणा और Determinants
  2. solve() से रैखिक समीकरण-तंत्र हल करना
  3. आइगेनमान और आइगेनसदिश
  4. SVD, QR और Cholesky अपघटन
← R Academy पर वापस जाएँ