[sage-devel] Re: Inconsistency in root finding
While working on the patch, I came across another problem, one that I don't want to fix. sage: D = {} ; D[CC(0)] = 1 --- type 'exceptions.TypeError' Traceback (most recent call last) /Users/nalexand/emacs/sage/ipython console in module() type 'exceptions.TypeError': unhashable type: 'sage.rings.complex_number.ComplexNumber' Could someone in the know address this and send me a _TEXT_ patch (the hg bundles aren't so good when you're in the middle of changes). Also, if anyone knows how to do the equivalent of sorted(list, key=func) in sagex, I'd be much obliged. What I want to do is sort the roots in order of increasing absolute value, but how do you sort a list of pairs in sagex without using the Schwartzian transform (decorate-sort-undecorate) or something similar? Nick On Mar 16, 12:11 pm, William Stein [EMAIL PROTECTED] wrote: On 3/16/07, didier deshommes [EMAIL PROTECTED] wrote: On Mar 16, 2:23 pm, Nick Alexander [EMAIL PROTECTED] wrote: Do you agree that the current behaviour is brain-dead? 'cuz I'll patch it! Please send me a patch, so that it returns multiplicities in all cases. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Inconsistency in root finding
While working on the patch, I came across another problem, one that I don't want to fix. sage: D = {} ; D[CC(0)] = 1 --- type 'exceptions.TypeError' Traceback (most recent call last) /Users/nalexand/emacs/sage/ipython console in module() type 'exceptions.TypeError': unhashable type: 'sage.rings.complex_number.ComplexNumber' You should be able to just add the following to the ComplexNumber class: def __hash__(self): return str(self).__hash__() That should work so long as the complex number is completely determined by its __str__. I'm not sure if ComplexNumbers are mutable or immutable, but if they are mutable, you need to make sure not to change them while they are dictionary keys; otherwise, bad things will happen. I'm not sure about the sort under sagex which reminds me that I should get a better understanding of pyrex. --Mike --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] [Fwd: Re: [SciPy-user] from maple to scipy/numpy]
Hello all: Has anyone here heard of pydx? - David Joyner --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~--- ---BeginMessage--- SAGE looks pretty cool, I would just add PyDX http://gr.anu.edu.au/svn/people/sdburton/pydx/doc/user-guide.html as a package for differential geometry. Jan Groenewald wrote: SAGE includes the following core software: Group theory and combinatoricsGAP, NetworkX Symbolic computation and Calculus Maxima Commutative algebra Singular Number theory PARI, MWRANK, NTL Graphics Matplotlib Numerical methods GSL, Numpy Mainstream programming language Python Interactive shell IPython Graphical User Interface The SAGE Notebook Versioned Source Tracking Mercurial HG cheers, Jan ___ SciPy-user mailing list [EMAIL PROTECTED] http://projects.scipy.org/mailman/listinfo/scipy-user ---End Message---
[sage-devel] Group Algebras in GAP/SAGE
I guess this is mostly directed toward David Joyner, but if anyone else knows, feel free to chime in. I've been trying to figure out the best way to do calculations in a group ring or group algebra. I've checked around for GAP packages, but they seem to be pretty limited and very awkward to use. Is there a nice way that I'm missing for dealing with these in GAP? I ended up writing my own hack for a group algebra for some recent work and would be interested in writing more complete code for it over the summer. I would like to be able to do (almost) all of the calculations below in SAGE: http://magma.maths.usyd.edu.au/magma/htmlhelp/part10.htm --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Group Algebras in GAP/SAGE
On 3/19/07, David Harvey [EMAIL PROTECTED] wrote: On Mar 19, 2007, at 9:58 AM, Mike Hansen wrote: I guess this is mostly directed toward David Joyner, but if anyone else knows, feel free to chime in. I've been trying to figure out the best way to do calculations in a group ring or group algebra. I've checked around for GAP packages, but they seem to be pretty limited and very awkward to use. Is there a nice way that I'm missing for dealing with these in GAP? I ended up writing my own hack for a group algebra for some recent work and would be interested in writing more complete code for it over the summer. I would like to be able to do (almost) all of the calculations below in SAGE: http://magma.maths.usyd.edu.au/magma/htmlhelp/part10.htm Here's my long-term take on this question (anyone else please feel free to chime in and agree/disagree). There should really be a GroupAlgebra class, derived from Algebra (in algebra.py). Currently the functionality of Algebra, and its subclasses, is quite limited. There's some code for quarternion algebras, but it's not too efficient yet. I imagine that a GroupAlgebra would have a base ring R, and an associated group G. If the group G was finite, one could represent elements by vectors of elements of R; if G was infinite (or just really big), perhaps one would want a sparse representation. If G is abelian, and R In the sparse case, when you create the vectors of elements of R just use sparse = True. Of course, if G is infinite that won't work until I implement FreeModule(R,infinity). commutative, special measures could be taken to speed up the arithmetic. (Does anyone do group algebras over non-commutative rings? I don't know...). There would be coercions from R into R [G] and also from G into R[G] (assuming R is unital). There would be a specialisation for the case that R is a field. Then the harder stuff: decomposition into irreducibles, etc, which actually involves writing tricky code, or perhaps this has already been written I have no idea, I'm not a representation theory sort of guy. At least if R is a finite field, I bet it's all available through GAP somehow, though probably not so easy to use. This is the sort of thing that meataxe is supposed to address. I think over QQ or a number field it's a pretty hard problem, but MAGMA does some things using clever tricks (and perhaps is sometimes misleading (=wrong) in its output...) One could probably already define these things in SAGE as a quotient of a free algebra, but I bet it wouldn't be too efficient that way, and not very useful. So I guess we eventually want to see this: sage: G = SymmetricGroup(3) sage: ZZ[G] Group Algebra of Symmetric group of order 3! as a permutation group over Integer Ring Yep, I like that. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Conway's nimber field
Hi, To acquant myself with sage's inner workings I have implemented Conway's nimber field. See http://alpha.uhasselt.be/Research/Algebra/Members/nimbers/ Recall that the nimbers form a field whose underlying set is the natural numbers. The addition is bitwise exclusive or but the multiplication is complicated. GF(2^(2^n)) is isomorphic to the nimbers that are less than 2^(2^n). Thus the full nimber field is isomorphic to the union of GF(2^(2^n)) for all n. Although my implenentation is still in pure python it seems to be not much slower than the standard finite fields GF(2^(2^n)) that one can create in sage. However I didn't do extensive testing. The basic arithmetic should be trivial to rewrite in pyrex. This is still a prototype. The most glaring ommission is that coercions from and to standard Galois fields are missing. Nevertheless if there are remarks/ comments I would appreciate it very much. Regards, Michel --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] sage.math.washington.edu
The famous sage.math.washington.edu is up until probably 5pm today. :-) -- William Stein Associate Professor of Mathematics University of Washington --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Conway's nimber field
Are you using ONAG for the main reference? In any case, I would appreciate a precise reference to a book or article on nimbers. On 3/19/07, Michel [EMAIL PROTECTED] wrote: Hi, To acquant myself with sage's inner workings I have implemented Conway's nimber field. See http://alpha.uhasselt.be/Research/Algebra/Members/nimbers/ Recall that the nimbers form a field whose underlying set is the natural numbers. The addition is bitwise exclusive or but the multiplication is complicated. GF(2^(2^n)) is isomorphic to the nimbers that are less than 2^(2^n). Thus the full nimber field is isomorphic to the union of GF(2^(2^n)) for all n. Although my implenentation is still in pure python it seems to be not much slower than the standard finite fields GF(2^(2^n)) that one can create in sage. However I didn't do extensive testing. The basic arithmetic should be trivial to rewrite in pyrex. This is still a prototype. The most glaring ommission is that coercions from and to standard Galois fields are missing. Nevertheless if there are remarks/ comments I would appreciate it very much. Regards, Michel --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Group Algebras in GAP/SAGE
On 3/19/07, Mike Hansen [EMAIL PROTECTED] wrote: Did you look at LAGUNA or UnitLib? Yeah, I looked at LAGUNA, and it wasn't exactly what I was looking for. I guess I'm more interested in the looking at the group algebras as K[G]-modules. If I understand correctly, the following is a special case: given a semisimple K[G], you want to know the simple subalgebras occurring in its Wedderburn decomposition. This is the output of the GAP package Wedderga. Only finite fields and subfields of cyclotomic fields are supported. Alexander Konovalov is a co-author of that too. Both LAGUNA and Wedderga are GPL'd. Moreover, I am in frequent contact with AK and would be happy to pass along any questions for you, if you'd like. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Fwd: some ramblings about the relationship between sage and MAGMA
-- Forwarded message -- From: William Stein [EMAIL PROTECTED] Date: Mar 19, 2007 1:57 PM Subject: Re: some ramblings about the relationship between sage and MAGMA To: Research mathematician On 3/19/07, a Research Matheamtician wrote: I think the reason that xxx found it [sage] slow was that he wasn't actually _using_ any number-theoretic functions! He was writing his own custom foundational code to compute automorphic forms on U(3). I think Lassina also did this at around the same time (but their implementations have trivial intersection! For example I think Lassina always wants class number 1 but David always works with some fixed G which has class number 2). If you've ever computed automorphic forms for a definite quaternion algebra then you'll know that it is in essence just combinatorics; for example most of the work with Hecke operators is, for a given prime p, finding p+1 matrices in O, the integers of your definite quaternion algebra, with norm p and satisfying some funny congruence conditions so for example given D of discriminant 2 you spend most of your life finding all solutions to a^2+b^2+c^2+d^2=p or 4p and then sorting them into equivalence classes. I think that sage was arguably built to do things other than this. For U(3) it's even worse; you spend your entire life finding matrices X in M_3(Z[i]) such that X times X^{conjugate transpose} is diag(p p p) and I think David just looped in some semi-naive way. In fact let me tell you what David's implementation looks like for auto forms over a group that one might call the U(3) associated to Q(i): 1) Input level N. 2) Loop through small primes p that split in Q(i) (this is the way hecke ops work) 3) For each such prime find all matrices in a certain normal form in M_3(Z[i]) satisfying X.X^{conj transpose}=p 4) For each such matrix, apply some awful explicit algebraic transformation to X, the analogue of compute Symm^g of a 2x2 matrix but with 3x3 matrices and computing some explicit quotient of Symm^g tensor Symm^h(transpose). 5) Add up what you have: there's your Hecke operator. 6) Make sure you've looped over suff many prime to break your space up into 1-d eigenspaces and you're done. As you can see you're barely using anything here other than integer addition and multiplication, and some basic matrix manipulation. He should have written it in assembler! :-) Maybe he should have written it in SageX (the compiled variant of Python) probably directly against the gmp C library. The parts that would benefit from assembler are already written in assembler in GMP. The speed situation for this sort of thing will be roughly like this, with the ones listed lower being faster. Python (Interpreted SAGE) Magma SageX (compiled Python used right) C SageX just generates C code, so if you do things right it is the same speed as C. But it is often much easier and tempting to do things in an easier way first (which looks almost exactly like pure python), and then it's slower than C. Implementing low level arithmetic manipulation like your discussing in the Magma interpreter can be frustrating too. I did it with my modular symbols code, and no matter what tricks I used it was slower than what I could do in C. With Magma the only option at that point is to (visit Sydney and) get them to code what I wanted as part of the Magma kernel. With SAGE, you put the relevant code in a .pyx or .spyx file, compile, and use the result from the interpreter. I like this better. -- William -- William Stein Associate Professor of Mathematics University of Washington --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] dark days ahead
Hi, sage.math will be turned off in about 1 hour. A few minutes ago, I backed up the hard drive to modular.math.washington.edu, so if you go to http://modular.math.washington.edu/home you'll get the latest version of people's home directories, at least if they are world readable (let me know if you need anything that isn't -- I'm the only one with a shell account on modular.math.washington.edu). modular.math.washington.edu will likely go down either this evening or tomorrow morning, since the math department is turning off everything then. I will hopefully be able to get it back on tomorrow sometime, but we'll see. I will connect the hard drive that is in sage.math.washington.edu to www.sagemath.org tonight. Then all home directories should become accessible from http://www.sagemath.org/home The machine www.sagemath.org should remain online irregardless of anything that happens with the UW networking situation, since it's an imac in my living room :-). Unfortunately, the net connection is quite slow -- e.g., it takes 45 minutes to download the 120MB SAGE binaries right now. In the meantime, when sage.math is offline I'm going to attempt to do a fresh install of Redhat Enterprise Linux on it. (I'll do this on a separate physical hard drive, so if it goes horribly wrong sage.math will still come back later as it is now.) My understanding is that all this downtime, etc., should end on Friday, at the latest. -- William Stein Associate Professor of Mathematics University of Washington --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: some ramblings about the relationship between sage and MAGMA
Don't feel like you need to spend too much time defending Sage. It speaks for itself. It's free, open source, and improving daily. And, even though I greatly admire a top research mathematician who happens to write assembly code to find Hecke operators... now who might that be, I don't think he has managed a programming project the size and scope of Sage. So, although it is nice to get the celebrity endorsement, I think most people will pickup Sage over Magma simply because it's free. In five years, you may find that there are more person-hours being spent developing Sage than Magma... in the mean time, I think having well documented, low-bug code is more important than beating Magma on every benchmark. --jason On 3/19/07, William Stein [EMAIL PROTECTED] wrote: On 3/19/07, a top research mathematician wrote: put me off sage a bit: he tried it a year or so ago and after a while he realised that he was actually just coding in python rather than sage, and that magma seemed to be much quicker. Maybe this has changed now though. How can sage overtake magma if huge chunks of magma are written in assembly or whatever they do in the core? You seem to be confused about the relationship between the architectures of SAGE and Magma. The architecture of SAGE and Magma are very similar, at least in regards to what you wrote above. Both are a combination of a high-level interpreter and lower-level compiled code. The Python interpreter is in some ways slightly slower than Magma's interpreter, and in other ways faster. Python is a standard mainstream programming language with full support for user-defined types, object oriented programming, multiple inheritence, etc., and Python is used by millions of people around the world daily for a wide range of applications, and is maintained by large group of people. Magma is not mainstream, does not support user-defined types, object oriented programming, multiple inheritance, and is used by at most a few thousand people daily, and only for mathematics. There is also a SAGE compiler (called SageX), which turns most SAGE code into native C code, which is then compiled with a C compiler. About a third of the SAGE library is compiled in this way. But it is also easily used by end users, even from the graphical user interface. Here's a quote from Helena from two weeks ago: Being able to compile functions is such a big speed up, it's surprising this is not possible with magma or other packages. It makes a huge difference. My Ph.D. student, Robert Bradshaw, turned out to secretly be very good at compilers, and greatly improved SageX (which is a fork of a program called Pyrex) for use in SAGE. For much basic arithmetic (floating point and integer/rational arithmetic, numerical linear algebra), rely on *exactly* the same C libraries, namely GMP, MPFR, ATLAS, etc. This is where probably most of the assembly code in the MAGMA core is located -- in GMP -- which is also used by SAGE. To take another example, (presumbly) the exact linear algebra in Magma is written in C code. The analogous functionality for SAGE is provided by: (1) basic infrastructure: compiled SageX code that Robert Bradshaw and I wrote from scratch (2) fast echelon form, charpoly, system solving, etc.: provided by Linbox (http://www.linalg.org/), IML (http://www.cs.uwaterloo.ca/~z4chen/iml.html), and soon over F_2, m4ri, by Gregor Bard/, and both NTL and PARI in some cases. Linbox is a powerful C++ library that has been under development since 1999 by a group of symbolic algebra researchers (starting with Erich Kaltofen). It has a very clear theoretical basis, and many of the algorithms are connected with interesting papers. SAGE is the first system to serious use Linbox (and we only started recently), so it's getting a lot of stress testing from our use. As an example of how Linbox works, Clement Pernet, one of the main Linbox developers, co-authored a paper last year on a new algorithm for fast charpoly computation over ZZ. That algorithm is implemented in the newest version of Linbox, and when I compared timings on my laptop, it was twice as fast as Magma's charpoly over ZZ, and gaining as n--oo. When writing snippets of code, there are some issues that can make SAGE seem much slower than MAGMA, if one doesn't know what one is doing and hasn't read much of the documentation. But usually asking at sage-support clears things like this up. Research Mathematician said: I'm sure I am but this is probably because I don't know anything about python. I thought python was being 100% interpreted and magma was being 100% compiled, for example. Magma is an interpreter. Part of Magma is written in this interpreter language (e.g., 99% of my modular forms code). Python is an interpreter that is itself written in C. Part of SAGE is written using this interpreter, but most of SAGE is written in various
[sage-devel] Fwd: Fwd: [sage-devel] Re: some ramblings about the relationship between sage and MAGMA
-- Forwarded message -- From: that mathematician :-) From Jason Martin: Don't feel like you need to spend too much time defending Sage. I don't think you were defending it, just explaining it :-) And I certainly haven't ever managed a programming project of any size whatsoever! Not since I ported Manic Miner to the Acorn Atom at the age of 14. ... --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: dark days ahead
Hi William, Perhaps you should put up a note on http://www.sagemath.org informing people to download from the mirrors instead of your home connection. I imagine it is going to get killed by anymore than 1 person downloading at a time :) On Mar 19, 2007, at 2:15 PM, William Stein wrote: Hi, sage.math will be turned off in about 1 hour. A few minutes ago, I backed up the hard drive to modular.math.washington.edu, so if you go to http://modular.math.washington.edu/home you'll get the latest version of people's home directories, at least if they are world readable (let me know if you need anything that isn't -- I'm the only one with a shell account on modular.math.washington.edu). modular.math.washington.edu will likely go down either this evening or tomorrow morning, since the math department is turning off everything then. I will hopefully be able to get it back on tomorrow sometime, but we'll see. I will connect the hard drive that is in sage.math.washington.edu to www.sagemath.org tonight. Then all home directories should become accessible from http://www.sagemath.org/home The machine www.sagemath.org should remain online irregardless of anything that happens with the UW networking situation, since it's an imac in my living room :-). Unfortunately, the net connection is quite slow -- e.g., it takes 45 minutes to download the 120MB SAGE binaries right now. In the meantime, when sage.math is offline I'm going to attempt to do a fresh install of Redhat Enterprise Linux on it. (I'll do this on a separate physical hard drive, so if it goes horribly wrong sage.math will still come back later as it is now.) My understanding is that all this downtime, etc., should end on Friday, at the latest. -- William Stein Associate Professor of Mathematics University of Washington Cheers, Yi --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Summer of Code
On March 19, 2007 2:44 PM Bill Page wrote: Students of Sage might be interested in the Axiom/Sage project supported by an Axiom sister organization (LispNYC) that has been accepted for the Google Summer of Code program. Axiom had a previous successful Summer of Code project that was funded in a similar manner through LispNYC in the first Summer of Code cycle. See: http://lispnyc.org/soc.clp for details. Summer of Code proposals for these or similar projects will be greatfully considered by LispNYC and the Axiom developers. Please note that the deadline for student applications is March 24th! If you are interested apply online now at: http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-t he-gsoc-web-app-for-student-applicants Don't hesitate if your interests do not exactly match the project proposals. All applications relevant to Lisp and Axiom will be considered. Regards, Bill Page --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Biopython package
Hi, I became interested in SAGE after I found it to be the easiest way to install cddlib and gmp, and now I am getting hooked. My research is very schizophrenic: besides some computational algebra/geometry coming from dynamical systems, I am also interested in mathematical biology and bioinformatics. There is an open-source project called biopython (http://biopython.org/wiki/Biopython) that I am using in a bioinformatics course right now. It would be very nice if there was a biopython optional package for SAGE. I am willing to try and create one, but I thought I would post here first to see if anyone had any preliminary advice before I waste my time. Biopython currently requires Numeric, but all the parts I need seem to work OK using numpy. The developers are currently working on switching over entirely to numpy. It also requires something called mxTextTools, but I think that should be OK since its open source and has a very permissive license. Cheers, Marshall Hampton --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Biopython package
On Monday 19 March 2007 8:28 pm, Hamptonio wrote: Hi, I became interested in SAGE after I found it to be the easiest way to install cddlib and gmp, and now I am getting hooked. My research is very schizophrenic: besides some computational algebra/geometry coming from dynamical systems, I am also interested in mathematical biology and bioinformatics. There is an open-source project called biopython (http://biopython.org/wiki/Biopython) that I am using in a bioinformatics course right now. It would be very nice if there was a biopython optional package for SAGE. I am willing to try and create one, but I thought I would post here first to see if anyone had any preliminary advice before I waste my time. Biopython currently requires Numeric, but all the parts I need seem to work OK using numpy. The developers are currently working on switching over entirely to numpy. It also requires something called mxTextTools, but I think that should be OK since its open source and has a very permissive license. Adding biopython is a good idea. Prompted by your email, I created a package for it, which I've posted here: http://www.sagemath.org/packages/optional/ If you do $ export SAGE_SERVER=www.sagemath.org from bash, you can get it with sage -i biopython-1.43 My biophython-1.43 package includes mxTextTools, so it's very easy to install. Also, it seems that biophython-1.43 works fine with numpy. If it doesn't, Numeric is a well-supported optional sage package: sage -i numeric-24.2. One very annoying thing that somebody needs to get to the bottom of, is that it seems necessary to hit enter several times half-way through the install, or it just pauses forever. This probably has something to do with maybe mxTextTools's installing doing something obnoxious. Feedback is appreciated. By the way, this document gives a basic idea of how spkg's are created: http://www.sagemath.com/doc/html/prog/node23.html In short, an spkg is just a bzip2'd tarball, with a file spkg-install that gets run in the environment of SAGE, e.g., python is SAGE's Python, etc., and it is supposed to install code to $SAGE_LOCAL. William William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---