-
Notifications
You must be signed in to change notification settings - Fork 3
Pi-Base for abstract algebra #116
Comments
We definitely would love to see the platform used for other areas of mathematics. The code is 99% @jamesdabbs so the choice of license is ultimately his. But we got the domain pi-base.org with the intention of having subdomains for various categories: https://topology.pi-base.org would pair nicely with e.g. https://algebra.pi-base.org I guess in this implementation, we'd have groups instead of spaces (with the state of being a ring, field, etc. being possible properties of a group?). |
Oh I didn't even think of being subdomain, I think that would be cool! In terms of the implementation, I was thinking of having at least three "types of spaces". Group-like (structures with only one binary operation), ring-like (structures with two binary operations), and module-like (you get it). The problem of considering "being a ring" as a property of groups, is that it could be a ring in many ways, i.e. there are multiple "multiplications" that satisfy the axioms. Also, you can always make a group into a ring without unity, by making Another thing that is very important in algebra is "constructions", these take a given structure and gives you a new one; e.g. quotient groups, polynomial rings, ring of fractions, etc. Obviously there are constructions in topology too, but I think they play a smaller role, and I think pi-base is not covering them as of now (correct me if I'm wrong, but I couldn't find definitions for "product topology" or "quotient topology", for example). I have not read the code yet, but I think two capabilities (supporting multiple "types of spaces", and "constructions") are a must have for algebra so I would have to add those if they are not there already. If you want pi-base to be used for other areas of math I think having these capabilities in the code would make an implementation easier in general. But yeah I'm getting a bit ahead of myself, I have to hear what James has to say. If he gives it a green light I'd be happy to collaborate on the code! However, in case he says yes, I'd also like to talk a bit more about licenses and such as this would be a huge investment of time from me so I want to make sure everything is in order. |
Yeah I think you're getting at #13 - we definitely do want things like for every space We're not there yet though. I've applied for sabbatical in 2022-23 which will hopefully give me a chance to make big swings like this... |
Hey @Ryunaq, thanks for reaching out!
Thanks for pointing that out; that was definitely an oversight. Our intention is definitely to encourage open collaboration - we've licensed the core logic as
This makes a lot of sense to me. As Steven said, we'd love to be able to spin up multiple versions of the
I'm all for contributions. What's your timeframe / availability like? Would it help to brainstorm / plan together a little bit, or would you prefer to just jump in and spike out some code first? |
I'm very much a novice category theorist, but maybe this is the pattern:
The functors can't be iterated indefinitely of course, so maybe there should be a way to "save" interesting constructions as static objects. |
MIT license makes sense to me |
Hey @jamesdabbs, great! I've been thinking about how to structure it since yesterday and it definitely gets very complicated haha so sure! I'd like to brainstorm / plan together. My timezone is UTC-5, and my schedule is pretty flexible so I'm available every day except 6-9pm on weekdays, and 2:30-4:30pm this weekend. For a small preview of what I was thinking of, is having a this mix of "topic", "structures", "properties", and "constructions". For algebra, here are some examples
Knitting all of these are obviously theorems and counterexamples, but since the relation between "structures", "properties", and "constructions" is not so clear cut as before, I thing a tag system is needed. For example, I don't see any really ordered way of presenting "R/Ker(Phi) \cong Phi(R)" other than just tagging it with "Quotient ring, kernel, image under homomorphism". Still, the nice A simpler alternative to category theory for automate some "obvious" reasoning is modelling the transitivity of certain properties, and checking what properties are preserved under certain construction. I think this may be better since one, it is (probably) more comprehensible for undergraduates, and two, a lot of constructions are not categoric in nature (or are in a somewhat awkward way). Still, this gives a powerful way of proving properties of specific objects, like if you prove that X is isomorphic to Pi(Y) and you know that Y is a field and Pi preserves multiplicative inverses, then X is a field too. Hope this was interesting at least, tell me whenever you want to meet! |
Per discussion in #116, I believe the intent was always for the viewer code to match license with @pi-base/core, and that the lack of license in this repo was just an oversight.
Per discussion in #116, I believe the intent was always for the viewer code to match license with @pi-base/core, and that the lack of license in this repo was just an oversight.
Per discussion in #116, I believe the intent was always for the viewer code to match license with @pi-base/core, and that the lack of license in this repo was just an oversight.
Having really looked at it yet, but I stumbled across https://ringtheory.herokuapp.com/ via random Twitter recommendation. I'm excited to see what similarities/differences our projects have... |
What's the current status of this endeavour? I'd like to help with the group theory side of things...since the start of the pandemic, I started studying the classification theorem of finite simple groups, and organized my notes on slips of paper (like an analogue version of the pi-base). |
Hello!
I've been a huge fan of this project for a while, and was thinking on implementing something like this for undergraduate abstract algebra. Since all your code is open source (great!) I was wondering if it was alright to fork it and use it as a base. Since there is no license in the repos, I was unsure if this is fine, hence I'm asking first.
The text was updated successfully, but these errors were encountered: