Macaulay2 / Macaulay2/M2

maps between GaloisFields

Open
#2,143 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

When trying to create a map between two moderately large GaloisFields, we get the following behavior.

```
i14 : map(GF(101^12), GF(101^2))

11 10 9 8 7 6 5 4 3 2
o14 = map (GF 1126825030131969720661201, GF 10201, {30a + a - 28a + 39a + 18a - 26a + 28a + 48a + 9a - 9a + 10a + 32})

o14 : RingMap GF 1126825030131969720661201 <--- GF 10201

i15 : map(GF(101^14), GF(101^2))
stdio:15:1:(3): error: no method found for applying substitute to:
argument 1 : null (of class Nothing)
ZZ
argument 2 : ---[a] (of class PolynomialRing)
101
```

In particular, when the target field gets too big, it crashes. I tried messing around with the SizeLimit option, but that either doesn't help, or causes M2 itself to crash.

I haven't tried to figure out what is breaking yet.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the two map commands shown in the issue, especially the GF(101^14) to GF(101^2) case, and inspect where the substitute operation receives null. Done means the larger-field map is created successfully without the reported error or a crash; the issue names no source files or tests to guide further investigation.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.