]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
mjo/clan/clan_operator.py: public matrix() method
authorMichael Orlitzky <michael@orlitzky.com>
Tue, 17 Feb 2026 02:03:12 +0000 (21:03 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 17 Feb 2026 02:03:12 +0000 (21:03 -0500)
This will be useful for the Vinberg inner product.

mjo/clan/clan_operator.py

index 6a058e50b04a35ce66dafec1f8438a487f66299e..ed4d6b3d5cc6c9a562e78121eced307d431bbe17 100644 (file)
@@ -85,7 +85,7 @@ class ClanOperator(Map):
             True
 
         """
-        return self.codomain().from_vector(self._matrix*x.to_vector())
+        return self.codomain().from_vector(self.matrix()*x.to_vector())
 
     def _repr_(self):
         r"""
@@ -116,6 +116,29 @@ class ClanOperator(Map):
                "{!r}\n",
                "Domain: {}\n",
                "Codomain: {}")
-        return ''.join(msg).format(self._matrix,
+        return ''.join(msg).format(self.matrix(),
                                    self.domain(),
                                    self.codomain())
+    def matrix(self):
+        """
+        Return the matrix representation of this operator with respect
+        to the default bases of its (co)domain.
+
+        SETUP::
+
+            sage: from mjo.clan.clan_operator import ClanOperator
+            sage: from mjo.clan.unital_clan import SnClan
+
+        EXAMPLES::
+
+            sage: C = SnClan(2)
+            sage: d = C.dimension()
+            sage: mat = matrix(C.base_ring(), d, range(d**2))
+            sage: f = ClanOperator(C,C,mat)
+            sage: f.matrix()
+            [0 1 2]
+            [3 4 5]
+            [6 7 8]
+
+        """
+        return self._matrix