︠2721833c-6600-4389-9af0-94ed090aa4eds︠ #Ejercicio 1 F7=GF(7) ︡aab978a0-2152-43d5-897c-99b206345bb3︡{"done":true} ︠5699c0d9-f519-466e-9139-a85d1351b8f8s︠ F7 ︡e8102380-fb85-44c5-a86e-46a2efde9deb︡{"stdout":"Finite Field of size 7\n"}︡{"done":true} ︠5fa7fb94-5f5b-4396-b7fa-e85f8529bcads︠ F7.list() ︡b0d02342-6650-433b-973d-930e8db97cf7︡{"stdout":"[0, 1, 2, 3, 4, 5, 6]\n"}︡{"done":true} ︠d423bd90-739f-4026-ac9d-cbf565f59bdcs︠ [x for x in F7] ︡3c383371-5e42-4543-9cbb-593a4a3d0072︡{"stdout":"[0, 1, 2, 3, 4, 5, 6]\n"}︡{"done":true} ︠89778162-3caa-4925-aea4-68c0af742519s︠ F9=GF(9,'a') ︡27c7639e-bf88-4513-ace9-9ce17d94a594︡{"done":true} ︠d46f6c7d-1a20-4f98-bf3f-f3ee985aa169s︠ F9 ︡8de54242-4182-488b-b99a-0573849222c9︡{"stdout":"Finite Field in z2 of size 3^2\n"}︡{"done":true}︡ ︠8699de1f-877c-4c8b-8c9e-373842baae7b︠ ︡ee0cceec-f643-4d28-9e20-d16bedcf3605︡ ︠5861e534-f877-409c-9a7f-aede3c5ec0efs︠ L=F9.list() L ︡5689abbb-1b16-4ae0-a2b8-111d9095ef49︡{"stdout":"[0, a, a + 1, 2*a + 1, 2, 2*a, 2*a + 2, a + 2, 1]\n"}︡{"done":true} ︠aa4035b9-02ce-4e3e-a302-6d3f2f319915s︠ R.=PolynomialRing(GF(3)) F3=GF(3) ︡d556f6da-0dfb-45b7-a1c8-621753794e04︡{"done":true} ︠3fa4fbad-54ff-4108-b922-44d9599ebeefs︠ R F3 ︡7d81fcca-f03e-4a19-99c9-8a4715fcc9d6︡{"stdout":"Univariate Polynomial Ring in x over Finite Field of size 3\n"}︡{"stdout":"Finite Field of size 3\n"}︡{"done":true} ︠6774c2aa-3103-4577-adcf-183bf174e970s︠ for b in F3: for c in F3: f=x^2+b*x+c if f.is_irreducible(): print(f) ︡bdfb8e17-c20c-43b5-9e72-97eb16703109︡{"stdout":"x^2 + 1\nx^2 + x + 2\nx^2 + 2*x + 2\n"}︡{"done":true} ︠bfdf743c-a8a7-4697-a67a-b0afaff17a6ds︠ a=L[1] ︡023647e9-9870-43cd-a506-5305f54054d7︡{"done":true} ︠56d0ea61-07db-4662-bc28-86e3c222a164s︠ a^2 ︡5e335530-2d3b-46db-8831-256d58fafeb0︡{"stdout":"a + 1\n"}︡{"done":true} ︠cfa035be-a00f-4073-8e4a-083a0d2e4eefs︠ a.multiplicative_order() ︡03954b38-bda6-4486-b255-d4c0ad34b768︡{"stdout":"8\n"}︡{"done":true} ︠7fbc6cf7-004c-433d-8932-7a5ca6a64cfds︠ a^2+2*a+2 ︡fa143663-588d-4f92-b668-4bfc6e5ba011︡{"stdout":"0\n"}︡{"done":true} ︠255b9e3c-3e84-4765-aea4-70d9a649cf37s︠ R.=PolynomialRing(GF(3)) ︡d0241be8-2658-42cb-bd0d-6d9827e6f3fd︡{"done":true} ︠edc06f13-57cc-4115-83aa-237861375648s︠ F9bis.=GF(3^2,modulus=x^2+1) ︡2511932e-e44d-4d01-825e-c821ffbc4a73︡{"done":true} ︠87800117-e5e4-47bd-bd4c-9f1f226387cds︠ F9bis ︡bc2a32be-0f9d-433e-abcc-6e53d9c34e38︡{"stdout":"Finite Field in alfa of size 3^2\n"}︡{"done":true} ︠abf6ce4e-e35c-44af-a0ac-54a8f3c831bas︠ alfa^2+1 ︡6a72b659-88f9-440d-bdd7-e104a3cea54c︡{"stdout":"0\n"}︡{"done":true} ︠1307e0b7-094c-45ec-9e88-38b9f8071f29s︠ alfa.multiplicative_order() ︡29798b87-53c5-42fc-901f-2270e9a4f1b6︡{"stdout":"4\n"}︡{"done":true} ︠572f94a0-906a-4628-9337-089902612419︠ F9*=[a^i for i in range(8)] ︡eab85ca1-d4f5-4043-b453-229804da2712︡{"stdout":"[1, a, a + 1, 2*a + 1, 2, 2*a, 2*a + 2, a + 2]\n"}︡{"done":true} ︠5bd0e01b-a6e2-4b84-9631-a17ee580da94s︠ [alfa^i for i in range(8)] ︡0c976d43-becd-4de7-b309-654bc9116833︡{"stdout":"[1, alfa, 2, 2*alfa, 1, alfa, 2, 2*alfa]\n"}︡{"done":true} ︠64c17140-d1c4-4a15-b878-862c769d143fs︠ F9bis.list() ︡76c16f37-77ce-454e-b937-00992800ae3e︡{"stdout":"[0, alfa + 2, alfa, 2*alfa + 2, 2, 2*alfa + 1, 2*alfa, alfa + 1, 1]\n"}︡{"done":true} ︠5df747a0-b118-44c3-8de3-c1992b04106es︠ [[x,x.multiplicative_order()] for x in F9bis if x!=0] ︡125b0d14-aa86-4a88-9bbc-ecd6864ed1ce︡{"stdout":"[[alfa + 2, 8], [alfa, 4], [2*alfa + 2, 8], [2, 2], [2*alfa + 1, 8], [2*alfa, 4], [alfa + 1, 8], [1, 1]]\n"}︡{"done":true} ︠f4f90f9c-3c16-4a1f-ad85-611e6da1a6c0s︠ [(alfa+1)^i for i in range(8)] ︡76d8302b-9fd7-467d-919f-06f81e4c1e2a︡{"stdout":"[1, alfa + 1, 2*alfa, 2*alfa + 1, 2, 2*alfa + 2, alfa, alfa + 2]\n"}︡{"done":true} ︠3c3f6630-14b6-4dc6-a67e-a993f6ffaed5s︠ F2=GF(2) ︡a6e4a3b0-db68-489b-9895-1c9c32c9efda︡{"done":true} ︠f1be7fa9-7516-4000-b0fc-506741535ec9s︠ R.=PolynomialRing(GF(2)) ︡97a9fc5f-22e5-4bdc-871c-d9ac1cef7cb2︡{"done":true} ︠16ddbc3e-d9c7-4d6a-984b-97e8ebd0b74es︠ f=x^4+x+1 ︡6842fa8f-5edf-40d8-85bc-762af4479795︡{"done":true} ︠969e2b4f-86c3-4ed6-9ffd-f377b4837a77s︠ f.is_irreducible() ︡559ff147-61c1-4e07-8245-f82e02e916f2︡{"stdout":"True\n"}︡{"done":true} ︠d3480c3e-9990-4338-b6f1-7d864a5aafeds︠ for b in F2: for c in F2: for d in F2: for e in F2: f=x^4+e*x^3+d*x^2+b*x+c if f.is_irreducible(): print(f) ︡e8dd9b11-1f53-4ef7-bf08-3910254588d9︡{"stdout":"x^4 + x^3 + 1\nx^4 + x + 1\nx^4 + x^3 + x^2 + x + 1\n"}︡{"done":true} ︠7de052b2-b94d-4c67-8440-dfcc5a3321ces︠ F7=GF(7) ︡a1217e04-e100-489e-8223-b007a03537c6︡{"done":true} ︠2dddb127-8e6c-4638-a65a-ce5cd9db4bb5s︠ 3.multiplicative_order() ︡c30d63e4-e609-4e69-8689-96fa5031452e︡{"stdout":"+Infinity\n"}︡{"done":true} ︠484865c0-16c2-4a55-806c-3855539f1cf8s︠ F7(3).multiplicative_order() ︡a5c029e6-2d14-484d-9a7c-5201e301df4b︡{"stdout":"6"}︡{"stdout":"\n"}︡{"done":true} ︠06f0501d-98e9-417b-9476-1f575d394a22s︠ 4+6 ︡b08646a0-ee7f-4ebf-928e-3f54cf9700b0︡{"stdout":"10\n"}︡{"done":true} ︠d7094c26-2b99-4eb4-8af5-83ab7c68b9b2s︠ F7(4)+F7(6) ︡23c05e6c-4a04-4096-9d95-7372251f8fb6︡{"stdout":"3\n"}︡{"done":true} ︠ac24c1a7-9f56-4944-b242-130f072d0f72s︠ R.=PolynomialRing(GF(3)) ︡08215151-899e-4ead-96ee-1bb183cb170f︡{"done":true} ︠67383568-11e9-464b-b030-7baed738ccd1s︠ f=x^3+x^2+2*x+1 ︡cb0303a7-a519-413a-abca-66fadb0fa07b︡{"done":true} ︠062fc2bb-a224-4f32-a4ba-0fab3348816cs︠ f.is_irreducible() ︡8686ac19-9047-4e8b-bc40-b443c3daa960︡{"stdout":"True\n"}︡{"done":true} ︠6e1ef941-83e3-4ffb-ae1a-e0520e8d46d5s︠ F27.=GF(3^3,modulus=x^3+x^2+2*x+1) ︡33428f17-23dd-48fc-bded-4c76f19534ad︡{"done":true} ︠7230b4cd-9da7-42ff-9df3-b64ccacd96c2s︠ a.multiplicative_order() ︡d518c89b-93c6-49c3-a126-082793ea5d52︡{"stdout":"26\n"}︡{"done":true} ︠2595a4d7-fd02-483d-a3aa-e48e3efb6c63s︠ S=[a,a^3,a^9] ︡ded5de66-1d1f-4569-82a7-f6d55a32bc7d︡{"done":true} ︠4b4b6237-662c-4a55-b80d-728d6dcd0a06s︠ M=Matrix(GF(3),[[(x*y).trace() for y in S] for x in S]) M ︡d3334f6c-7b53-459d-941e-7a04b75f160e︡{"stdout":"[0 2 2]\n[2 0 2]\n[2 2 0]\n"}︡{"done":true} ︠ea4caff9-b9d7-4811-9f71-71156ddc1211s︠ M.det() ︡50655729-b51b-439f-b581-7897de941397︡{"stdout":"1"}︡{"stdout":"\n"}︡{"done":true} ︠584d282c-a6b0-44ed-bbd4-372ff333fb94s︠ F27.list() ︡08d1548b-d618-4762-995c-dc663013c532︡{"stdout":"[0, a, a^2, 2*a^2 + a + 2, 2*a^2 + a + 1, 2*a^2 + 1, a^2 + 1, 2*a^2 + 2*a + 2, a + 1, a^2 + a, a + 2, a^2 + 2*a, a^2 + a + 2, 2, 2*a, 2*a^2, a^2 + 2*a + 1, a^2 + 2*a + 2, a^2 + 2, 2*a^2 + 2, a^2 + a + 1, 2*a + 2, 2*a^2 + 2*a, 2*a + 1, 2*a^2 + a, 2*a^2 + 2*a + 1, 1]\n"}︡{"done":true} ︠1ca297ca-99f4-45f5-9bfc-9b786d54eb7bs︠ b=2*a^2 + a + 1 ︡5fbdc8db-a7ba-4410-8ba1-e0479ee8ef59︡{"done":true} ︠8c138481-0c87-4cc8-a9d1-4d7d39b87627s︠ b.multiplicative_order() ︡8f428fc5-95a3-4ca9-8276-434b1521c300︡{"stdout":"13\n"}︡{"done":true} ︠0ea86dc7-21f1-4a24-98ae-66af4d0a6097s︠ S=[b, b^3,b^9] S ︡37449db5-3a1d-424a-8550-bad1aa34d0c8︡{"stdout":"[2*a^2 + a + 1, a^2 + a + 2, a + 2]\n"}︡{"done":true} ︠4de1513d-081d-4290-8aac-47e0742dbaf6s︠ M=Matrix(GF(3),[[(x*y).trace() for y in S] for x in S]) M ︡377ee39d-bb69-4294-ad1f-42775a4650a1︡{"stdout":"[2 1 1]\n[1 2 1]\n[1 1 2]\n"}︡{"done":true} ︠ab8043fa-e52d-40d7-9dc8-224c51de53b7s︠ M.det() ︡10cc6175-39aa-4825-9589-0c434c86e474︡{"stdout":"1\n"}︡{"done":true} ︠72c0bf45-a8d7-4043-8d47-e4ac40ab9131s︠ bases_normales = [] for t in F27: if t == 0: continue S = [t, t^3, t^9] # Matriz de trazas para chequear independencia M = Matrix(GF(3), [[(x*y).trace() for y in S] for x in S]) if M.det() != 0: # verificamos si ya existe esta base (sin importar el orden) if not any(set(S) == set(b) for b in bases_normales): bases_normales.append(S) # Mostramos todas las bases normales for i, base in enumerate(bases_normales, 1): print(f"Base normal {i}: {base}") #print("Cantidad de bases normales distintas:", len(bases_normales)) ︡773ddf57-ec4a-4c16-a779-0c3fa9c5169d︡{"stdout":"Base normal 1: [a, 2*a^2 + a + 2, a^2 + a]\nBase normal 2: [2*a^2 + a + 1, a^2 + a + 2, a + 2]\nBase normal 3: [2*a^2 + 2*a + 2, 2*a + 2, a^2 + 2*a]\nBase normal 4: [a + 1, 2*a^2 + a, a^2 + a + 1]\nBase normal 5: [2*a, a^2 + 2*a + 1, 2*a^2 + 2*a]\nBase normal 6: [a^2 + 2*a + 2, 2*a^2 + 2*a + 1, 2*a + 1]\n"}︡{"done":true} ︠f7f3c000-eb0b-45e8-83b5-94a478161800︠