Αντιμεταθετικός πίνακας

Από testwiki
Αναθεώρηση ως προς 18:23, 28 Σεπτεμβρίου 2024 από τον imported>MARKbot (Ρομπότ: Αυτόματη αντικατάσταση κειμένου (-{{reflist}} +<references />).)
(διαφορά) ← Παλαιότερη αναθεώρηση | Τελευταία αναθεώρηση (διαφορά) | Νεότερη αναθεώρηση → (διαφορά)
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση

Στα μαθηματικά, ιδίως στη γραμμική άλγεβρα και στη θεωρία πινάκων, ο αντιμεταθετικός πίνακας[1] χρησιμοποιείται για τη μετατροπή της διανυσματικής μορφής ενός πίνακα στη διανυσματική μορφή της αναστροφής του. Συγκεκριμένα, ο αντιμεταθετικός πίνακας K(m,n) είναι ο πίνακας nm × mn ο οποίος, για οποιονδήποτε πίνακα m × n A, μετασχηματίζει τον vec(A) σε vec(AT):

K(m,n) vec(A) = vec(AT).

Εδώ vec('A) είναι το mn × 1 διάνυσμα στηλών που προκύπτει από τη στοίβαξη των στηλών του A' η μία πάνω στην άλλη:

vec(𝐀)=[𝐀1,1,,𝐀m,1,𝐀1,2,,𝐀m,2,,𝐀1,n,,𝐀m,n]T

όπου A = [Ai,j]. Με άλλα λόγια, το vec(A) είναι το διάνυσμα που προκύπτει από τη διανυσματοποίηση του A σε σειρά στήλης-μεγάλης κλίμακας. Ομοίως, vec(AT) είναι το διάνυσμα που προκύπτει από τη διανυσματοποίηση του A σε σειρά γραμμής-πλειοψηφίας.

Στο πλαίσιο της κβαντικής θεωρίας πληροφοριών[2], ο αντιμεταθετικός πίνακας αναφέρεται μερικές φορές ως πίνακας ανταλλαγής ή τελεστής ανταλλαγής.[3]

Ιδιότητες

  • Ο αντιμεταθετικός πίνακας είναι ένας ειδικός τύπος του αντιμεταθετικού πίνακα και επομένως είναι ορθογώνιος. Ειδικότερα, ο K(m,n) είναι ίσος με 𝐏π, όπου π είναι η αντιμετάθεση πάνω στο {1,,mn} για την οποία
π(i+m(j1))=j+n(i1),i=1,,m,j=1,,n.
  • Η αντικατάσταση του A με το AT στον ορισμό του αντιμεταθετικού πίνακα δείχνει ότι Πρότυπο:Nowrap Επομένως, στην ειδική περίπτωση m = n ο αντιμεταθετικός πίνακας είναι μια ενέλιξη και είναι συμμετρικός.
  • Η κύρια χρήση του αντιμεταθετικού πίνακα, και η πηγή του ονόματός του, είναι η αντιμετάθεση του γινομένου Κρόνεκερ: για κάθε m × n πίνακα A και κάθε r × q πίνακα B,
𝐊(r,m)(𝐀𝐁)𝐊(n,q)=𝐁𝐀.
Αυτή η ιδιότητα χρησιμοποιείται συχνά στην ανάπτυξη των στατιστικών ανώτερης τάξης των πινάκων συνδιακύμανσης Wishart.[4]
  • Η περίπτωση n=q=1 για την παραπάνω εξίσωση δηλώνει ότι για οποιαδήποτε διανύσματα στήλης v,w μεγεθών m,r αντίστοιχα,
𝐊(r,m)(𝐯𝐰)=𝐰𝐯.
Αυτή η ιδιότητα είναι ο λόγος που ο πίνακας αυτός αναφέρεται ως «τελεστής ανταλλαγής» στο πλαίσιο της κβαντικής θεωρίας της πληροφορίας.
  • Δύο ρητές μορφές για τον αντιμεταθετικό πίνακα είναι οι εξής: αν er,j δηλώνει το j-οστό κανονικό διάνυσμα διάστασης r (δηλαδή το διάνυσμα με 1 στην j-th συντεταγμένη και 0 αλλού) τότε
𝐊(r,m)=i=1rj=1m(𝐞r,i𝐞m,jT)(𝐞m,j𝐞r,iT)=i=1rj=1m(𝐞r,i𝐞m,j)(𝐞m,j𝐞r,i)T.
  • Ο αντιμεταθετικός πίνακας μπορεί να εκφραστεί ως ο ακόλουθος σύνθετος πινάκας :
𝐊(m,n)=[𝐊1,1𝐊1,n𝐊m,1𝐊m,n,],
Όπου η εγγραφή p,q του n x m σύνθετος πινάκας Ki,j δίνεται από τη σχέση
𝐊ij(p,q)={1i=q και j=p,0otherwise.
Παραδείγματος χάριν,
𝐊(3,4)=[100000000000000100000000000000100000000000000100010000000000000010000000000000010000000000000010001000000000000001000000000000001000000000000001].

Κωδικός

Τόσο για τετραγωνικούς όσο και για ορθογώνιους πίνακες m γραμμών και n στηλών, ο αντιμεταθετικός πίνακας μπορεί να παραχθεί με τον παρακάτω κώδικα.

Python

import numpy as np


def comm_mat(m, n):
    # determine permutation applied by K
    w = np.arange(m * n).reshape((m, n), order="F").T.ravel(order="F")

    # apply this permutation to the rows (i.e. to each column) of identity matrix and return result
    return np.eye(m * n)[w, :]

Εναλλακτικά, μια έκδοση χωρίς εισαγωγές:

# Kronecker delta
def delta(i, j):
    return int(i == j)


def comm_mat(m, n):
    # determine permutation applied by K
    v = [m * j + i for i in range(m) for j in range(n)]

    # apply this permutation to the rows (i.e. to each column) of identity matrix
    I = [[delta(i, j) for j in range(m * n)] for i in range(m * n)]
    return [I[i] for i in v]

MATLAB

function P = com_mat(m, n)

% determine permutation applied by K
A = reshape(1:m*n, m, n);
v = reshape(A', 1, []);

% apply this permutation to the rows (i.e. to each column) of identity matrix
P = eye(m*n);
P = P(v,:);

R

# Sparse matrix version
comm_mat = function(m, n){
  i = 1:(m * n)
  j = NULL
  for (k in 1:m) {
    j = c(j, m * 0:(n-1) + k)
  }
  Matrix::sparseMatrix(
    i = i, j = j, x = 1
  )
}

Παράδειγμα

Έστω A ο ακόλουθος πίνακας 3×2:

A=[142536].

A έχει τις ακόλουθες διανυσματοδοτήσεις μείζονος στήλης και μείζονος γραμμής (αντίστοιχα):

𝐯col=vec(A)=[123456],𝐯row=vec(AT)=[142536].

Ο σχετικός σύνθετος πινάκας είναι

K=𝐊(3,2)=[111111],

(όπου κάθε δηλώνει ένα μηδέν). Όπως αναμενόταν, ισχύουν τα ακόλουθα:

KTK=KKT=𝐈6
K𝐯col=𝐯row

Δείτε επίσης

Εξωτερικοί σύνδεσμοι

Δημοσιεύσεις

Παραπομπές

Πρότυπο:Reflist

  • Janko Bračič, Kolobar aritmetičnih funkcij (Ring of arithmetical functions), (Obzornik mat, fiz. 49 (2002) 4, pp. 97–108) (MSC (2000) 11A25)
  • Iwaniec and Kowalski, Analytic number theory, AMS (2004).

Πρότυπο:Authority control Πρότυπο:Portal bar