From: Michael Orlitzky Date: Sat, 24 Jan 2026 01:14:42 +0000 (-0500) Subject: mjo/hurwitz.py: add matrix transpose() method X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=442985d28d4a696ec802807661a51f13672e2e26;p=sage.d.git mjo/hurwitz.py: add matrix transpose() method Sometimes you just need to transpose a complex matrix, you know? --- diff --git a/mjo/hurwitz.py b/mjo/hurwitz.py index c3f3c60..a252cf6 100644 --- a/mjo/hurwitz.py +++ b/mjo/hurwitz.py @@ -335,6 +335,33 @@ class HurwitzMatrixAlgebraElement(MatrixAlgebraElement): new_terms = ( A._conjugate_term((k,v)) for (k,v) in d.items() ) return self.parent().sum_of_terms(new_terms) + def transpose(self): + r""" + Return the transpose of this matrix. + + SETUP:: + + sage: from mjo.hurwitz import ComplexMatrixAlgebra + + EXAMPLES:: + + sage: A = ComplexMatrixAlgebra(2, QQbar, ZZ) + sage: M = A([ [ I, 2*I], + ....: [ 3*I, 4*I] ]) + sage: M.transpose() + ┌─────┬─────┐ + │ I │ 3*I │ + ├─────┼─────┤ + │ 2*I │ 4*I │ + └─────┴─────┘ + + """ + d = self.monomial_coefficients() + A = self.parent() + new_terms = ( ((j,i,k), v) + for ((i,j,k),v) in d.items() ) + return self.parent().sum_of_terms(new_terms) + def conjugate_transpose(self): r""" Return the conjugate-transpose of this matrix.