On 08.04.2012 10:26, Joachim Durchholz wrote:
Am 05.04.2012 20:46, schrieb Tom Bachmann:
A start: https://github.com/sympy/sympy/wiki/Commutative-Algebra-Module
What's the alternative to a "constructed" algebra? Would having that,
while outside of the scope of your work, be relevant to / useful in SymPy?
The motive behind that question is to make sure that we're not
specializing too much in one approach and barring the route to
alternative approaches. I don't think it's a realistic problem, I'm just
pointing out a typical problems in software design and would like to see
it ticked off as "yes, have thought about it, no problem visible on the
horizon (fingers crossed)".
Well the main point of working with "constructed" objects is that we
need them to be somehow "strongly finitely presented" (if that means
more to you), just to be able to *store* anything meaningful. E.g. there
is no real chance of ever working with RR or CC (because we cannot do
exact arithmetic there) or with something hugle like "free abelian group
generated by the rationals" (I guess one could store such elements since
free abelian groups elements have only finitely many non-zero entries,
but I know no general framework to work with this - and one can
certainly come up with much larger objects still).
That being said, there are a couple of base rings for which computations
are possible in a slightly more general framework (i.e. with some more
fancy groebner basis code, and possibly some more complicated
implementations):
- non-commutative group rings of finite groups
- polynomial rings over PIDs [*]
For both of these I know that groebner basis algorithms do exist, and
methods similar to what I am implementing are applicable. I believe that
the framework I am currently setting up should be extensible to the
second case without too much trouble; the first case might require some
work since I imagine I'm using commutativity in many places implicitely
(this is not an inherent problem, it's just me not being careful).
I believe the main applications of these two more general systems are
some form of representation theory / group cohomology, and algebraic
number theory / arithmetic geometry, respectively.
I imagine there are other rings one can sensibly work in which may or
may not fit into this system; I honestly don't know.
[*] Here one needs a reasonably explicit representation of the PID, so
one can for example do division with remainder.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.