> > 3. I have skimmed through the first chapter of Bronstein's book. > > Algebraic Preliminaries. Nothing new there. But the second chapter > > introduces algorithms which I have never implemented and some of > > them I had not even heard of. I would be really glad if you could > > tell me what sort of mathematical background is required to > > contribute efficiently to this part of the project. > > Well really Bronstein's book is self-contained. The unfortunate thing > for you is that half of it is already implemented, so the > prerequisites are really more like "the first half of Bronstein's > book". I think you have a good opportunity to catch up, especially > since you are still early. You should read through chapter 2. This > gives a more algorithmic introduction to abstract algebra than you may > have seen before. Chapter 3 gives a good understanding of the rational > algorithm, but it is not necessary to understand all the algorithms > there, except the Lazard-Rioboo-Trager, which is the one actually > used. This is important because the full algorithm is just an > extension of this algorithm, so understanding the basics of how it > works is important. Chapter 4 is entirely theoretical. You should get > an understanding of differential algebra, but a deep understanding of > chapter 4 is not fully required. Most of it is just there to prove the > theorems, particularly the Liouville theorem. A lot of it is there > only to prove the algebraic case, which is not even described in the > book.
We all miss the volume II he wanted to write :-( > It really depends on how you learn, though. If you feel you > learn better by really understanding all the mathematics, then you > should read chapter 4 more carefully. > > Chapter 5 is the most important. This you should read and understand > (with the possible exception of the proof of Liouville's theorem, > assuming I remember correctly that it's in this chapter). This is the > "base" algorithm. Most of it is already implemented, in risch.py. > > Chapters 6, 7, and 8 are nitty-gritty details of the sub-algorithms. > You really don't need to worry so much about the parts that are > already implemented. It depends on what you plan to do in your project > too, but in many cases you can worry about things when you get to them > too. > > Chapter 9 is more heavy on the math than what you really need to know > to implement it. > > I recommend starting with chapter 2. Try to find the implementation in > SymPy of the algorithms as you go through them, and play with them > using your own inputs. This will help you learn SymPy and the polys > module as well (the polys module can be a bit confusing so let us know > if you can't figure stuff out with it). > > You should also try to follow the Risch code, say for some simple > inputs, alongside the pseudocode in Bronstein. Don't worry too much > about the code in DifferentialExtension to start with. > > > I would be really glad if you could link me to some literature on > > net which explains the Risch algorithm and implementation issues. > > In the meanwhile I'll try to procure the mentioned text from my > > college library. > > Read Bronstein's "symbolic integration tutorial" Yes, this a great "short version". There is also a Thesis called "Symbolic Integration" by BJÖRN TERELIUS. (You should be able to find this on the net, otherwise I'll send you a copy.) -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
