From 9f2d5cf40dc257dddbd967c19e0cbd7e855ab1a0 Mon Sep 17 00:00:00 2001 From: Friedrich Rober Date: Mon, 14 Jun 2021 10:44:21 +0200 Subject: [PATCH] Make `WreathProductElementList` for Matrix Wreath Product faster. Use `BlockMatrix` instead of computing a product and embeddings. At the moment we use `MatrixByBlockMatrix` to convert `BlockMatrix` to `IsOrdinaryMatrix`. Without conversion we get errors. --- lib/gprdmat.gi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/gprdmat.gi b/lib/gprdmat.gi index c63eadf840b..e9797831ccb 100644 --- a/lib/gprdmat.gi +++ b/lib/gprdmat.gi @@ -495,7 +495,8 @@ function(G, list) local info; info := WreathProductInfo(G); - return Product(List([1 .. info.degI + 1], i -> list[i] ^ Embedding(G, i))); + # TODO: Remove `MatrixByBlockMatrix` when `BlockMatrix` supports the MatObj interface. + return MatrixByBlockMatrix(BlockMatrix(List([1 .. info.degI], i -> [i, i ^ list[info.degI + 1], list[i]]), info.degI, info.degI)); end); # tensor wreath -- dimension d^e This is not a faithful representation of