-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added file: AbstractSimplicialComplexes.m2 #3547
Conversation
This package gives a way to work with simplicial complexes implemented as graded lists. It complements the existing M2 package SimplicialComplexes.m2.
I went ahead and fixed it for you, but for future reference, pull requests should target the |
Dear Doug,
OK. Many thanks. I’ll try to remember this for future pull-requests. Do let me know if there are additional issues with any of this.
Best,
Nathan
… On Oct 27, 2024, at 9:36 PM, Doug Torrance ***@***.***> wrote:
I went ahead and fixed it for you, but for future reference, pull requests should target the development branch.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JEXUDXIVAR4NDUSX5DZ5WBIJAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBQGI3DENRRGI>.
You are receiving this because you authored the thread.
|
You're welcome! A couple other issues:
|
OK. Many thanks for making me aware of this as well. Are you able to fix those for me on your end as well? This will be very helpful. I’ll keep these items in mind for future pull-requests.
Best,
Nathan
… On Oct 27, 2024, at 10:03 PM, Doug Torrance ***@***.***> wrote:
You're welcome!
A couple other issues:
AbstractSimplicialComplexes should be added to the file M2/Macaulay2/packages/=distributed-packages
There are some conflicts in SpectralSequences between your branch and the development branch
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JEHMKHQJKKMQIZD7NTZ5WEOXAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBQGI4DCMZWGY>.
You are receiving this because you authored the thread.
|
I'm not sure if I'm familiar enough with the code to be of much help... Here's the big conflict:
This looks like it's running into the complexes revamp that @mikestillman has been working on. The top part is the part of the code that was changed in #3479 , and the bottom part is your new updates. |
There were also a bunch of examples changed in #3479, which is causing a conflict with the documentation, as well. |
Perhaps it's worthwhile mentioning, that both the new package/file AbstractSimplicialComplexes.m2 and the SpectralSequences.m2 "forward compatible" update install and run correctly on Macaulay2, version 1.24.05. |
There are references to Also, I noticed all the tests start like: TEST ///
restart;
needsPackage "SpectralSequences";
... The |
Yes. These tests all run OK but test, the restart should be removed! |
Did you want me to update the SpectralSequences.m2 to remove the "restart" from the test and issue a new pull request, or is this something that you can do on your end? Do let me know. |
Yes, you should remove the restarts, resolve the conflicts with the development branch, fix the issue with missing "SpectralSequence2.m2" files. Doug also requested a few changes above for AbstractSimplicialComplexes that should be implemented. You don't need to make a new pull request, just implement the changes, commit the changes, and push them to your fork. They will be added here. |
Hi,
Yes, I can do this. How do I resolve the conflicts with the development branch? There is no SpectralSequence2.m2 files as we merged that into the existing SpectralSequence.m2 file. Finally, how do I locate the development branch to fork to; or can I simply use the repo I issued the pull-request from? Thanks.
Best,
Nathan
… On Oct 28, 2024, at 10:12 PM, Mahrud Sayrafi ***@***.***> wrote:
Yes, you should remove the restarts, resolve the conflicts with the development branch, fix the issue with missing "SpectralSequence2.m2" files. Doug also requested a few changes above for AbstractSimplicialComplexes that should be implemented.
You don't need to make a new pull request, just implement the changes, commit the changes, and push them to your fork. They will be added here.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JHCC62S6MQ6FV7DMA3Z53HIBAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHE3DIOJXHA>.
You are receiving this because you authored the thread.
|
The new pull request that you made looks good. Here, I think you should remove SpectralSequences and leave this PR to be just about AbstractSimplicialComplexes. |
Hi,
OK. I’ll make those changes in the very near future as well.
Best,
Nathan
… On Oct 29, 2024, at 7:49 AM, Mahrud Sayrafi ***@***.***> wrote:
The new pull request that you made looks good. Here, I think you should remove SpectralSequences and leave this PR to be just about AbstractSimplicialComplexes.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JFZ5BKZJE2726GZXELZ55R5HAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBTHA3TKMRRGE>.
You are receiving this because you authored the thread.
|
Hi, AbstrastSimplicialComplexes is good to go now (unless there are other comments); I updated SpectralSequences again so that I have the same file on my fork (but this is now on the development branch now so its fine there as well). |
This branch still has a conflict with There are a number of ways to do that, but one way would be:
|
Also, a line containing the package name should be added to |
Hi,
Many thanks for your follow-up with this.
Unfortunately, I don’t have git set-up with command line and so I’m just using the web app. Are you able to fix this on your end, or can I do this online? If you’d like, we can cancel the existing pull-request and I can make a new one.
Just let me know what’s easiest.
Best,
Nathan
… On Oct 29, 2024, at 8:46 AM, Doug Torrance ***@***.***> wrote:
Also, a line containing the package name should be added to M2/Macaulay2/packages/=distributed-packages.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JD7CQF4NNBJPQUFKQDZ55YTFAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBTHE4DQMZUGI>.
You are receiving this because you authored the thread.
|
Ah, ok. You should be able to edit I guess the easiest way to restore SpectralSequences.m2 using the web interface would just be to copy/paste it from its current state on the development branch: |
OK. I’ll try this. Let’s see if it resolves this issue.
Again, the current version of the SpectralSequence package is what is there now. But so long as it is in the correct place now that is fine. Let me try this “copy paste” solution now.
Best,
Nathan
… On Oct 29, 2024, at 8:59 AM, Doug Torrance ***@***.***> wrote:
Ah, ok. You should be able to edit M2/Macaulay2/packages/=distributed-packages using the GitHub web interface just like you edited the .m2 files, so that's not a problem.
I guess the easiest way to restore SpectralSequences.m2 using the web interface would just be to copy/paste it from its current state on the development branch:
https://raw.githubusercontent.com/Macaulay2/M2/refs/heads/development/M2/Macaulay2/packages/SpectralSequences.m2
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JHKN67HHW64HOPRDRTZ552BPAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBUGAYTENJVGE>.
You are receiving this because you authored the thread.
|
Now, it says that my branch is 7 commits ahead which will make new pull requests difficult but I don’t expect any new requests in the near future (aside perhaps from updating existing ones). Many thanks for your help with this. Let me know if there is anything else.
Best,
Nathan
… On Oct 29, 2024, at 9:01 AM, Nathan Grieve ***@***.***> wrote:
OK. I’ll try this. Let’s see if it resolves this issue.
Again, the current version of the SpectralSequence package is what is there now. But so long as it is in the correct place now that is fine. Let me try this “copy paste” solution now.
Best,
Nathan
> On Oct 29, 2024, at 8:59 AM, Doug Torrance ***@***.***> wrote:
>
>
> Ah, ok. You should be able to edit M2/Macaulay2/packages/=distributed-packages using the GitHub web interface just like you edited the .m2 files, so that's not a problem.
>
> I guess the easiest way to restore SpectralSequences.m2 using the web interface would just be to copy/paste it from its current state on the development branch:
>
> https://raw.githubusercontent.com/Macaulay2/M2/refs/heads/development/M2/Macaulay2/packages/SpectralSequences.m2
>
> —
> Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JHKN67HHW64HOPRDRTZ552BPAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBUGAYTENJVGE>.
> You are receiving this because you authored the thread.
>
|
SpectralSequences.m2 is still showing some changes (although there are no more conflicts). I'll go ahead and remove those commits for you using the command line -- the git history will be cleaner that way without a bunch of SpectralSequences commits that are eventually reverted. M2/Macaulay2/packages/=distributed-packages still needs to be updated to add the line |
fixed Lint / codespell errors.
Added key words
On the development branch, the Polyhedra package is now one of the preloaded packages, which is causing the conflict. You can probably reproduce the error on your system by running: needsPackage "Polyhedra"
needsPackage "AbstractSimplicialComplexes" |
I see. This makes sense. So this method needs to overload the existing method, or I can simply rename it in the meantime? Renaming probably would be most sensible (to avoid other conflicts).
Best,
Nathan
… On Oct 29, 2024, at 7:06 PM, Doug Torrance ***@***.***> wrote:
On the development branch, the Polyhedra package is now one of the preloaded packages, which is causing the conflict. You can probably reproduce the error on your system by running:
needsPackage "Polyhedra"
needsPackage "AbstractSimplicialComplexes"
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JDBU6ECDFMMS3MOFUTZ6ABGLAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBVGQYTKOBYGQ>.
You are receiving this because you authored the thread.
|
renamed "facets" to "abstractSimplicialComplexesFacets" to avoid key space naming conflicts (and to avoiding overloading facets for now).
I’ve renamed “facets” to “abstractSimplicialComplexesFacets” for now; not ideal but this should fix the problem for now. I’ve committed those changes to my repo. I trust that this will also update automatically elsewhere?
Best,
Nathan
… On Oct 29, 2024, at 7:14 PM, Nathan Grieve ***@***.***> wrote:
I see. This makes sense. So this method needs to overload the existing method, or I can simply rename it in the meantime? Renaming probably would be most sensible (to avoid other conflicts).
Best,
Nathan
> On Oct 29, 2024, at 7:06 PM, Doug Torrance ***@***.***> wrote:
>
>
> On the development branch, the Polyhedra package is now one of the preloaded packages, which is causing the conflict. You can probably reproduce the error on your system by running:
>
> needsPackage "Polyhedra"
> needsPackage "AbstractSimplicialComplexes"
> —
> Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JDBU6ECDFMMS3MOFUTZ6ABGLAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBVGQYTKOBYGQ>.
> You are receiving this because you authored the thread.
>
|
fixed the "codespell" issue again.
Yes, that should work |
Sounds great. Let’s see if the build fails!
Best,
Nathan
… On Oct 29, 2024, at 7:36 PM, Doug Torrance ***@***.***> wrote:
Yes, that should work
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JFLGAVUFZ6GTAR4M6LZ6AEXFAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBVGQ2TCNRXGY>.
You are receiving this because you authored the thread.
|
The builds all worked! Thanks! |
This is great!
Best,
Nathan
… On Oct 30, 2024, at 12:37 AM, Doug Torrance ***@***.***> wrote:
The builds all worked! Thanks!
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JCU5AOEVP7NGPIUO53Z6BIAJAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBVG43DGMRRGQ>.
You are receiving this because you authored the thread.
|
I noticed a comment in the code:
Why do you say that? I generally think having specialized method names makes it harder for people to learn how to use the package (e.g. if one package uses If you don't mind, can I change This is called "idiomatic programming" and is generally considered a good practice. |
Hi,
Again, the reason is to keep the package self contained until everything becomes more stable. This avoids conflicts with items that may be “mutable” in projects that are under development. My experience with this says that this is the right way to go.
Best,
Nathan
… On Oct 30, 2024, at 7:09 AM, Mahrud Sayrafi ***@***.***> wrote:
I noticed a comment in the code:
we could overload "==" here but it seems better not to overload too many things that are external to the package
Why do you say that? I generally think having specialized method names makes it harder for people to learn how to use the package (e.g. if one package uses areEqual, another uses isEqual, another equality, another just ==, etc.)
If you don't mind, can I change abstractSimplicialComplexFacets back to facets, dimAbstractSimplicialComplex to dim, and areEqual to just ==?
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JGEX6UUL7AR6Q7UQ4LZ6CV6BAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGQZTCMJYGM>.
You are receiving this because you authored the thread.
|
|
Hi,
Yes, the idea is to have the package independent of Polyhedra. Perhaps == can be overloaded in due time but for now it’s fine to keep it how it is. Perhaps also the package could eventually become integrated with Polyhedra but that is something that can be looked into a bit further in due time perhaps.
Best,
Nathan
… On Oct 30, 2024, at 7:54 AM, Mahrud Sayrafi ***@***.***> wrote:
dim and == are quite stable and have been for as long as I know. facets is defined in Polyhedra and hasn't changed in years either. The only change is that Polyhedra is now preloaded, so the only change needed in your package was to delete facets = method() because Polyhedra already does that.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JCBIHENECQAVYDMBU3Z6C3HRAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGU2TQMJYGU>.
You are receiving this because you authored the thread.
|
Sure, if you prefer things the way they are that's fine, though I think there's a misunderstanding because using method name i4 : about facets
o4 = {0 => FourierMotzkin :: Finding the facets of the cyclic polytope}
{1 => FourierMotzkin :: Finding the facets of the permutahedron }
{2 => Polyhedra :: facets }
{3 => Polyhedra :: facets(Cone) }
{4 => Polyhedra :: facets(Polyhedron) }
{5 => SimplicialComplexes :: facets(SimplicialComplex) }
{6 => SRdeformations :: facets }
{7 => SRdeformations :: facets(Complex) }
{8 => SRdeformations :: facets(List) } Similarly, tons of packages use i3 : about dim
o3 = {0 => CellularResolutions :: dim(Cell) }
{1 => CellularResolutions :: dim(CellComplex) }
{2 => Chordal :: dim(ChordalNet) }
{3 => Chordal :: dim(ChordalNetChain) }
{4 => CodingTheory :: dim(LinearCode) }
{5 => CoincidentRootLoci :: dim(CoincidentRootLocus) }
{6 => GradedLieAlgebras :: dim(List,ExtAlgebra) }
{7 => GradedLieAlgebras :: dim(List,LieAlgebra) }
{8 => GradedLieAlgebras :: dim(List,VectorSpace) }
{9 => GradedLieAlgebras :: dim(ZZ,ExtAlgebra) }
{10 => GradedLieAlgebras :: dim(ZZ,LieAlgebra) }
{11 => GradedLieAlgebras :: dim(ZZ,VectorSpace) }
{12 => GradedLieAlgebras :: dim(ZZ,ZZ,ExtAlgebra) }
{13 => GradedLieAlgebras :: dim(ZZ,ZZ,LieAlgebra) }
{14 => GradedLieAlgebras :: dim(ZZ,ZZ,VectorSpace) }
{15 => InvariantRing :: dim(GroupAction) }
{16 => KustinMiller :: dim(Face) }
{17 => LieTypes :: dim(LieAlgebra) }
{18 => LieTypes :: dim(LieAlgebraModule) }
{19 => LocalRings :: dim(LocalRing) }
{20 => Macaulay2Doc :: dim }
{21 => Macaulay2Doc :: dim(FractionField) }
{22 => Macaulay2Doc :: dim(GaloisField) }
{23 => Macaulay2Doc :: dim(Ideal) }
{24 => Macaulay2Doc :: dim(InexactField) }
{25 => Macaulay2Doc :: dim(Module) }
{26 => Macaulay2Doc :: dim(MonomialIdeal) }
{27 => Macaulay2Doc :: dim(PolynomialRing) }
{28 => Macaulay2Doc :: dim(ProjectiveHilbertPolynomial) }
{29 => Macaulay2Doc :: dim(QuotientRing) }
{30 => Macaulay2Doc :: dim(Ring) }
{31 => MultiprojectiveVarieties :: dim(MultiprojectiveVariety)}
{32 => NAGtypes :: dim(Ambient) }
{33 => NAGtypes :: dim(DualSpace) }
{34 => NAGtypes :: dim(NumericalVariety) }
{35 => NAGtypes :: dim(PolySpace) }
{36 => NAGtypes :: dim(SlicingVariety) }
{37 => NAGtypes :: dim(WitnessSet) }
{38 => NAGtypes :: dim(WSet) }
{39 => NormalToricVarieties :: dim(NormalToricVariety) }
{40 => OldPolyhedra :: dim(Cone) }
{41 => OldPolyhedra :: dim(Fan) }
{42 => OldPolyhedra :: dim(PolyhedralComplex) }
{43 => OldPolyhedra :: dim(Polyhedron) }
{44 => Polyhedra :: dim(PolyhedralObject) }
{45 => Schubert2 :: dim(AbstractVariety) }
{46 => Schubert2 :: dim(AbstractVarietyMap) }
{47 => SchurRings :: dim(List,SchurRingElement) }
{48 => SchurRings :: dim(SchurRingElement) }
{49 => SchurRings :: dim(Thing,SchurRingElement) }
{50 => SimplicialComplexes :: dim(SimplicialComplex) }
{51 => SparseResultants :: dim(MultidimensionalMatrix) }
{52 => SRdeformations :: dim(Complex) }
{53 => SRdeformations :: dim(Face) }
{54 => SRdeformations :: dim(Face,Complex) }
{55 => SRdeformations :: dim(Face,PolynomialRing) }
{56 => SRdeformations :: dim(FirstOrderDeformation) }
{57 => TriangularSets :: dim(TriaSystem) }
{58 => Tropical :: dim(TropicalCycle) }
{59 => Varieties :: dim(AffineVariety) }
{60 => Varieties :: dim(ProjectiveVariety) } |
For future reference, I also want to point out the Package Writing Style Guide which states:
|
Hi,
There is no misunderstanding here. The point is that overloading methods in a package sometime requires adding additional options etc. (which is why the previous build didn’t work). It’s easy to overload things if needed but also OK not to. Again, it might be interesting to explore some integration with Polyhedra eventually but this is not something that has been done yet.
Best,
Nathan
… On Oct 30, 2024, at 8:09 AM, Mahrud Sayrafi ***@***.***> wrote:
Sure, if you prefer things the way they are that's fine, though I think there's a misunderstanding because using method name facets doesn't mean there's a dependence on Polyhedra, it's just a name.
i4 : about facets
o4 = {0 => FourierMotzkin :: Finding the facets of the cyclic polytope}
{1 => FourierMotzkin :: Finding the facets of the permutahedron }
{2 => Polyhedra :: facets }
{3 => Polyhedra :: facets(Cone) }
{4 => Polyhedra :: facets(Polyhedron) }
{5 => SimplicialComplexes :: facets(SimplicialComplex) }
{6 => SRdeformations :: facets }
{7 => SRdeformations :: facets(Complex) }
{8 => SRdeformations :: facets(List) }
Similarly, tons of packages use dim:
i3 : about dim
o3 = {0 => CellularResolutions :: dim(Cell) }
{1 => CellularResolutions :: dim(CellComplex) }
{2 => Chordal :: dim(ChordalNet) }
{3 => Chordal :: dim(ChordalNetChain) }
{4 => CodingTheory :: dim(LinearCode) }
{5 => CoincidentRootLoci :: dim(CoincidentRootLocus) }
{6 => GradedLieAlgebras :: dim(List,ExtAlgebra) }
{7 => GradedLieAlgebras :: dim(List,LieAlgebra) }
{8 => GradedLieAlgebras :: dim(List,VectorSpace) }
{9 => GradedLieAlgebras :: dim(ZZ,ExtAlgebra) }
{10 => GradedLieAlgebras :: dim(ZZ,LieAlgebra) }
{11 => GradedLieAlgebras :: dim(ZZ,VectorSpace) }
{12 => GradedLieAlgebras :: dim(ZZ,ZZ,ExtAlgebra) }
{13 => GradedLieAlgebras :: dim(ZZ,ZZ,LieAlgebra) }
{14 => GradedLieAlgebras :: dim(ZZ,ZZ,VectorSpace) }
{15 => InvariantRing :: dim(GroupAction) }
{16 => KustinMiller :: dim(Face) }
{17 => LieTypes :: dim(LieAlgebra) }
{18 => LieTypes :: dim(LieAlgebraModule) }
{19 => LocalRings :: dim(LocalRing) }
{20 => Macaulay2Doc :: dim }
{21 => Macaulay2Doc :: dim(FractionField) }
{22 => Macaulay2Doc :: dim(GaloisField) }
{23 => Macaulay2Doc :: dim(Ideal) }
{24 => Macaulay2Doc :: dim(InexactField) }
{25 => Macaulay2Doc :: dim(Module) }
{26 => Macaulay2Doc :: dim(MonomialIdeal) }
{27 => Macaulay2Doc :: dim(PolynomialRing) }
{28 => Macaulay2Doc :: dim(ProjectiveHilbertPolynomial) }
{29 => Macaulay2Doc :: dim(QuotientRing) }
{30 => Macaulay2Doc :: dim(Ring) }
{31 => MultiprojectiveVarieties :: dim(MultiprojectiveVariety)}
{32 => NAGtypes :: dim(Ambient) }
{33 => NAGtypes :: dim(DualSpace) }
{34 => NAGtypes :: dim(NumericalVariety) }
{35 => NAGtypes :: dim(PolySpace) }
{36 => NAGtypes :: dim(SlicingVariety) }
{37 => NAGtypes :: dim(WitnessSet) }
{38 => NAGtypes :: dim(WSet) }
{39 => NormalToricVarieties :: dim(NormalToricVariety) }
{40 => OldPolyhedra :: dim(Cone) }
{41 => OldPolyhedra :: dim(Fan) }
{42 => OldPolyhedra :: dim(PolyhedralComplex) }
{43 => OldPolyhedra :: dim(Polyhedron) }
{44 => Polyhedra :: dim(PolyhedralObject) }
{45 => Schubert2 :: dim(AbstractVariety) }
{46 => Schubert2 :: dim(AbstractVarietyMap) }
{47 => SchurRings :: dim(List,SchurRingElement) }
{48 => SchurRings :: dim(SchurRingElement) }
{49 => SchurRings :: dim(Thing,SchurRingElement) }
{50 => SimplicialComplexes :: dim(SimplicialComplex) }
{51 => SparseResultants :: dim(MultidimensionalMatrix) }
{52 => SRdeformations :: dim(Complex) }
{53 => SRdeformations :: dim(Face) }
{54 => SRdeformations :: dim(Face,Complex) }
{55 => SRdeformations :: dim(Face,PolynomialRing) }
{56 => SRdeformations :: dim(FirstOrderDeformation) }
{57 => TriangularSets :: dim(TriaSystem) }
{58 => Tropical :: dim(TropicalCycle) }
{59 => Varieties :: dim(AffineVariety) }
{60 => Varieties :: dim(ProjectiveVariety) }
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JHPRGPNMEVOPFNL5VTZ6C463AVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGYZTMMJRGY>.
You are receiving this because you authored the thread.
|
Thanks for this reminder! I will keep in mind for future reference; I don’t think that my naming conventions conflict/infringe too much with those conventions. Again, one has to be careful when overloading (so as too avoid undue confusion) as I’m sure you are aware.
Best,
Nathan
… On Oct 30, 2024, at 8:13 AM, Mahrud Sayrafi ***@***.***> wrote:
For future reference, I also want to point out the Package Writing Style Guide <https://github.com/Macaulay2/M2/wiki/Package-Writing-Style-Guide> which states:
Names representing methods [...] should not include the name of the type of object expected as argument, since the idea of such methods is that they are mathematical abstractions that act on a variety of types of mathematical object.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JGF2XSNK6XUHYMRFB3Z6C5MBAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWGY2TCMBQGY>.
You are receiving this because you authored the thread.
|
Again, I'm not suggesting any integration with Polyhedra whatsoever, and you're welcome to have your package as is, but I am not aware of issues with overloading these methods or any confusion that can be caused as a result. |
Perhaps FWIW, the (non-abstract) SimplicialComplexes package has Polyhedra in its |
We moved I believe SimplicialComplexes exports Polyhedra because they both use terms like |
Many thanks for these additional comments. Again, these are all reasons to keep this package mostly self contained (aside from using the Complexes package) at present. Perhaps these are all items that we can discuss offline (unless it’s still of interest to continuing discussing them here).
Best,
Nathan
… On Oct 30, 2024, at 8:47 AM, Mahrud Sayrafi ***@***.***> wrote:
We moved cone and rays to shared.m2 for the same reason, as well as isEmpty and isVeryAmple recently.
I believe SimplicialComplexes exports Polyhedra because they both use terms like skeleton, facets, vertices, etc., but it doesn't actually depend on Polyhedra or integrate with it in any way (at least as far as I can tell).
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JCJRIGGIABHTXBEZODZ6DBNLAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBWHAYDKNBQGM>.
You are receiving this because you authored the thread.
|
Yes, some changes definitely need to be made before the next release, for instance the keywords added should be chosen from existing keywords which are the headlines on this page: Keywords => {"Simplicial complexes", "Simplicial chain complexes", "Random simplicial complexes"} We can discuss the other issues on Zulip if you prefer, but the reasons you mentioned so far (e.g. optional argument conflicts or potential dependency on unstable package) don't apply to |
Sure. I am happy to make changes as required to have everything approved. Yes, "dim" is another one of those overloaded methods that gets used in different senses at times. I'm not sure what you mean by choosing keywords from existing key words. In preparing this package I just followed what we did in the spectral sequences package. We didn't choose any keywords etc. Just let me know what changes you would like me to make and I can try to do this prior to the next release. |
Do you mean what "subject area keywords" it should fall into? For that, I would use "homological algebra" as primary and maybe "combinatorics" and/or "combinatorial commutative algebra" as secondary "subject area keywords". |
The I went ahead at took the liberty of changing the keyword to "Combinatorial Commutative Algebra" (to match the non-abstract SimplicialComplexes package) in #3535. |
OK. This is great. Many thanks! Do let me know if there is anything that I need to do prior to the next release.
Best,
Nathan
… On Oct 30, 2024, at 10:23 PM, Doug Torrance ***@***.***> wrote:
The Keywords option to newPackage should ideally be chosen from the keywords for existing packages, which can be seen as the headings at the packages provided with Macaulay2 <https://www.macaulay2.com/doc/Macaulay2/share/doc/Macaulay2/Macaulay2Doc/html/_packages_spprovided_spwith_sp__Macaulay2.html> documentation page.
I went ahead at took the liberty of changing the keyword to "Combinatorial Commutative Algebra" (to match the non-abstract SimplicialComplexes package) in #3535 <#3535>.
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JAL2LHNDTAYRWIZA33Z6GBCJAVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYHAYTGNBRGA>.
You are receiving this because you authored the thread.
|
If it's not too late, I just did the small edits to overload == and dim as requested as well. I've just committed those changes. |
Sure! Feel free to open a new pull request |
This is great. I’ve just done that now.
Best,
Nathan
… On Oct 30, 2024, at 11:49 PM, Doug Torrance ***@***.***> wrote:
Sure! Feel free to open a new pull request
—
Reply to this email directly, view it on GitHub <#3547 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABC62JARULH5GMAYAVKPW6DZ6GLE7AVCNFSM6AAAAABQWI3F6SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYHEYTGNJWGI>.
You are receiving this because you authored the thread.
|
This package gives a way to work with simplicial complexes implemented as graded lists. It complements the existing M2 package SimplicialComplexes.m2.