Last active
July 11, 2023 16:51
-
-
Save ravachol70/421039e013ea02bc515f6596c7b1f084 to your computer and use it in GitHub Desktop.
Noetherian Rings in Solidity
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| pragma solidity ^0.8.0; | |
| interface INoetherianRing { | |
| function isNoetherian() external returns (bool); | |
| function groebner(bytes calldata _polynomialIdeal) external returns (bytes memory); | |
| function hilbertSeries() external returns (bytes memory); | |
| function primaryDecomposition(bytes calldata _polynomialIdeal) external returns (bytes memory); | |
| function minpoly(bytes calldata _algebraicElement) external returns (bytes memory); | |
| function quo(bytes calldata _polynomialIdeal) external returns (address); | |
| function radical(bytes calldata _polynomialIdeal) external returns (bytes memory); | |
| function saturation(bytes calldata _polynomialIdeal) external returns (bytes memory); | |
| function spectrum() external returns (bytes memory); | |
| function syzygies(bytes calldata _polynomialIdeal) external returns (bytes memory); | |
| } | |
| contract NoetherianRing is INoetherianRing { | |
| function isNoetherian() external override returns (bool) { | |
| // implementation | |
| } | |
| function groebner(bytes calldata _polynomialIdeal) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function hilbertSeries() external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function primaryDecomposition(bytes calldata _polynomialIdeal) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function minpoly(bytes calldata _algebraicElement) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function quo(bytes calldata _polynomialIdeal) external override returns (address) { | |
| // implementation | |
| } | |
| function radical(bytes calldata _polynomialIdeal) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function saturation(bytes calldata _polynomialIdeal) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function spectrum() external override returns (bytes memory) { | |
| // implementation | |
| } | |
| function syzygies(bytes calldata _polynomialIdeal) external override returns (bytes memory) { | |
| // implementation | |
| } | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
se qualificando interpretatur

https://gist.github.com/ravachol70/7a74920077c14c3f0efe42591325565f