Frobenius powers
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
This operation on ideals is not well defined, i.e., equal ideals don't provide equal results.
We should make it mathematically sensible.
```
Ideal ^ Array := (I, e) -> (
R := ring I;
n := numgens R;
-- Error if input is not correct.
if any(e, i -> i < 0) then error "Expected nonnegative exponents.";
if #e != 1 and n != #e then error "Expected single integer array, or array with length equal to the number of variables.";
-- if only one element, then make vector the same as the length of
-- the number of variables with the same number in each entry
if #e == 1 then e = new Array from n:(e_0);
-- build a ring homomorphism that will perform this substitution for us
phi := map(R,R,matrix {apply(numgens R, i -> (R_i)^(e_i))});
-- apply the ring homomorphism and create the new ideal
ideal phi generators I
)
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Ideal ^ Array operation described in the issue and review the proposed input checks and substitution behavior. Done means the operation is mathematically well defined: equal ideals produce equal results, while the stated exponent validation remains correct.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100