Magma

1 program Added 2026-02-05T22:22:28Z Agent: claude-codeModel: sonnetWebSearch: disabled Evidence Report issue View issues
Aliases: —
Provenance: commit 78097b496e · authored 2026-02-05T23:23:10+01:00 · agent claude-code · model sonnet

Sources mentioning this language

3 sources · pl_id: pl/magma
LLM (this repo) · 1PldbWikidata · Q4043373

Extensions claimed by this language

1 claim. Each row is one upstream assertion with its strength. SWH column shows file occurrences with that extension across the entire archive.
ExtensionSourceStrengthSWH
.magmawikidataprimary1.8K files

Related languages

Maxima (0.36)Mata (0.30)Magik (0.27)Mamba (0.27)Magpie (0.25)

Real programs from Software Heritage

7 samples mined from derived_datasets/<date>/contents/*.parquet, byte-verified against the SWH archive. Citation-grade qualified SWHIDs preserved.
linalg.m · 4401 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash)
swh:1:cnt:3e1d5177918fae73ed4b8d11a3cc39b6029c8a9f;origin=https://github.com/wbl/paramod_comp;path=/linalg.m
Open in SWH · Raw bytes (SWH)
Reviews (2 LLM)
Ground truth · how?
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-30
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-30
Magma
Show source
// Linear algebra!

import "helper.m" : MVM;

function Decompose(T, t)
	// The characteristic polynomial of this matrix.
	chi := CharacteristicPolynomial(T);

	// Factorization of the characteristic polynomial.
	fs := Factorization(chi);

	// The eigenspaces arising from this matrix.
	spaces := [* *];

	for data in fs do
		// Number field associated to one of the irreducible factors.
		// TODO: Fix this. Sometimes crashes.
		//K := NumberField(ChangeRing(data[1], Rationals()));
		K := NumberField(data[1]);
		// TODO: Keep an eye out for this, make sure it works.

		// The eigenvalue associated to this factor.
		if Degree(data[1]) eq 1 then
			eig := -Evaluate(data[1], 0);
		else
			eig := K.1;
		end if;

		// If the field K is not the rationals, try to optimize it as
		//  long as the degree of the field isn't too large.
		if Category(K) ne FldRat and Degree(K) le 8 then
			// Optimize the number field.
			K, map := OptimizedRepresentation(K);

			// The eigenvalue in the new field.
			eig := map(eig);
		end if;

		// The identity matrix of the appropriate dimension.
		id := Id(MatrixRing(K, Nrows(t)));

		// Promote the ambient matrix to the current number field.
		tt := ChangeRing(t, K);

		// Add eigenspace to the list of spaces and flag it depending
		//  on whether this eigenspace is irreducible.
		Append(~spaces,
			< Nullspace(Transpose(tt)-eig*id), data[2] eq 1 >);
	end for;

	return spaces;
end function;

intrinsic EigenspaceDecomposition(array::Assoc : Warning := true)
	-> List, SeqEnum
{ Decompose an array of mutually commuting matrices into their eigenspaces. }
	// Make sure that the associative array is non-empty.
	require #array ne 0: "Associative array must not be empty.";

	// Extract the keys associated to the associative array.
	keys := Keys(array);

	// Put keys into an enumerative array.
	keys := [ x : x in keys ];

	// Extract the full list of matrices.
	Ts := [ array[x] : x in keys ];

	// Verify that all matrices mutually commute.
	require &and[ A*B eq B*A : A,B in Ts ]:
		"Matrices in array do not mutually commute.";

	// List of eigenspaces for the first matrix.
	sp := Decompose(Ts[1], Ts[1]);

	for idx in [2..#Ts] do
		// If all eigenspaces are irreducible, we're done.
		if &and[ data[2] : data in sp ] then break; end if;

		// The number of eigenspaces we are starting with.
		num := #sp;

		// Keep track of the eigenspaces we'll need to delete.
		delList := [];

		for i in [1..num] do
			// Skip this eigenspace if it is irreducible.
			if sp[i][2] then continue; end if;

			// Add the current eigenspace to the delete list.
			Append(~delList, i);

			// The current subspace.
			space := sp[i][1];

			// Dimension of this space.
			dim := Dimension(space);

			// The basis of this space.
			basis := Basis(space);

			// The pivots for this space.
			pivots := [ 0 : v in basis ];
			for j in [1..#basis] do
				repeat pivots[j] +:= 1;
				until basis[j][pivots[j]] ne 0;
			end for;

			// Modify the base ring in preparation for matrix-
			//  vector multiplication.
			tempT := ChangeRing(Ts[idx], BaseRing(space));

			// Form a "tall" matrix which corresponds to the column
			//  vectors AFTER we act tempT upon the eigenbasis.
			T := Transpose(Matrix([ Eltseq(MVM(tempT, v))
				: v in basis ]));

			// Extract the submatrix associated to this subspace.
			T := Submatrix(T, pivots, [1..dim]);

			// Compute the eigenspaces associated to T.
			newSpaces := Decompose(T, Ts[idx]);

			for newSp in newSpaces do
				// The field over which both spaces live.
				F := Compositum(
					BaseRing(newSp[1]), BaseRing(space));

				// Compute the intersection of these two spaces
				//  and add it to the list.
				Append(~sp, < ChangeRing(newSp[1], F)
					meet ChangeRing(space, F), newSp[2] >);
			end for;
		end for;

		// Remove the outdated subspaces from last to first.
		sp := [* sp[i] : i in [1..#sp] | not i in delList *];

		assert &+[ Dimension(s[1]) * Degree(BaseRing(s[1])) : s in sp ]
			eq Nrows(Ts[1]);
	end for;

	// Determine whether this decomposition is stll decomposable.
	decomposable := [ i : i in [1..#sp] | not sp[i][2] ];

	// Return the eigenspaces.
	sp := [* data[1] : data in sp *];

	// Display a warning if the decomposition is reducible.
	if Warning and #decomposable ne 0 then
		print "WARNING: Eigenspaces not completely decomposed!";
	end if;

	return sp, decomposable;
end intrinsic;

64S12-8,8,2-g9.m · 3780 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash; human:mathieu-acher)
swh:1:cnt:625aad06c3115bed5484238b4726b36368f946b2;origin=https://github.com/michaelmusty/SolvableDessins;path=/SolvablePassportDB/64/64S12-8,8,2-g9.m
Open in SWH · Raw bytes (SWH)
Reviews (1 human, 2 LLM)
Ground truth · how?
👤 mathieu-acher → pl/magma (medium) 2026-10-02
Magma code to compute solvable Belyi maps / dessins /* Magma printing */ and yes looks like Magma
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-29
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-29
Magma
Show source
s := SolvablePassportDBInitialize();

/*
Magma printing
*/

