Egy mátrix szimmetrikus, ha transzponáltja önmaga, azaz . Szimmetrikus mátrix csak négyzetes mátrix (lásd alább) lehet.
A mátrix transzponálása azt jelenti, hogy a mátrix sorai és oszlopai helyet cserélnek. A Pythonban ezt egyszerűen elvégezhetjük a NumPy könyvtárral.
import numpy as np
# Mátrix definiálása
matrix = np.array(,
])
# Transzponált mátrix
transposed = matrix.T
print("Eredeti mátrix:")
print(matrix)
print("\nTranszponált mátrix:")
print(transposed)
Eredeti mátrix: ] Transzponált mátrix: ]
import numpy as np
# Négyzetes mátrix
matrix = np.array(,
])
# Transzponált mátrix
transposed = np.transpose(matrix)
print("Eredeti mátrix:")
print(matrix)
print("\nTranszponált mátrix:")
print(transposed)
Eredeti mátrix: ] Transzponált mátrix: ]
Ha egy többdimenziós tömböt (pl. 3D mátrixot) szeretnél transzponálni, akkor az np.transpose()
függvény használatával megadhatod a tengelyek sorrendjét.
import numpy as np
# 3D tömb
tensor = np.array(, ],
, ]])
# Tengelyek átrendezése
transposed_tensor = np.transpose(tensor, axes=(1, 0, 2))
print("Eredeti tömb:")
print(tensor)
print("\nTranszponált tömb:")
print(transposed_tensor)
Ha a mátrix elemei lebegőpontos számok, a transzponált értékek kerekítése is szükséges lehet.
import numpy as np
# Lebegőpontos mátrix
matrix = np.array(,
])
# Transzponált mátrix
transposed = matrix.T
# Elemek kerekítése
transposed_rounded = np.round(transposed, 2)
print("Eredeti mátrix:")
print(matrix)
print("\nTranszponált mátrix kerekítve:")
print(transposed_rounded)
Ha nem használod a NumPy-t, a mátrix transzponálását Python listák segítségével is elvégezheted:
# Eredeti mátrix
matrix = ,
]
# Transzponált mátrix létrehozása
transposed = for row in matrix] for i in range(len(matrix))]
print("Eredeti mátrix:")
print(matrix)
print("\nTranszponált mátrix:")
print(transposed)
Eredeti mátrix: , ] Transzponált mátrix: , , ]