Implementing algebraic structures in code

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
3
down vote

favorite












There are quite a few computer algebra systems: MAGMA, Singular, Maple, Macaulay2 are just a few that come to mind. I've been interested in how these programs implement structures such as fields, rings, and what not. More precisely, I'm not interested in exactly how the code was implement in the language to create an industry-level product--that is probably a bit overwhelming as the source code is probably huge and a lot of optimizations were implemented.



When searching for the answer on google I've mainly found some research articles about implementing algorithms in JAS (Java Algebra System) and some blog posts/slides:



  1. Translating math into code with examples in Java, Racket, Haskell and Python

  2. Adventures in Abstract Algebra Part I: Implementing Algebraic Structures in Scala

I've linked them as they seem informative, but not quite comprehensive enough. I was wondering if there are any textbooks/comprehensive (at least more so than what I linked) resources regarding the subject? I only want to implement some structures/algorithms for fun and to learn, not to create any industry-level software.



At this moment I'm mostly looking to work with polynomial rings over $mathbbR$ and $mathbbC$ and generally don't mind limiting myself to infinite/algebraically closed fields. I want to eventually implement various grobner basis algorithms and some of their applications. Thanks!







share|cite|improve this question

























    up vote
    3
    down vote

    favorite












    There are quite a few computer algebra systems: MAGMA, Singular, Maple, Macaulay2 are just a few that come to mind. I've been interested in how these programs implement structures such as fields, rings, and what not. More precisely, I'm not interested in exactly how the code was implement in the language to create an industry-level product--that is probably a bit overwhelming as the source code is probably huge and a lot of optimizations were implemented.



    When searching for the answer on google I've mainly found some research articles about implementing algorithms in JAS (Java Algebra System) and some blog posts/slides:



    1. Translating math into code with examples in Java, Racket, Haskell and Python

    2. Adventures in Abstract Algebra Part I: Implementing Algebraic Structures in Scala

    I've linked them as they seem informative, but not quite comprehensive enough. I was wondering if there are any textbooks/comprehensive (at least more so than what I linked) resources regarding the subject? I only want to implement some structures/algorithms for fun and to learn, not to create any industry-level software.



    At this moment I'm mostly looking to work with polynomial rings over $mathbbR$ and $mathbbC$ and generally don't mind limiting myself to infinite/algebraically closed fields. I want to eventually implement various grobner basis algorithms and some of their applications. Thanks!







    share|cite|improve this question























      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      There are quite a few computer algebra systems: MAGMA, Singular, Maple, Macaulay2 are just a few that come to mind. I've been interested in how these programs implement structures such as fields, rings, and what not. More precisely, I'm not interested in exactly how the code was implement in the language to create an industry-level product--that is probably a bit overwhelming as the source code is probably huge and a lot of optimizations were implemented.



      When searching for the answer on google I've mainly found some research articles about implementing algorithms in JAS (Java Algebra System) and some blog posts/slides:



      1. Translating math into code with examples in Java, Racket, Haskell and Python

      2. Adventures in Abstract Algebra Part I: Implementing Algebraic Structures in Scala

      I've linked them as they seem informative, but not quite comprehensive enough. I was wondering if there are any textbooks/comprehensive (at least more so than what I linked) resources regarding the subject? I only want to implement some structures/algorithms for fun and to learn, not to create any industry-level software.



      At this moment I'm mostly looking to work with polynomial rings over $mathbbR$ and $mathbbC$ and generally don't mind limiting myself to infinite/algebraically closed fields. I want to eventually implement various grobner basis algorithms and some of their applications. Thanks!







      share|cite|improve this question













      There are quite a few computer algebra systems: MAGMA, Singular, Maple, Macaulay2 are just a few that come to mind. I've been interested in how these programs implement structures such as fields, rings, and what not. More precisely, I'm not interested in exactly how the code was implement in the language to create an industry-level product--that is probably a bit overwhelming as the source code is probably huge and a lot of optimizations were implemented.



      When searching for the answer on google I've mainly found some research articles about implementing algorithms in JAS (Java Algebra System) and some blog posts/slides:



      1. Translating math into code with examples in Java, Racket, Haskell and Python

      2. Adventures in Abstract Algebra Part I: Implementing Algebraic Structures in Scala

      I've linked them as they seem informative, but not quite comprehensive enough. I was wondering if there are any textbooks/comprehensive (at least more so than what I linked) resources regarding the subject? I only want to implement some structures/algorithms for fun and to learn, not to create any industry-level software.



      At this moment I'm mostly looking to work with polynomial rings over $mathbbR$ and $mathbbC$ and generally don't mind limiting myself to infinite/algebraically closed fields. I want to eventually implement various grobner basis algorithms and some of their applications. Thanks!









      share|cite|improve this question












      share|cite|improve this question




      share|cite|improve this question








      edited Jul 18 at 23:06
























      asked Jul 18 at 21:11









      g r o b n e r

      163




      163

























          active

          oldest

          votes











          Your Answer




          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "69"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );








           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2856010%2fimplementing-algebraic-structures-in-code%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes










           

          draft saved


          draft discarded


























           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2856010%2fimplementing-algebraic-structures-in-code%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          What is the equation of a 3D cone with generalised tilt?

          Color the edges and diagonals of a regular polygon

          Relationship between determinant of matrix and determinant of adjoint?