s`Filename := "64S12-8,8,2-g9.m";
s`GaloisOrbits := [ Strings() | "64S12-8,8,2-g9-path23.m", "64S12-8,8,2-g9-path8.m", "64S12-8,8,2-g9-path43.m", "64S12-8,8,2-g9-path19.m", "64S12-8,8,2-g9-path37.m", "64S12-8,8,2-g9-path20.m", "64S12-8,8,2-g9-path30.m", "64S12-8,8,2-g9-path44.m", "64S12-8,8,2-g9-path17.m", "64S12-8,8,2-g9-path31.m", "64S12-8,8,2-g9-path7.m", "64S12-8,8,2-g9-path6.m", "64S12-8,8,2-g9-path36.m", "64S12-8,8,2-g9-path11.m", "64S12-8,8,2-g9-path25.m", "64S12-8,8,2-g9-path35.m", "64S12-8,8,2-g9-path39.m", "64S12-8,8,2-g9-path22.m", "64S12-8,8,2-g9-path12.m", "64S12-8,8,2-g9-path1.m", "64S12-8,8,2-g9-path18.m", "64S12-8,8,2-g9-path24.m", "64S12-8,8,2-g9-path14.m", "64S12-8,8,2-g9-path21.m", "64S12-8,8,2-g9-path26.m", "64S12-8,8,2-g9-path5.m", "64S12-8,8,2-g9-path10.m", "64S12-8,8,2-g9-path28.m", "64S12-8,8,2-g9-path40.m", "64S12-8,8,2-g9-path2.m", "64S12-8,8,2-g9-path4.m", "64S12-8,8,2-g9-path45.m", "64S12-8,8,2-g9-path33.m", "64S12-8,8,2-g9-path41.m", "64S12-8,8,2-g9-path34.m", "64S12-8,8,2-g9-path13.m", "64S12-8,8,2-g9-path38.m", "64S12-8,8,2-g9-path27.m", "64S12-8,8,2-g9-path9.m", "64S12-8,8,2-g9-path32.m", "64S12-8,8,2-g9-path15.m", "64S12-8,8,2-g9-path42.m", "64S12-8,8,2-g9-path29.m", "64S12-8,8,2-g9-path3.m", "64S12-8,8,2-g9-path16.m" ];
s`Name := "64S12-8,8,2-g9";
s`Passport := [ PowerSequence(PermutationGroup<64 |  
\[ 2, 8, 4, 15, 10, 1, 20, 18, 7, 22, 3, 13, 33, 16, 29, 24, 12, 5, 38, 21, 28, 6, 26, 11, 9, 27, 45, 19, 14, 31, 50, 34, 37, 36, 30, 17, 32, 25, 44, 23, 40, 56, 42, 41, 39, 43, 48, 58, 51, 54, 53, 47, 35, 49, 60, 57, 59, 64, 55, 46, 62, 63, 52, 61 ],
\[ 3, 9, 12, 6, 14, 20, 1, 24, 26, 28, 2, 30, 11, 32, 36, 18, 4, 38, 5, 40, 22, 15, 7, 33, 8, 43, 25, 44, 10, 47, 17, 49, 53, 29, 13, 50, 16, 45, 19, 56, 21, 23, 48, 59, 60, 27, 42, 35, 61, 63, 37, 31, 58, 34, 39, 52, 41, 46, 62, 64, 55, 54, 57, 51 ],
\[ 4, 7, 13, 1, 16, 21, 2, 11, 27, 19, 8, 31, 3, 34, 17, 5, 15, 25, 10, 23, 6, 29, 20, 37, 18, 42, 9, 41, 22, 48, 12, 51, 35, 14, 33, 54, 24, 39, 38, 57, 28, 26, 58, 55, 46, 45, 56, 30, 62, 52, 32, 50, 64, 36, 44, 47, 40, 43, 63, 61, 60, 49, 59, 53 ]:
 Order := 64 >) |
[ PermutationGroup<64 |  
\[ 2, 8, 4, 15, 10, 1, 20, 18, 7, 22, 3, 13, 33, 16, 29, 24, 12, 5, 38, 21, 28, 6, 26, 11, 9, 27, 45, 19, 14, 31, 50, 34, 37, 36, 30, 17, 32, 25, 44, 23, 40, 56, 42, 41, 39, 43, 48, 58, 51, 54, 53, 47, 35, 49, 60, 57, 59, 64, 55, 46, 62, 63, 52, 61 ],
\[ 3, 9, 12, 6, 14, 20, 1, 24, 26, 28, 2, 30, 11, 32, 36, 18, 4, 38, 5, 40, 22, 15, 7, 33, 8, 43, 25, 44, 10, 47, 17, 49, 53, 29, 13, 50, 16, 45, 19, 56, 21, 23, 48, 59, 60, 27, 42, 35, 61, 63, 37, 31, 58, 34, 39, 52, 41, 46, 62, 64, 55, 54, 57, 51 ],
\[ 4, 7, 13, 1, 16, 21, 2, 11, 27, 19, 8, 31, 3, 34, 17, 5, 15, 25, 10, 23, 6, 29, 20, 37, 18, 42, 9, 41, 22, 48, 12, 51, 35, 14, 33, 54, 24, 39, 38, 57, 28, 26, 58, 55, 46, 45, 56, 30, 62, 52, 32, 50, 64, 36, 44, 47, 40, 43, 63, 61, 60, 49, 59, 53 ]:
 Order := 64 > |
[ 2, 8, 4, 15, 10, 1, 20, 18, 7, 22, 3, 13, 33, 16, 29, 24, 12, 5, 38, 21, 28, 6, 26, 11, 9, 27, 45, 19, 14, 31, 50, 34, 37, 36, 30, 17, 32, 25, 44, 23, 40, 56, 42, 41, 39, 43, 48, 58, 51, 54, 53, 47, 35, 49, 60, 57, 59, 64, 55, 46, 62, 63, 52, 61 ],
[ 3, 9, 12, 6, 14, 20, 1, 24, 26, 28, 2, 30, 11, 32, 36, 18, 4, 38, 5, 40, 22, 15, 7, 33, 8, 43, 25, 44, 10, 47, 17, 49, 53, 29, 13, 50, 16, 45, 19, 56, 21, 23, 48, 59, 60, 27, 42, 35, 61, 63, 37, 31, 58, 34, 39, 52, 41, 46, 62, 64, 55, 54, 57, 51 ],
[ 4, 7, 13, 1, 16, 21, 2, 11, 27, 19, 8, 31, 3, 34, 17, 5, 15, 25, 10, 23, 6, 29, 20, 37, 18, 42, 9, 41, 22, 48, 12, 51, 35, 14, 33, 54, 24, 39, 38, 57, 28, 26, 58, 55, 46, 45, 56, 30, 62, 52, 32, 50, 64, 36, 44, 47, 40, 43, 63, 61, 60, 49, 59, 53 ]
]
];

/*
Return for eval
*/

return s;
bn.m · 3732 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash)
swh:1:cnt:635af0d46647ab5114500cdc8627eb5507475e56;origin=https://github.com/YijunYuan/Magma;path=/package/Group/GrpMat/CompTree/GrpMat/exceptional/suzuki/magma/bn.m
Open in SWH · Raw bytes (SWH)
Reviews (2 LLM)
Ground truth · how?
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-30
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-30
Magma
Show source
/******************************************************************************
 *
 *    bn.m      BN-pair code for Suzuki groups
 *
 *    File      : $HeadURL:: https://subversion.sfac.auckland.ac.nz/svn/prj_#$:
 *    Author    : Henrik B��rnhielm
 *    Dev start : 2007-11-26
 *
 *    Version   : $Revision:: 1605                                           $:
 *    Date      : $Date:: 2008-12-15 20:05:48 +1100 (Mon, 15 Dec 2008)       $:
 *    Last edit : $Author:: jbaa004                                          $:
 *
 *    $Id:: bn.m 1605 2008-12-15 09:05:48Z jbaa004                         $:
 *
 *****************************************************************************/

freeze;
 
/*****************************************************************************/
/* DECLARATIONS                                                              */
/*****************************************************************************/

declare verbose SuzukiBN, 10;

declare attributes GrpMat : SuzukiBNData;

// Information about Suzuki maximal subgroups
SuzukiBNInfo := recformat<
    BNGroups : SeqEnum,
    slps : SeqEnum>;

/*****************************************************************************/
/* MAIN INTRINSICS                                                           */
/*****************************************************************************/

function SuzukiStandardBNpair(G)

    F := CoefficientRing(G);
    m := (Degree(F) - 1) div 2;
    _, gens := SuzukiStandardGeneratorsNaturalRep(m);
    q := #F;
    
    // Borel
    B := sub<Generic(G) | gens[2], gens[3]>;
    B`Order := q^2 * (q - 1);
    
    // Torus
    T := sub<Generic(G) | gens[2]>;
    T`Order := q - 1;
    
    // Monomial (torus-normaliser)
    N := sub<Generic(G) | gens[1], gens[2]>;
    N`Order := 2 * (q - 1);
    
    // Weyl 
    W := sub<Generic(G) | gens[1]>;
    W`Order := 2;
    
    // Unipotent
    U := sub<Generic(G) | [gens[3]^(gens[2]^i) : i in [1 .. Degree(F)]]>;
    U`Order := q^2;
    
    assert assigned G`RandomProcess;
    groups := [B, N, U, T, W];
    slps := [[slp where _, slp is
	SuzukiStandardConstructiveMembership(G, g : CheckInput := false,
	Randomiser := G`RandomProcess) :
	g in UserGenerators(H)] : H in groups];

    return groups, slps;
end function;

intrinsic SuzukiBNpair(G :: GrpMat) -> [], []
    { If G has been constructively recognised as a Suzuki group,
    return B,N,U,T,W of G.

    Also returns lists of SLPs of the generators of the subgroups, in
    the generators of G. }
    local maximals, slps;
    
    if not assigned G`SuzukiReductionData then
	error "G must be a recognised Suzuki group";
    end if;

    if assigned G`SuzukiBNData then
	return G`SuzukiBNData`BNGroups, G`SuzukiBNData`slps;
    end if;

    assert assigned G`SuzukiReductionData`stdCopy;
    if not assigned G`SuzukiReductionData`stdCopy`SuzukiBNData then
	vprint SuzukiBN, 1:
	    "Construct BN groups of standard copy";
	
	bnGroups, slps :=
	    SuzukiStandardBNpair(G`SuzukiReductionData`stdCopy);
	G`SuzukiReductionData`stdCopy`SuzukiBNData :=
	    rec<SuzukiBNInfo |
	    BNGroups := bnGroups, slps := slps>;
    end if;

    // Use explicit isomorphism to obtain maximals in input copy
    bnGroups := [sub<Generic(G) | G`SuzukiReductionData`slpHomo(slps)> :
	slps in G`SuzukiReductionData`stdCopy`SuzukiBNData`slps];

    // Take orders from standard copies
    for i in [1 .. #bnGroups] do
	bnGroups[i]`Order :=
	    G`SuzukiReductionData`stdCopy`SuzukiBNData`BNGroups[i]`Order;
    end for;
    
    G`SuzukiBNData := rec<SuzukiBNInfo |
	BNGroups := bnGroups,
	slps := G`SuzukiReductionData`stdCopy`SuzukiBNData`slps>;

    return G`SuzukiBNData`BNGroups, G`SuzukiBNData`slps;
end intrinsic;
64S20-4,4,8-g13-path35.m · 13632 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash; human:mathieu-acher)
swh:1:cnt:d8237cb4dbbcfc48a203f0035d9b68631e3ecadb;origin=https://github.com/michaelmusty/SolvableDessins;path=/SolvableDB/64/64S20-4,4,8-g13-path35.m
Open in SWH · Raw bytes (SWH)
Reviews (1 human, 2 LLM)
Ground truth · how?
👤 mathieu-acher → pl/magma (low) 2026-10-01
sounds Magma (there is a comment along this line in the source code)
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-29
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-29
Magma
Show source
s := SolvableDBInitialize();

/*
Magma printing
*/

s`SolvableDBName := "64S20-4,4,8-g13-path35";
s`SolvableDBFilename := "64S20-4,4,8-g13-path35.m";
s`SolvableDBPassportName := "64S20-4,4,8-g13";
s`SolvableDBPathNumber := 35;
s`SolvableDBDegree := 64;
s`SolvableDBOrders := \[ 4, 4, 8 ];
s`SolvableDBType := "Hyperbolic";
s`SolvableDBGenus := 13;
s`SolvableDBGaloisOrbitSize := 1;
s`SolvableDBPassportSize := 2;
s`SolvableDBPointedPassportSize := 2;
s`SolvableDBLevel := 6;
s`SolvableDBBlocks := {@ PowerSet(IntegerRing()) |
{ IntegerRing() | 1, 5 },
{ IntegerRing() | 2, 12 },
{ IntegerRing() | 3, 18 },
{ IntegerRing() | 4, 24 },
{ IntegerRing() | 6, 22 },
{ IntegerRing() | 7, 11 },
{ IntegerRing() | 8, 15 },
{ IntegerRing() | 9, 39 },
{ IntegerRing() | 10, 45 },
{ IntegerRing() | 13, 38 },
{ IntegerRing() | 14, 42 },
{ IntegerRing() | 16, 49 },
{ IntegerRing() | 17, 59 },
{ IntegerRing() | 19, 41 },
{ IntegerRing() | 20, 26 },
{ IntegerRing() | 21, 51 },
{ IntegerRing() | 23, 62 },
{ IntegerRing() | 25, 50 },
{ IntegerRing() | 27, 52 },
{ IntegerRing() | 28, 40 },
{ IntegerRing() | 29, 46 },
{ IntegerRing() | 30, 47 },
{ IntegerRing() | 31, 34 },
{ IntegerRing() | 32, 48 },
{ IntegerRing() | 33, 37 },
{ IntegerRing() | 35, 56 },
{ IntegerRing() | 36, 53 },
{ IntegerRing() | 43, 57 },
{ IntegerRing() | 44, 60 },
{ IntegerRing() | 54, 58 },
{ IntegerRing() | 55, 63 },
{ IntegerRing() | 61, 64 }
@};
s`SolvableDBIsRamifiedAtEveryLevel := false;
s`SolvableDBGaloisOrbit := [ PowerSequence(PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 >) |
[ PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 > |
[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]
]
];
s`SolvableDBPassport := [ PowerSequence(PermutationGroup<64 |  
\[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
\[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
\[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]:
 Order := 64 >) |
[ PermutationGroup<64 |  
\[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
\[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
\[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]:
 Order := 64 > |
[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
[ 35, 54, 27, 7, 56, 44, 38, 42, 17, 3, 13, 58, 28, 19, 14, 55, 1, 52, 29, 36, 48, 60, 26, 11, 47, 53, 37, 24, 15, 51, 16, 50, 45, 49, 9, 43, 10, 40, 59, 4, 46, 41, 62, 2, 18, 8, 21, 25, 63, 30, 32, 33, 57, 6, 64, 39, 23, 22, 5, 12, 34, 20, 61, 31 ],
[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]
],
[ PermutationGroup<64 |  
\[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
\[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
\[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]:
 Order := 64 > |
[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ]
]
];
s`SolvableDBPointedPassport := [ PowerSequence(PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 >) |
[ PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 > |
[ 46, 15, 62, 17, 29, 19, 60, 20, 42, 31, 44, 8, 56, 16, 26, 25, 10, 23, 57, 47, 5, 41, 40, 59, 39, 30, 55, 54, 64, 2, 4, 6, 53, 24, 27, 11, 36, 35, 14, 58, 43, 49, 48, 37, 34, 61, 12, 22, 50, 9, 1, 63, 7, 3, 38, 52, 32, 18, 45, 33, 51, 28, 13, 21 ],
[ 59, 60, 45, 28, 17, 58, 24, 29, 56, 33, 4, 44, 7, 8, 46, 34, 39, 10, 42, 23, 30, 54, 43, 40, 32, 62, 18, 38, 41, 25, 61, 21, 27, 64, 5, 26, 52, 11, 35, 13, 14, 15, 53, 22, 37, 19, 50, 51, 31, 48, 47, 3, 20, 12, 49, 1, 36, 2, 9, 6, 55, 57, 16, 63 ],
[ 48, 21, 22, 49, 32, 25, 43, 54, 47, 5, 57, 51, 64, 17, 58, 41, 11, 6, 60, 14, 34, 50, 27, 16, 63, 42, 39, 26, 35, 36, 18, 62, 2, 3, 28, 45, 12, 61, 30, 20, 44, 59, 29, 38, 1, 56, 53, 23, 19, 55, 31, 9, 10, 4, 33, 40, 46, 24, 7, 13, 15, 52, 37, 8 ]
],
[ PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 > |
[ 59, 60, 45, 28, 17, 58, 24, 29, 56, 33, 4, 44, 7, 8, 46, 34, 39, 10, 42, 23, 30, 54, 43, 40, 32, 62, 18, 38, 41, 25, 61, 21, 27, 64, 5, 26, 52, 11, 35, 13, 14, 15, 53, 22, 37, 19, 50, 51, 31, 48, 47, 3, 20, 12, 49, 1, 36, 2, 9, 6, 55, 57, 16, 63 ],
[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
[ 48, 21, 22, 49, 32, 25, 43, 54, 47, 5, 57, 51, 64, 17, 58, 41, 11, 6, 60, 14, 34, 50, 27, 16, 63, 42, 39, 26, 35, 36, 18, 62, 2, 3, 28, 45, 12, 61, 30, 20, 44, 59, 29, 38, 1, 56, 53, 23, 19, 55, 31, 9, 10, 4, 33, 40, 46, 24, 7, 13, 15, 52, 37, 8 ]
]
];
s`SolvableDBMonodromyGroup := PermutationGroup<64 |  
\[ 12, 39, 8, 51, 2, 5, 47, 37, 22, 14, 30, 9, 25, 27, 33, 20, 54, 15, 18, 64, 13, 1, 31, 21, 24, 61, 29, 32, 10, 28, 53, 11, 19, 36, 44, 63, 41, 50, 6, 48, 3, 52, 16, 17, 42, 45, 40, 7, 26, 4, 38, 46, 55, 35, 23, 60, 49, 56, 58, 59, 57, 34, 62, 43 ],
\[ 3, 10, 16, 22, 18, 27, 1, 34, 37, 43, 5, 45, 2, 53, 31, 7, 41, 49, 55, 24, 58, 52, 50, 6, 60, 4, 20, 39, 23, 17, 48, 35, 61, 32, 8, 21, 64, 12, 33, 9, 63, 36, 13, 29, 57, 62, 59, 56, 11, 44, 54, 26, 51, 14, 47, 15, 38, 42, 19, 46, 28, 25, 30, 40 ],
\[ 4, 11, 17, 23, 24, 28, 31, 1, 38, 44, 34, 7, 36, 2, 5, 10, 50, 59, 39, 3, 20, 40, 19, 62, 43, 18, 54, 63, 6, 49, 29, 61, 56, 46, 51, 8, 35, 53, 13, 55, 9, 12, 37, 32, 60, 22, 16, 64, 45, 57, 26, 58, 15, 30, 14, 21, 33, 47, 25, 48, 52, 41, 42, 27 ] >;
s`SolvableDBAutomorphismGroup := PermutationGroup<64 |  
\[ 22, 5, 52, 40, 6, 39, 4, 46, 12, 18, 24, 1, 11, 15, 29, 26, 58, 27, 14, 61, 32, 9, 55, 28, 30, 64, 33, 13, 19, 21, 23, 25, 10, 62, 60, 34, 45, 7, 2, 38, 42, 8, 49, 59, 3, 41, 51, 50, 20, 47, 48, 37, 31, 56, 53, 44, 16, 35, 54, 17, 43, 63, 36, 57 ],
\[ 64, 57, 40, 27, 61, 26, 37, 48, 16, 38, 33, 43, 45, 50, 32, 9, 55, 28, 30, 22, 46, 20, 54, 52, 42, 6, 4, 18, 51, 19, 35, 15, 11, 56, 31, 60, 7, 10, 49, 3, 47, 25, 12, 53, 13, 21, 41, 8, 39, 14, 29, 24, 44, 23, 17, 34, 2, 62, 63, 36, 5, 58, 59, 1 ],
\[ 52, 29, 26, 58, 27, 14, 22, 61, 45, 23, 6, 46, 44, 31, 64, 4, 18, 20, 16, 51, 35, 42, 47, 54, 17, 21, 53, 2, 55, 5, 40, 39, 43, 28, 33, 32, 57, 60, 10, 12, 49, 34, 50, 19, 62, 63, 1, 9, 24, 59, 56, 36, 48, 15, 7, 37, 25, 8, 3, 41, 13, 30, 11, 38 ]:
 Order := 64 >;
s`SolvableDBPointedAutomorphismGroup := PermutationGroup<64 |  
\[ 12, 39, 45, 7, 2, 5, 38, 42, 22, 33, 13, 9, 28, 19, 14, 57, 60, 10, 29, 49, 30, 1, 31, 11, 32, 16, 18, 24, 15, 25, 53, 21, 27, 36, 58, 63, 52, 40, 6, 4, 46, 41, 61, 56, 37, 8, 50, 51, 43, 48, 47, 3, 55, 59, 23, 54, 64, 17, 44, 35, 20, 34, 62, 26 ]:
 Order := 4 >;
s`SolvableDBPathToPP1 := [ Strings() | "PP1", "2T1-2,2,1-g0-path1", "4T2-2,2,2-g0-path3", "8T2-2,4,4-g1-path5", "16T10-2,4,4-g1-path3", "32S11-4,4,8-g7-path5", "64S20-4,4,8-g13-path35" ];
s`SolvableDBParents := [ Strings() | "128S8-8,4,8-g33-path278", "128S11-4,8,8-g33-path505", "128S10-8,8,8-g41-path1458", "128S35-8,4,8-g33-path51", "128S32-4,8,8-g33-path96", "128S31-8,8,8-g41-path96", "128S32-8,4,8-g33-path96", "128S27-4,8,8-g33-path183", "128S34-8,8,8-g41-path96", "128S17-8,4,8-g33-path213", "128S20-4,8,8-g33-path213", "128S23-8,8,8-g41-path582", "128S29-4,4,8-g25-path96", "128S26-4,4,8-g25-path96", "128S16-4,4,8-g25-path258" ];
s`SolvableDBChild := "32S11-4,4,8-g7-path5";

/*
Return for eval
*/

return s;
64S14-4,8,8-g17-path7-notcomputed.m · 10903 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash; human:mathieu-acher)
swh:1:cnt:f801588fbe7ccdb0cf4549c4097fe5bc8e135a24;origin=https://github.com/michaelmusty/SolvableDessins;path=/SolvableDB/64/64S14-4,8,8-g17-path7-notcomputed.m
Open in SWH · Raw bytes (SWH)
Reviews (1 human, 2 LLM)
Ground truth · how?
👤 mathieu-acher → pl/magma (medium) 2026-10-02
Magma code to compute solvable Belyi maps / dessins
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-29
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-29
Magma
Show source
s := SolvableDBInitialize();

/*
Magma printing
*/

s`SolvableDBName := "64S14-4,8,8-g17-path7-notcomputed";
s`SolvableDBFilename := "64S14-4,8,8-g17-path7-notcomputed.m";
s`SolvableDBPassportName := "64S14-4,8,8-g17";
s`SolvableDBPathNumber := 7;
s`SolvableDBDegree := 64;
s`SolvableDBOrders := \[ 4, 8, 8 ];
s`SolvableDBType := "Hyperbolic";
s`SolvableDBGenus := 17;
s`SolvableDBGaloisOrbitSize := 1;
s`SolvableDBPassportSize := 1;
s`SolvableDBPointedPassportSize := 1;
s`SolvableDBLevel := 6;
s`SolvableDBBlocks := {@ PowerSet(IntegerRing()) |
{ IntegerRing() | 1, 5 },
{ IntegerRing() | 2, 6 },
{ IntegerRing() | 3, 15 },
{ IntegerRing() | 4, 19 },
{ IntegerRing() | 7, 10 },
{ IntegerRing() | 8, 12 },
{ IntegerRing() | 9, 22 },
{ IntegerRing() | 11, 23 },
{ IntegerRing() | 13, 40 },
{ IntegerRing() | 14, 29 },
{ IntegerRing() | 16, 21 },
{ IntegerRing() | 17, 20 },
{ IntegerRing() | 18, 34 },
{ IntegerRing() | 24, 26 },
{ IntegerRing() | 25, 28 },
{ IntegerRing() | 27, 33 },
{ IntegerRing() | 30, 37 },
{ IntegerRing() | 31, 51 },
{ IntegerRing() | 32, 35 },
{ IntegerRing() | 36, 48 },
{ IntegerRing() | 38, 61 },
{ IntegerRing() | 39, 44 },
{ IntegerRing() | 41, 43 },
{ IntegerRing() | 42, 55 },
{ IntegerRing() | 45, 49 },
{ IntegerRing() | 46, 50 },
{ IntegerRing() | 47, 59 },
{ IntegerRing() | 52, 54 },
{ IntegerRing() | 53, 58 },
{ IntegerRing() | 56, 57 },
{ IntegerRing() | 60, 64 },
{ IntegerRing() | 62, 63 }
@};
s`SolvableDBIsRamifiedAtEveryLevel := true;
s`SolvableDBGaloisOrbit := [ PowerSequence(PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 >) |
[ PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 > |
[ 6, 1, 8, 20, 2, 5, 26, 15, 11, 24, 22, 3, 16, 32, 12, 40, 4, 48, 17, 19, 13, 23, 9, 7, 37, 10, 51, 30, 35, 25, 27, 29, 31, 36, 14, 18, 28, 41, 52, 21, 61, 56, 38, 54, 46, 49, 53, 34, 50, 45, 33, 44, 59, 39, 57, 55, 42, 47, 58, 62, 43, 64, 60, 63 ],
[ 3, 9, 13, 2, 15, 22, 1, 28, 31, 5, 34, 25, 38, 12, 40, 19, 45, 17, 6, 49, 4, 51, 18, 50, 24, 46, 7, 26, 8, 42, 57, 23, 10, 20, 11, 43, 55, 60, 21, 61, 29, 35, 14, 16, 54, 59, 36, 41, 52, 47, 56, 30, 27, 37, 32, 62, 63, 33, 48, 53, 64, 44, 39, 58 ],
[ 4, 10, 14, 18, 19, 7, 25, 1, 32, 28, 2, 5, 39, 42, 29, 3, 16, 47, 34, 21, 15, 35, 6, 33, 52, 27, 9, 54, 55, 8, 58, 43, 22, 59, 41, 11, 12, 36, 45, 44, 13, 31, 40, 49, 24, 17, 64, 23, 26, 20, 53, 63, 50, 62, 51, 30, 37, 46, 60, 57, 48, 38, 61, 56 ]
]
];
s`SolvableDBPassport := [ PowerSequence(PermutationGroup<64 |  
\[ 6, 1, 8, 20, 2, 5, 26, 15, 11, 24, 22, 3, 16, 32, 12, 40, 4, 48, 17, 19, 13, 23, 9, 7, 37, 10, 51, 30, 35, 25, 27, 29, 31, 36, 14, 18, 28, 41, 52, 21, 61, 56, 38, 54, 46, 49, 53, 34, 50, 45, 33, 44, 59, 39, 57, 55, 42, 47, 58, 62, 43, 64, 60, 63 ],
\[ 3, 9, 13, 2, 15, 22, 1, 28, 31, 5, 34, 25, 38, 12, 40, 19, 45, 17, 6, 49, 4, 51, 18, 50, 24, 46, 7, 26, 8, 42, 57, 23, 10, 20, 11, 43, 55, 60, 21, 61, 29, 35, 14, 16, 54, 59, 36, 41, 52, 47, 56, 30, 27, 37, 32, 62, 63, 33, 48, 53, 64, 44, 39, 58 ],
\[ 4, 10, 14, 18, 19, 7, 25, 1, 32, 28, 2, 5, 39, 42, 29, 3, 16, 47, 34, 21, 15, 35, 6, 33, 52, 27, 9, 54, 55, 8, 58, 43, 22, 59, 41, 11, 12, 36, 45, 44, 13, 31, 40, 49, 24, 17, 64, 23, 26, 20, 53, 63, 50, 62, 51, 30, 37, 46, 60, 57, 48, 38, 61, 56 ]:
 Order := 64 >) |
[ PermutationGroup<64 |  
\[ 6, 1, 8, 20, 2, 5, 26, 15, 11, 24, 22, 3, 16, 32, 12, 40, 4, 48, 17, 19, 13, 23, 9, 7, 37, 10, 51, 30, 35, 25, 27, 29, 31, 36, 14, 18, 28, 41, 52, 21, 61, 56, 38, 54, 46, 49, 53, 34, 50, 45, 33, 44, 59, 39, 57, 55, 42, 47, 58, 62, 43, 64, 60, 63 ],
\[ 3, 9, 13, 2, 15, 22, 1, 28, 31, 5, 34, 25, 38, 12, 40, 19, 45, 17, 6, 49, 4, 51, 18, 50, 24, 46, 7, 26, 8, 42, 57, 23, 10, 20, 11, 43, 55, 60, 21, 61, 29, 35, 14, 16, 54, 59, 36, 41, 52, 47, 56, 30, 27, 37, 32, 62, 63, 33, 48, 53, 64, 44, 39, 58 ],
\[ 4, 10, 14, 18, 19, 7, 25, 1, 32, 28, 2, 5, 39, 42, 29, 3, 16, 47, 34, 21, 15, 35, 6, 33, 52, 27, 9, 54, 55, 8, 58, 43, 22, 59, 41, 11, 12, 36, 45, 44, 13, 31, 40, 49, 24, 17, 64, 23, 26, 20, 53, 63, 50, 62, 51, 30, 37, 46, 60, 57, 48, 38, 61, 56 ]:
 Order := 64 > |
[ 25, 18, 4, 15, 28, 34, 9, 55, 10, 22, 41, 42, 14, 40, 19, 49, 47, 6, 3, 59, 45, 7, 43, 52, 5, 54, 50, 1, 13, 63, 32, 51, 46, 2, 31, 64, 62, 39, 61, 29, 23, 8, 11, 38, 16, 27, 20, 60, 21, 33, 35, 26, 57, 24, 12, 53, 58, 56, 17, 36, 44, 30, 37, 48 ],
[ 3, 9, 13, 2, 15, 22, 1, 28, 31, 5, 34, 25, 38, 12, 40, 19, 45, 17, 6, 49, 4, 51, 18, 50, 24, 46, 7, 26, 8, 42, 57, 23, 10, 20, 11, 43, 55, 60, 21, 61, 29, 35, 14, 16, 54, 59, 36, 41, 52, 47, 56, 30, 27, 37, 32, 62, 63, 33, 48, 53, 64, 44, 39, 58 ],
[ 8, 11, 16, 1, 12, 23, 6, 30, 27, 2, 36, 37, 41, 3, 21, 17, 46, 4, 5, 50, 20, 33, 48, 45, 7, 49, 26, 10, 15, 56, 42, 9, 24, 19, 22, 38, 57, 62, 13, 43, 35, 14, 32, 40, 39, 58, 18, 61, 44, 53, 55, 25, 51, 28, 29, 64, 60, 31, 34, 59, 63, 54, 52, 47 ]
]
];
s`SolvableDBPointedPassport := [ PowerSequence(PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 >) |
[ PermutationGroup<64 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 ]:
 Order := 126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000 > |
[ 21, 33, 43, 23, 16, 27, 12, 7, 55, 8, 4, 10, 63, 30, 41, 1, 44, 50, 11, 39, 5, 42, 19, 58, 49, 53, 2, 45, 37, 29, 64, 36, 6, 46, 48, 35, 14, 47, 17, 62, 3, 9, 15, 20, 25, 18, 61, 32, 28, 34, 60, 57, 24, 56, 22, 52, 54, 26, 38, 31, 59, 13, 40, 51 ],
[ 11, 12, 37, 46, 23, 8, 45, 16, 48, 49, 27, 21, 20, 22, 30, 41, 5, 38, 50, 1, 43, 36, 33, 2, 56, 6, 42, 57, 9, 10, 24, 3, 55, 61, 15, 19, 7, 32, 28, 17, 62, 60, 63, 25, 53, 39, 31, 4, 58, 44, 26, 13, 18, 40, 64, 14, 29, 34, 51, 52, 35, 59, 47, 54 ],
[ 8, 11, 16, 1, 12, 23, 6, 30, 27, 2, 36, 37, 41, 3, 21, 17, 46, 4, 5, 50, 20, 33, 48, 45, 7, 49, 26, 10, 15, 56, 42, 9, 24, 19, 22, 38, 57, 62, 13, 43, 35, 14, 32, 40, 39, 58, 18, 61, 44, 53, 55, 25, 51, 28, 29, 64, 60, 31, 34, 59, 63, 54, 52, 47 ]
]
];
s`SolvableDBMonodromyGroup := PermutationGroup<64 |  
\[ 6, 1, 8, 20, 2, 5, 26, 15, 11, 24, 22, 3, 16, 32, 12, 40, 4, 48, 17, 19, 13, 23, 9, 7, 37, 10, 51, 30, 35, 25, 27, 29, 31, 36, 14, 18, 28, 41, 52, 21, 61, 56, 38, 54, 46, 49, 53, 34, 50, 45, 33, 44, 59, 39, 57, 55, 42, 47, 58, 62, 43, 64, 60, 63 ],
\[ 3, 9, 13, 2, 15, 22, 1, 28, 31, 5, 34, 25, 38, 12, 40, 19, 45, 17, 6, 49, 4, 51, 18, 50, 24, 46, 7, 26, 8, 42, 57, 23, 10, 20, 11, 43, 55, 60, 21, 61, 29, 35, 14, 16, 54, 59, 36, 41, 52, 47, 56, 30, 27, 37, 32, 62, 63, 33, 48, 53, 64, 44, 39, 58 ],
\[ 4, 10, 14, 18, 19, 7, 25, 1, 32, 28, 2, 5, 39, 42, 29, 3, 16, 47, 34, 21, 15, 35, 6, 33, 52, 27, 9, 54, 55, 8, 58, 43, 22, 59, 41, 11, 12, 36, 45, 44, 13, 31, 40, 49, 24, 17, 64, 23, 26, 20, 53, 63, 50, 62, 51, 30, 37, 46, 60, 57, 48, 38, 61, 56 ] >;
s`SolvableDBAutomorphismGroup := PermutationGroup<64 |  
\[ 60, 63, 53, 57, 64, 62, 38, 59, 39, 61, 52, 47, 27, 50, 58, 51, 55, 37, 56, 42, 31, 44, 54, 43, 36, 41, 13, 48, 46, 34, 21, 45, 40, 30, 49, 25, 18, 7, 9, 33, 26, 20, 24, 22, 32, 29, 12, 28, 35, 14, 16, 11, 3, 23, 17, 19, 4, 15, 8, 1, 10, 6, 2, 5 ],
\[ 53, 47, 27, 50, 58, 59, 60, 51, 36, 64, 18, 31, 7, 9, 33, 26, 49, 20, 46, 45, 24, 48, 34, 63, 57, 62, 38, 56, 22, 55, 43, 11, 61, 17, 23, 4, 42, 1, 25, 10, 6, 32, 2, 28, 52, 44, 21, 19, 54, 39, 41, 37, 13, 30, 35, 29, 14, 40, 16, 3, 5, 8, 12, 15 ],
\[ 64, 62, 58, 56, 60, 63, 61, 47, 44, 38, 54, 59, 33, 46, 53, 31, 42, 30, 57, 55, 51, 39, 52, 41, 48, 43, 40, 36, 50, 18, 16, 49, 13, 37, 45, 28, 34, 10, 22, 27, 24, 17, 26, 9, 35, 14, 8, 25, 32, 29, 21, 23, 15, 11, 20, 4, 19, 3, 12, 5, 7, 2, 6, 1 ],
\[ 2, 5, 9, 10, 6, 1, 4, 11, 15, 19, 12, 23, 31, 32, 22, 27, 26, 28, 7, 24, 33, 3, 8, 17, 18, 20, 21, 34, 35, 36, 40, 29, 16, 25, 14, 37, 48, 57, 58, 51, 42, 43, 55, 53, 46, 49, 54, 30, 50, 45, 13, 47, 39, 59, 41, 38, 61, 44, 52, 63, 56, 60, 64, 62 ]:
 Order := 64 >;
s`SolvableDBPointedAutomorphismGroup := PermutationGroup<64 |  
\[ 6, 1, 22, 7, 2, 5, 19, 23, 3, 4, 8, 11, 51, 35, 9, 33, 24, 25, 10, 26, 27, 15, 12, 20, 34, 17, 16, 18, 32, 48, 13, 14, 21, 28, 29, 30, 36, 56, 53, 31, 55, 41, 42, 58, 50, 45, 52, 37, 46, 49, 40, 59, 44, 47, 43, 61, 38, 39, 54, 62, 57, 64, 60, 63 ]:
 Order := 4 >;
s`SolvableDBPathToPP1 := [ Strings() | "PP1", "2T1-1,2,2-g0-path1-computed", "4T2-2,2,2-g0-path1-notcomputed", "8T4-2,2,4-g0-path1-notcomputed", "16T10-2,4,4-g1-path4-notcomputed", "32S7-2,8,8-g5-path2-notcomputed", "64S14-4,8,8-g17-path7-notcomputed" ];
s`SolvableDBParents := [ Strings() | "128S98-4,16,16-g41-path9-notcomputed", "128S98-4,16,16-g41-path10-notcomputed", "128S98-4,16,16-g41-path11-notcomputed", "128S98-4,16,16-g41-path12-notcomputed", "128S4-4,8,8-g33-path11-notcomputed", "128S28-4,8,8-g33-path12-notcomputed", "128S4-4,8,8-g33-path12-notcomputed" ];
s`SolvableDBChild := "32S7-2,8,8-g5-path2-notcomputed";

/*
Return for eval
*/

return s;
128S124-8,8,8-g41-path194.m · 51843 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash; human:mathieu-acher)
swh:1:cnt:a1ae221c9341b106732dd98e1e2fd0c9534c9c50;origin=https://github.com/michaelmusty/SolvableDessins;path=/SolvableDB/128/128S124-8,8,8-g41-path194.m
Open in SWH · Raw bytes (SWH)
Reviews (1 human, 2 LLM)
Ground truth · how?
👤 mathieu-acher → pl/magma (medium) 2026-10-02
Magma code to compute solvable Belyi maps / dessins
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-29
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-29
Magma
Show source
s := SolvableDBInitialize();

/*
Magma printing
*/

s`SolvableDBName := "128S124-8,8,8-g41-path194";
s`SolvableDBFilename := "128S124-8,8,8-g41-path194.m";
s`SolvableDBPassportName := "128S124-8,8,8-g41";
s`SolvableDBPathNumber := 194;
s`SolvableDBDegree := 128;
s`SolvableDBOrders := \[ 8, 8, 8 ];
s`SolvableDBType := "Hyperbolic";
s`SolvableDBGenus := 41;
s`SolvableDBGaloisOrbitSize := 1;
s`SolvableDBPassportSize := 6;
s`SolvableDBPointedPassportSize := 6;
s`SolvableDBLevel := 7;
s`SolvableDBBlocks := {@ PowerSet(IntegerRing()) |
{ IntegerRing() | 1, 5 },
{ IntegerRing() | 2, 12 },
{ IntegerRing() | 3, 18 },
{ IntegerRing() | 4, 24 },
{ IntegerRing() | 6, 22 },
{ IntegerRing() | 7, 11 },
{ IntegerRing() | 8, 15 },
{ IntegerRing() | 9, 29 },
{ IntegerRing() | 10, 45 },
{ IntegerRing() | 13, 40 },
{ IntegerRing() | 14, 42 },
{ IntegerRing() | 16, 34 },
{ IntegerRing() | 17, 65 },
{ IntegerRing() | 19, 64 },
{ IntegerRing() | 20, 60 },
{ IntegerRing() | 21, 77 },
{ IntegerRing() | 23, 38 },
{ IntegerRing() | 25, 73 },
{ IntegerRing() | 26, 76 },
{ IntegerRing() | 27, 78 },
{ IntegerRing() | 28, 79 },
{ IntegerRing() | 30, 80 },
{ IntegerRing() | 31, 48 },
{ IntegerRing() | 32, 49 },
{ IntegerRing() | 33, 50 },
{ IntegerRing() | 35, 57 },
{ IntegerRing() | 36, 58 },
{ IntegerRing() | 37, 59 },
{ IntegerRing() | 39, 90 },
{ IntegerRing() | 41, 91 },
{ IntegerRing() | 43, 54 },
{ IntegerRing() | 44, 75 },
{ IntegerRing() | 46, 107 },
{ IntegerRing() | 47, 83 },
{ IntegerRing() | 51, 103 },
{ IntegerRing() | 52, 93 },
{ IntegerRing() | 53, 104 },
{ IntegerRing() | 55, 61 },
{ IntegerRing() | 56, 81 },
{ IntegerRing() | 62, 99 },
{ IntegerRing() | 63, 116 },
{ IntegerRing() | 66, 87 },
{ IntegerRing() | 67, 119 },
{ IntegerRing() | 68, 100 },
{ IntegerRing() | 69, 108 },
{ IntegerRing() | 70, 89 },
{ IntegerRing() | 71, 74 },
{ IntegerRing() | 72, 92 },
{ IntegerRing() | 82, 86 },
{ IntegerRing() | 84, 114 },
{ IntegerRing() | 85, 121 },
{ IntegerRing() | 88, 101 },
{ IntegerRing() | 94, 98 },
{ IntegerRing() | 95, 111 },
{ IntegerRing() | 96, 110 },
{ IntegerRing() | 97, 112 },
{ IntegerRing() | 102, 126 },
{ IntegerRing() | 105, 106 },
{ IntegerRing() | 109, 118 },
{ IntegerRing() | 113, 117 },
{ IntegerRing() | 115, 122 },
{ IntegerRing() | 120, 123 },
{ IntegerRing() | 124, 125 },
{ IntegerRing() | 127, 128 }
@};
s`SolvableDBIsRamifiedAtEveryLevel := false;
s`SolvableDBGaloisOrbit := [ PowerSequence(PermutationGroup<128 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 ]:
 Order := 385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000 >) |
[ PermutationGroup<128 |  
\[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 1 ],
\[ 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128 ]:
 Order := 385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000 > |
[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
[ 3, 10, 16, 22, 18, 27, 1, 36, 39, 43, 5, 45, 2, 38, 58, 11, 64, 34, 67, 71, 75, 78, 73, 6, 81, 4, 26, 9, 90, 93, 95, 50, 97, 7, 83, 88, 8, 25, 70, 12, 32, 23, 40, 107, 54, 108, 94, 111, 33, 112, 114, 104, 116, 13, 62, 14, 47, 101, 15, 74, 99, 117, 30, 119, 19, 17, 66, 57, 21, 79, 124, 20, 56, 125, 46, 24, 44, 76, 29, 52, 42, 123, 98, 121, 122, 120, 65, 59, 28, 89, 49, 60, 53, 100, 126, 31, 41, 68, 113, 35, 37, 96, 84, 63, 86, 82, 69, 77, 61, 48, 102, 91, 118, 85, 51, 80, 109, 55, 87, 127, 115, 103, 128, 92, 72, 110, 106, 105 ],
[ 4, 11, 17, 23, 24, 28, 32, 1, 40, 44, 49, 7, 52, 2, 5, 61, 25, 65, 68, 3, 76, 79, 15, 38, 60, 57, 84, 58, 13, 6, 16, 14, 47, 55, 59, 30, 21, 8, 95, 93, 9, 12, 106, 50, 75, 109, 10, 34, 42, 83, 43, 41, 99, 105, 81, 48, 37, 80, 77, 18, 56, 90, 87, 100, 73, 89, 121, 74, 19, 92, 69, 63, 20, 108, 33, 35, 26, 114, 36, 22, 31, 78, 45, 88, 125, 27, 70, 82, 72, 111, 29, 116, 91, 110, 104, 107, 103, 96, 39, 71, 86, 127, 54, 62, 112, 97, 118, 64, 98, 46, 53, 51, 122, 101, 126, 66, 115, 94, 85, 119, 124, 102, 67, 120, 123, 128, 117, 113 ]
]
];
s`SolvableDBPassport := [ PowerSequence(PermutationGroup<128 |  
\[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
\[ 3, 10, 16, 22, 18, 27, 1, 36, 39, 43, 5, 45, 2, 38, 58, 11, 64, 34, 67, 71, 75, 78, 73, 6, 81, 4, 26, 9, 90, 93, 95, 50, 97, 7, 83, 88, 8, 25, 70, 12, 32, 23, 40, 107, 54, 108, 94, 111, 33, 112, 114, 104, 116, 13, 62, 14, 47, 101, 15, 74, 99, 117, 30, 119, 19, 17, 66, 57, 21, 79, 124, 20, 56, 125, 46, 24, 44, 76, 29, 52, 42, 123, 98, 121, 122, 120, 65, 59, 28, 89, 49, 60, 53, 100, 126, 31, 41, 68, 113, 35, 37, 96, 84, 63, 86, 82, 69, 77, 61, 48, 102, 91, 118, 85, 51, 80, 109, 55, 87, 127, 115, 103, 128, 92, 72, 110, 106, 105 ],
\[ 4, 11, 17, 23, 24, 28, 32, 1, 40, 44, 49, 7, 52, 2, 5, 61, 25, 65, 68, 3, 76, 79, 15, 38, 60, 57, 84, 58, 13, 6, 16, 14, 47, 55, 59, 30, 21, 8, 95, 93, 9, 12, 106, 50, 75, 109, 10, 34, 42, 83, 43, 41, 99, 105, 81, 48, 37, 80, 77, 18, 56, 90, 87, 100, 73, 89, 121, 74, 19, 92, 69, 63, 20, 108, 33, 35, 26, 114, 36, 22, 31, 78, 45, 88, 125, 27, 70, 82, 72, 111, 29, 116, 91, 110, 104, 107, 103, 96, 39, 71, 86, 127, 54, 62, 112, 97, 118, 64, 98, 46, 53, 51, 122, 101, 126, 66, 115, 94, 85, 119, 124, 102, 67, 120, 123, 128, 117, 113 ]:
 Order := 128 >) |
[ PermutationGroup<128 |  
\[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
\[ 3, 10, 16, 22, 18, 27, 1, 36, 39, 43, 5, 45, 2, 38, 58, 11, 64, 34, 67, 71, 75, 78, 73, 6, 81, 4, 26, 9, 90, 93, 95, 50, 97, 7, 83, 88, 8, 25, 70, 12, 32, 23, 40, 107, 54, 108, 94, 111, 33, 112, 114, 104, 116, 13, 62, 14, 47, 101, 15, 74, 99, 117, 30, 119, 19, 17, 66, 57, 21, 79, 124, 20, 56, 125, 46, 24, 44, 76, 29, 52, 42, 123, 98, 121, 122, 120, 65, 59, 28, 89, 49, 60, 53, 100, 126, 31, 41, 68, 113, 35, 37, 96, 84, 63, 86, 82, 69, 77, 61, 48, 102, 91, 118, 85, 51, 80, 109, 55, 87, 127, 115, 103, 128, 92, 72, 110, 106, 105 ],
\[ 4, 11, 17, 23, 24, 28, 32, 1, 40, 44, 49, 7, 52, 2, 5, 61, 25, 65, 68, 3, 76, 79, 15, 38, 60, 57, 84, 58, 13, 6, 16, 14, 47, 55, 59, 30, 21, 8, 95, 93, 9, 12, 106, 50, 75, 109, 10, 34, 42, 83, 43, 41, 99, 105, 81, 48, 37, 80, 77, 18, 56, 90, 87, 100, 73, 89, 121, 74, 19, 92, 69, 63, 20, 108, 33, 35, 26, 114, 36, 22, 31, 78, 45, 88, 125, 27, 70, 82, 72, 111, 29, 116, 91, 110, 104, 107, 103, 96, 39, 71, 86, 127, 54, 62, 112, 97, 118, 64, 98, 46, 53, 51, 122, 101, 126, 66, 115, 94, 85, 119, 124, 102, 67, 120, 123, 128, 117, 113 ]:
 Order := 128 > |
[ 40, 79, 37, 108, 13, 11, 110, 68, 24, 56, 96, 28, 122, 109, 100, 72, 53, 59, 5, 90, 20, 7, 91, 69, 76, 105, 63, 67, 4, 125, 83, 80, 16, 92, 17, 14, 51, 41, 97, 115, 127, 118, 57, 88, 81, 12, 27, 47, 30, 34, 62, 15, 43, 35, 44, 87, 65, 42, 103, 39, 75, 18, 31, 1, 104, 82, 107, 117, 102, 61, 23, 114, 26, 38, 101, 106, 60, 116, 119, 124, 66, 10, 78, 33, 22, 45, 86, 70, 55, 112, 128, 84, 8, 49, 25, 85, 21, 32, 3, 113, 89, 29, 99, 54, 95, 111, 2, 126, 120, 121, 73, 77, 93, 50, 19, 48, 52, 123, 46, 58, 6, 64, 36, 94, 98, 9, 71, 74 ],
[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
[ 35, 55, 70, 2, 57, 92, 29, 49, 105, 76, 9, 61, 6, 93, 32, 94, 15, 89, 110, 24, 84, 72, 21, 12, 63, 71, 43, 1, 106, 23, 65, 31, 59, 98, 86, 66, 64, 77, 34, 22, 36, 52, 113, 42, 26, 122, 7, 17, 48, 37, 75, 51, 81, 117, 20, 107, 82, 87, 19, 4, 60, 40, 121, 96, 8, 95, 101, 3, 25, 123, 109, 99, 116, 118, 14, 74, 114, 54, 5, 38, 46, 28, 11, 80, 69, 79, 111, 112, 120, 16, 58, 62, 103, 127, 91, 33, 126, 128, 13, 18, 97, 67, 44, 56, 47, 83, 115, 73, 10, 50, 41, 102, 124, 30, 53, 85, 125, 45, 88, 68, 108, 104, 100, 78, 27, 119, 39, 90 ]
],
[ PermutationGroup<128 |  
\[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
\[ 3, 10, 16, 22, 18, 27, 1, 36, 39, 43, 5, 45, 2, 38, 58, 11, 64, 34, 67, 71, 75, 78, 73, 6, 81, 4, 26, 9, 90, 93, 95, 50, 97, 7, 83, 88, 8, 25, 70, 12, 32, 23, 40, 107, 54, 108, 94, 111, 33, 112, 114, 104, 116, 13, 62, 14, 47, 101, 15, 74, 99, 117, 30, 119, 19, 17, 66, 57, 21, 79, 124, 20, 56, 125, 46, 24, 44, 76, 29, 52, 42, 123, 98, 121, 122, 120, 65, 59, 28, 89, 49, 60, 53, 100, 126, 31, 41, 68, 113, 35, 37, 96, 84, 63, 86, 82, 69, 77, 61, 48, 102, 91, 118, 85, 51, 80, 109, 55, 87, 127, 115, 103, 128, 92, 72, 110, 106, 105 ],
\[ 4, 11, 17, 23, 24, 28, 32, 1, 40, 44, 49, 7, 52, 2, 5, 61, 25, 65, 68, 3, 76, 79, 15, 38, 60, 57, 84, 58, 13, 6, 16, 14, 47, 55, 59, 30, 21, 8, 95, 93, 9, 12, 106, 50, 75, 109, 10, 34, 42, 83, 43, 41, 99, 105, 81, 48, 37, 80, 77, 18, 56, 90, 87, 100, 73, 89, 121, 74, 19, 92, 69, 63, 20, 108, 33, 35, 26, 114, 36, 22, 31, 78, 45, 88, 125, 27, 70, 82, 72, 111, 29, 116, 91, 110, 104, 107, 103, 96, 39, 71, 86, 127, 54, 62, 112, 97, 118, 64, 98, 46, 53, 51, 122, 101, 126, 66, 115, 94, 85, 119, 124, 102, 67, 120, 123, 128, 117, 113 ]:
 Order := 128 > |
[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
[ 40, 79, 37, 108, 13, 11, 110, 68, 24, 56, 96, 28, 122, 109, 100, 72, 53, 59, 5, 90, 20, 7, 91, 69, 76, 105, 63, 67, 4, 125, 83, 80, 16, 92, 17, 14, 51, 41, 97, 115, 127, 118, 57, 88, 81, 12, 27, 47, 30, 34, 62, 15, 43, 35, 44, 87, 65, 42, 103, 39, 75, 18, 31, 1, 104, 82, 107, 117, 102, 61, 23, 114, 26, 38, 101, 106, 60, 116, 119, 124, 66, 10, 78, 33, 22, 45, 86, 70, 55, 112, 128, 84, 8, 49, 25, 85, 21, 32, 3, 113, 89, 29, 99, 54, 95, 111, 2, 126, 120, 121, 73, 77, 93, 50, 19, 48, 52, 123, 46, 58, 6, 64, 36, 94, 98, 9, 71, 74 ],
[ 85, 19, 122, 111, 121, 126, 114, 99, 46, 67, 84, 64, 65, 82, 62, 103, 45, 115, 43, 33, 9, 102, 120, 95, 128, 48, 110, 75, 107, 47, 6, 74, 124, 51, 52, 113, 61, 123, 108, 17, 60, 86, 66, 90, 119, 70, 53, 22, 71, 125, 1, 98, 100, 87, 58, 106, 93, 117, 55, 50, 36, 101, 57, 54, 10, 12, 40, 30, 28, 77, 97, 49, 127, 112, 39, 31, 29, 96, 44, 83, 105, 25, 104, 18, 16, 73, 2, 118, 21, 69, 20, 32, 94, 116, 27, 24, 92, 63, 88, 80, 109, 76, 5, 68, 23, 38, 89, 79, 8, 4, 78, 72, 59, 3, 7, 35, 37, 15, 13, 56, 34, 11, 81, 41, 91, 26, 14, 42 ]
],
[ PermutationGroup<128 |  
\[ 12, 29, 8, 77, 2, 5, 48, 57, 6, 14, 31, 9, 103, 61, 35, 20, 116, 15, 18, 89, 71, 1, 49, 21, 24, 86, 30, 66, 22, 72, 98, 52, 11, 60, 64, 38, 114, 32, 41, 51, 106, 55, 47, 59, 42, 45, 26, 94, 93, 7, 117, 58, 40, 83, 107, 65, 19, 23, 84, 70, 46, 34, 95, 3, 63, 123, 69, 109, 96, 99, 73, 85, 4, 25, 37, 82, 74, 80, 87, 92, 17, 43, 76, 97, 78, 54, 120, 79, 62, 91, 105, 121, 36, 33, 81, 122, 75, 50, 16, 118, 28, 90, 113, 13, 126, 102, 10, 110, 127, 115, 56, 44, 53, 112, 67, 111, 104, 128, 108, 101, 27, 119, 88, 100, 68, 39, 124, 125 ],
\[ 3, 10, 16, 22, 18, 27, 1, 36, 39, 43, 5, 45, 2, 38, 58, 11, 64, 34, 67, 71, 75, 78, 73, 6, 81, 4, 26, 9, 90, 93, 95, 50, 97, 7, 83, 88, 8, 25, 70, 12, 32, 23, 40, 107, 54, 108, 94, 111, 33, 112, 114, 104, 116, 13, 62, 14, 47, 101, 15, 74, 99, 117, 30, 119, 19, 17, 66, 57, 21, 79, 124, 20, 56, 125, 46, 24, 44, 76, 29, 52, 42, 123, 98, 121, 122, 120, 65, 59, 28, 89, 49, 60, 53, 100, 126, 31, 41, 68, 113, 35, 37, 96, 84, 63, 86, 82, 69, 77, 61, 48, 102, 91, 118, 85, 51, 80, 109, 55, 87, 127
…(truncated)…
Implementation-Benchmarks.m · 2069 B · ext .m · SWH occurrences unknown
via swh_study:m (judge:claude-sonnet-4.6; judge:gemini-3.8-flash)
swh:1:cnt:934af0884fc175e89cabfcce5fba6534693eba1d;origin=https://github.com/JRSijsling/quartic_reconstruction;path=/verifications/Implementation-Benchmarks.m
Open in SWH · Raw bytes (SWH)
Reviews (2 LLM)
Ground truth · how?
🤖 anthropic-claude-sonnet-4.6 m-judge/1 → pl/magma (high) 2026-09-30
Magma computer algebra system
🤖 google-gemini-3.8-flash m-judge/1 → pl/magma (high) 2026-09-30
Magma
Show source
/***
 *  Produces benchmarks
 *
 *  Distributed under the terms of the GNU Lesser General Public License (L-GPL)
 *                  http://www.gnu.org/licenses/
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU Lesser General Public License as published by
 *  the Free Software Foundation; either version 2.1 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 *  Copyright 2016 R. Lercier, C. Ritzenthaler & J.R. Sijsling
 */

AttachSpec("../package/spec");
AttachSpec("../g3twists_v2-0/spec");
filename := "Implementation-Benchmarks.dat";

n_max := 4;
exp_max := 4;
N := 2^6;

Fs := [* *];
Fs cat:= [*
GF(p, exp) : exp in [1] cat [ 25*n : n in [1..n_max] ], p in [19, 31, 41]
*];
Fs cat:= [*
GF(NextPrime(10^(50*N)), exp) : exp in [1..exp_max] cat [10], N in [1..4]
*];

for F in Fs do
    print "Proceeding to field", F;
    Write(filename, F);
    Domain := F;
    R<x,y,z> := PolynomialRing(F, 3);
    Mons := MonomialsOfDegree(R, 4);
    TotalTimeRec := 0;
    n := 0;
    while n ne N do
        f := &+[ Random(Domain)*Mons[i] : i in [1..#Mons] ];
        I, WI := DixmierOhnoInvariants(f);
        Time := Cputime();
        g := TernaryQuarticFromDixmierOhnoInvariants(I);
        delta := Cputime(Time);
        J, WJ := DixmierOhnoInvariants(g);
        if WPSNormalize(WI, I) eq WPSNormalize(WJ, J) then
            n +:= 1;
            TotalTimeRec +:= delta;
        else
            print F;
            print f;
        end if;
    end while;
    Write(filename, TotalTimeRec/N);
end for;

exit;

Programs collected by LLM agents experimental · unverified

Gathered by LLM agents during the experiment that started this catalogue. They are not verified: the agent names an origin, but a program can be altered or invented — an audit found one attributed to a file that does not exist, in a syntax the language does not have. Prefer the programs archived by Software Heritage above. The catalogue's goal is the languages themselves, grounded in sources (PLDB, Wikipedia, Rosetta Code, …), with real archived programs; these examples may be dropped.

Fibonacci Matrix Exponentiation

Provenance: commit 78097b496e · authored 2026-02-05T23:23:10+01:00 · agent claude-code · model sonnet · WebSearch disabled
code.m · added: 2026-02-05T22:22:28Z
// Compute Fibonacci numbers using matrix exponentiation
// This demonstrates Magma's matrix operations

function FibonacciMatrix(n)
    if n eq 0 then
        return 0;
    elif n eq 1 then
        return 1;
    end if;

    M := MatrixRing(IntegerRing(), 2);
    F := M![1, 1, 1, 0];

    result := F^(n-1);
    return result[1,1];
end function;

// Compute first 15 Fibonacci numbers
printf "First 15 Fibonacci numbers:\n";
for i := 0 to 14 do
    printf "%o ", FibonacciMatrix(i);
end for;
printf "\n";

Contribute — propose a file extension

Tell us where to find evidence about Magma (mapped to pl/magma). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/Magma/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← magit magma2 →