[sage-support] Re: Is there a way to access the unsimplified form of a symbolic expression?
On Sep 17, 12:31 am, Jason Merrill <[EMAIL PROTECTED]> wrote: > On Sep 16, 11:45 pm, Jason Merrill <[EMAIL PROTECTED]> wrote: > > > Can I ever get sage to print something like > > > sage: (x - x).some_devious_trick() > > x - x > > Just wanted to develop this idea a little further. Right now, pretty > much everything has a ._repr_() that tells it how to be displayed. If > there's not already a .some_devious_trick(), why not call it .formal() > > sage: (x - x).formal() > x - x I've got a toy implementation of this. Seemed like time to move it over to sage-devel: http://groups.google.com/group/sage-devel/browse_thread/thread/51aa3a53ae155dd3 JM --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Is there a way to access the unsimplified form of a symbolic expression?
Jason Merrill wrote: > On Sep 16, 11:45 pm, Jason Merrill <[EMAIL PROTECTED]> wrote: >> Can I ever get sage to print something like >> >> sage: (x - x).some_devious_trick() >> x - x >> >> If there is a way to do this, or if there could be a way to do this >> that wouldn't foul everything up, then extending it to operations like >> integrals, derivatives, sums, and products might be an interesting >> approach to answering the "how do I do a formal * in Sage?" question. > > Just wanted to develop this idea a little further. Right now, pretty > much everything has a ._repr_() that tells it how to be displayed. If > there's not already a .some_devious_trick(), why not call it .formal() > > sage: (x - x).formal() > x - x > > Currently, integral and diff are eager in that they call maxima as > soon as they get called and return a Sage representation of maxima's > answer. But what if they were lazy--that is, they just made an object > with their input stored, and a .formal() method, and then a few other > methods like ._repr_() that would actually trigger the maxima > evaluation. > > sage: m = (x^2).integral() # no call to maxima yet > sage: m.formal() > integral(x^2,x) > sage: latex(m.formal()) > \int x^2\,dx > # now maxima gets called when the _repr_ method > # of m is called. The result can be cached. > sage: m > x^3 > > If everything had a .formal() method, then these could cascade when > formal is called at higher levels > > sage: latex(integral(x - x,x).formal()) > \int x - x \,dx > sage: latex(integral(simplify(x - x),x).formal()) > \int 0 \,dx > > This one is rather nice, if you ask me: > > sage: m = integral(cos(x),x) > sage: latex(m.formal() == m) > \int cos(x)\,dx = sin(x) > > There was a discussion before about how Mathematica has a Hold[] > construct so you can do things like Hold[Integral[Cos[x],x]]. The > consensus was that python couldn't have this because it evaluates > function arguments before the function even gets to see them. But > with judicious use of laziness and remembering what was input, Sage > could sneak its way around that problem as suggested above. No need > for new preparsing, and no need for a distinction between Integral and > integral, nor integral(cos(x), evaluate=False) or any other unsavory > construction. > > I'm sure there's probably some snakes in the grass here, but on the > surface it all looks rather nice to me. I believe this concept (lazy evaluation with Sage knowing what formal functions are involved) is what underlies the Function_* classes in calculus.py. Each of those seems to not evaluate itself, so you get a SymbolicComposition object, which does your recursion for you. At least, that is what things appear like on the surface as I've played around with it for a few minutes. Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Is there a way to access the unsimplified form of a symbolic expression?
On Sep 16, 11:45 pm, Jason Merrill <[EMAIL PROTECTED]> wrote: > Can I ever get sage to print something like > > sage: (x - x).some_devious_trick() > x - x > > If there is a way to do this, or if there could be a way to do this > that wouldn't foul everything up, then extending it to operations like > integrals, derivatives, sums, and products might be an interesting > approach to answering the "how do I do a formal * in Sage?" question. Just wanted to develop this idea a little further. Right now, pretty much everything has a ._repr_() that tells it how to be displayed. If there's not already a .some_devious_trick(), why not call it .formal() sage: (x - x).formal() x - x Currently, integral and diff are eager in that they call maxima as soon as they get called and return a Sage representation of maxima's answer. But what if they were lazy--that is, they just made an object with their input stored, and a .formal() method, and then a few other methods like ._repr_() that would actually trigger the maxima evaluation. sage: m = (x^2).integral() # no call to maxima yet sage: m.formal() integral(x^2,x) sage: latex(m.formal()) \int x^2\,dx # now maxima gets called when the _repr_ method # of m is called. The result can be cached. sage: m x^3 If everything had a .formal() method, then these could cascade when formal is called at higher levels sage: latex(integral(x - x,x).formal()) \int x - x \,dx sage: latex(integral(simplify(x - x),x).formal()) \int 0 \,dx This one is rather nice, if you ask me: sage: m = integral(cos(x),x) sage: latex(m.formal() == m) \int cos(x)\,dx = sin(x) There was a discussion before about how Mathematica has a Hold[] construct so you can do things like Hold[Integral[Cos[x],x]]. The consensus was that python couldn't have this because it evaluates function arguments before the function even gets to see them. But with judicious use of laziness and remembering what was input, Sage could sneak its way around that problem as suggested above. No need for new preparsing, and no need for a distinction between Integral and integral, nor integral(cos(x), evaluate=False) or any other unsavory construction. I'm sure there's probably some snakes in the grass here, but on the surface it all looks rather nice to me. Regards, JM --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: displaying "diff" as a partial/total derivative
Jason Merrill wrote: > This is http://trac.sagemath.org/sage_trac/ticket/3717. Feeling > motivated to fix it? Ah, yes. Thanks for pointing out the trac ticket; I remember the request now. I've spent a bit of time today looking at this, but became convinced that it was a little harder than I thought since it seems like the job is passed off to maxima (i.e., I couldn't see an easy place to just add a _latex_ function and have it work). Can anyone confirm/deny this? The thought went through my head that this (solving the trac ticket above) would be a lot easier once the ginac code was merged. Is that true? Do we see the ginac code being merged for 3.1.3, given Burcin's response on the other thread? Thanks, Jason > > JM > > On Sep 16, 6:56 pm, Jason Grout <[EMAIL PROTECTED]> wrote: >> I'm writing an @interact to solve simple 2nd order differential >> equations and plot solutions. In it, I'd like to typeset the formula: >> >> show(a*diff(y,t,2)+b*diff(y,t)+c==0) >> >> However, what shows up is the word "diff" when I'd really like to see >> math notation for a partial or total derivative (depending on the >> independent variables declared for y). Is there a nice way to get it to >> show up? >> --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Is there a way to access the unsimplified form of a symbolic expression?
Hi Jason, > So until hit with an explicit simplify command, symbolic expressions > seem retain at least some information about how they were input. Is > there a way to get the input form of an expression back out? Can I > ever get sage to print something like > > sage: (x - x).some_devious_trick() > x - x Not quite so devious: sage: a = x - x sage: a._operator sage: a._operands [x, x] --Mike --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Is there a way to access the unsimplified form of a symbolic expression?
The documentation for simplify explains: Expressions always print simplified; a simplified expression is distinguished because the way it prints agrees with its underlyilng representation. sage: x - x 0 sage: type(x - x) sage: type(simplify(x - x)) So until hit with an explicit simplify command, symbolic expressions seem retain at least some information about how they were input. Is there a way to get the input form of an expression back out? Can I ever get sage to print something like sage: (x - x).some_devious_trick() x - x I'm not as interested in trickery involving strings. If there is a way to do this, or if there could be a way to do this that wouldn't foul everything up, then extending it to operations like integrals, derivatives, sums, and products might be an interesting approach to answering the "how do I do a formal * in Sage?" question. Regards, JM --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: displaying "diff" as a partial/total derivative
This is http://trac.sagemath.org/sage_trac/ticket/3717. Feeling motivated to fix it? JM On Sep 16, 6:56 pm, Jason Grout <[EMAIL PROTECTED]> wrote: > I'm writing an @interact to solve simple 2nd order differential > equations and plot solutions. In it, I'd like to typeset the formula: > > show(a*diff(y,t,2)+b*diff(y,t)+c==0) > > However, what shows up is the word "diff" when I'd really like to see > math notation for a partial or total derivative (depending on the > independent variables declared for y). Is there a nice way to get it to > show up? > > Note that just printing a string doesn't work so well, since a, b, or c > might be negative and then you get something like > 3(d^2y/dt^2)+-2(dy/dt)+-3=0. > > For reference, the current (non/barely) working code is: > > var("x,t") > @interact > def _(y0=(0,4,1/5), y0p=(0,4,1/5),a=(-4,4,1/5),b=(-4,4,1/5),c=(-4,4,1/5)): > y=function('y',t) > show(a*diff(y,t,2)+b*diff(y,t)+c==0) > show(" y(0)=%s, y'(0)=%s"%(y0,y0p)) > t0=0 > discriminant = sqrt(b^2-4*a*c) > if discriminant > 0: > r1 = (-b+discriminant)/(2*a) > r2 = (-b-discriminant)/(2*a) > c1=(y0p-y0*r1)/(r1-r2)*e^(-r1*t0) > c2=(y0*r1-y0p)/(r1-r2)*e^(-r2*t0) > soln = c1*e^(r1*t)+c2*e^(r2*t) > show(soln) > plot(soln,(t,0,5)).show() > > Thanks, > > Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: displaying "diff" as a partial/total derivative
On Tue, Sep 16, 2008 at 3:56 PM, Jason Grout <[EMAIL PROTECTED]> wrote: > > I'm writing an @interact to solve simple 2nd order differential > equations and plot solutions. In it, I'd like to typeset the formula: > > show(a*diff(y,t,2)+b*diff(y,t)+c==0) > > However, what shows up is the word "diff" when I'd really like to see > math notation for a partial or total derivative (depending on the > independent variables declared for y). Is there a nice way to get it to > show up? > > Note that just printing a string doesn't work so well, since a, b, or c > might be negative and then you get something like > 3(d^2y/dt^2)+-2(dy/dt)+-3=0. > > For reference, the current (non/barely) working code is: > > var("x,t") > @interact > def _(y0=(0,4,1/5), y0p=(0,4,1/5),a=(-4,4,1/5),b=(-4,4,1/5),c=(-4,4,1/5)): > y=function('y',t) > show(a*diff(y,t,2)+b*diff(y,t)+c==0) Though ugly to input, I would be tempted to do something like this, since the output looks superb: a = sin(x); y = cos(x^2) + e^(3*pi*x) html("$$%s \cdot \\frac{d^2}{dt^2}\\left[ %s \\right]$$"%(latex(a), latex(y))) > show(" y(0)=%s, y'(0)=%s"%(y0,y0p)) > t0=0 > discriminant = sqrt(b^2-4*a*c) > if discriminant > 0: > r1 = (-b+discriminant)/(2*a) > r2 = (-b-discriminant)/(2*a) > c1=(y0p-y0*r1)/(r1-r2)*e^(-r1*t0) > c2=(y0*r1-y0p)/(r1-r2)*e^(-r2*t0) > soln = c1*e^(r1*t)+c2*e^(r2*t) > show(soln) > plot(soln,(t,0,5)).show() > > > Thanks, > > Jason > > > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] displaying "diff" as a partial/total derivative
I'm writing an @interact to solve simple 2nd order differential equations and plot solutions. In it, I'd like to typeset the formula: show(a*diff(y,t,2)+b*diff(y,t)+c==0) However, what shows up is the word "diff" when I'd really like to see math notation for a partial or total derivative (depending on the independent variables declared for y). Is there a nice way to get it to show up? Note that just printing a string doesn't work so well, since a, b, or c might be negative and then you get something like 3(d^2y/dt^2)+-2(dy/dt)+-3=0. For reference, the current (non/barely) working code is: var("x,t") @interact def _(y0=(0,4,1/5), y0p=(0,4,1/5),a=(-4,4,1/5),b=(-4,4,1/5),c=(-4,4,1/5)): y=function('y',t) show(a*diff(y,t,2)+b*diff(y,t)+c==0) show(" y(0)=%s, y'(0)=%s"%(y0,y0p)) t0=0 discriminant = sqrt(b^2-4*a*c) if discriminant > 0: r1 = (-b+discriminant)/(2*a) r2 = (-b-discriminant)/(2*a) c1=(y0p-y0*r1)/(r1-r2)*e^(-r1*t0) c2=(y0*r1-y0p)/(r1-r2)*e^(-r2*t0) soln = c1*e^(r1*t)+c2*e^(r2*t) show(soln) plot(soln,(t,0,5)).show() Thanks, Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: using "=="
Hi Bob, You can use the bool() function to turn an equation in to a True/False value. sage: q,j = var('q, j') sage: a = (2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27) sage: b = (2^(18*q)*(2*j+0)+13*(2^(18*q)-1)/27) sage: a == b 2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27 == 2*j*2^(18*q) + 13*(2^(18*q) - 1)/27 sage: bool(_) True Note that that bool(equation) could return False even though an equation is True if the system is not able to show that the equation is True. Hope that helps, Mike --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Python Imaging Library
Hi all, Thanks a lot for your nice and quick answer. You have solved my problem. Have a nice day wherever you are, Best regards, Jérôme Landré University of Reims France On 16 sep, 20:06, Robert Bradshaw <[EMAIL PROTECTED]> wrote: > You can also install nearly any Python library by doing "sage -python > setup.py" > > - Robert > > On Sep 16, 2008, at 4:26 AM, David Joyner wrote: > > > > > Besides Timothy's suggestion, you might be able to install PIL on > > top of > > Sage using > > > sage -i PIL-1.1.5 > > > It is listed among Sage's experimental packages at > >http://www.sagemath.org/packages/experimental/ > > (which means it might work and it might not:-). > > > On Tue, Sep 16, 2008 at 2:56 AM, [EMAIL PROTECTED] > > <[EMAIL PROTECTED]> wrote: > > >> Hi, > > >> I have installed Python Imaging Library (PIL) on my Linux box, I can > >> access it in python however I don't have access to PIL functions > >> while > >> working with Sage. > > >> My configuration: Sage 3.1.1, PIL 1.1.5, python 2.4.4 > > >> Is there any command line parameter I can pass to Sage in order to > >> use > >> PIL in Sage ? Can you help me to find a solution please ? > > >> Thanks in advance for your nice reply, have a nice day, > > >> jerome.landre > >> University of Reims > >> France --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] using "=="
Still a Sage newbie. I discovered the "==" comparison operator and tried this: sage: 2*n+3==(6*n+9)/3 True sage: 4==5 False So I thought Sage would be useful to check on some messy algebra I was doing (one example out of many): sage: (2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27) == (2^(18*q)*(2*j+0)+13*(2^(18*q)-1)/27) 2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27 == 2*j*2^(18*q) + 13*(2^(18*q) - 1)/27 (well the email program folded the lines so for clarity I refolded them in a more-readable manner) But that comparison did not tell me what I was expecting. In fact it didn't tell me anythig. The following is a rather lame substitute (proof by example): sage: for q in range(2): for j in range(2): (2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27)==(2^(18*q)*(2*j+0)+13*(2^(18*q)-1)/27) + 1 : False False False False sage: for q in range(2): for j in range(2): (2*j*2^(18*q) + 13*2^(18*q)/27 - 13/27)==(2^(18*q)*(2*j+0)+13*(2^(18*q)-1)/27) : True True True True (No refolding of lines there...) At least that approach serves as a credibility check. The question is: how do I use Sage to check on my algebra? Bob Wonderly --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Questions about parallel sage, i.e. dsage
On Tue, Sep 16, 2008 at 12:16 PM, Yann Le Du <[EMAIL PROTECTED]> wrote: > > Hello, > > I tried to email the person apprently responsible for dsage, Yi Qiang, > about this, to no avail, so I turn to the list. > > I use sage, v. 3.1.1, and am trying to build an application (Monte Carlo > stuff) and use dsage to parallelize the code : very easy stuff, just do a > series of jobs, done normally in sequence on a single computer, in > parallel on many. Is it a bunch of computers all over on a network? Just curious what sort of "many computers" you have at your disposal. > > So I fiddled around with dsage, managed to understand the basics, and I > find it very good, yet I have a few questions/remarks : > > 1/ Why isn't there a clear, publicized, illustrated description of how to > use dsage ? I managed to make it work, but only after googling hard. > > 2/ How can I send a job to a worker that will output intermediate values ? > I mean, say the job sent to a particular worker computes some value, and > that it takes 100 iterations, how can I output temporary values every 10 > iterations and have the server report those intermediate values ? > > 3/ I noticed that workers can connect any time, really, and receive jobs > even if they connect to the server only after the server started some > sequence of jobs, which is cool. But I also noticed that if a worker gets > killed, then its job gets lost. Isn't it possible for the server to check > if a worker is alive, every once in a while, and if not requeue its job ? > > 4/ What is the function I can use to check which worker did what, and if > it's alive, and what job got interrupted. > > 5/ What test can I apply to a dsage job to see if it's finished ? Say a > job outputs a list, and I want to plot it, can I say something like "If > there is some output, plot it, otherwise wait." ? > > 6/ If you have any notes, drafts, illustrating some of dsage > functionalities, I'd be more than happy to check them out. > > Cheers, > > -- > Yann Le Du > > > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Questions about parallel sage, i.e. dsage
Hello, I tried to email the person apprently responsible for dsage, Yi Qiang, about this, to no avail, so I turn to the list. I use sage, v. 3.1.1, and am trying to build an application (Monte Carlo stuff) and use dsage to parallelize the code : very easy stuff, just do a series of jobs, done normally in sequence on a single computer, in parallel on many. So I fiddled around with dsage, managed to understand the basics, and I find it very good, yet I have a few questions/remarks : 1/ Why isn't there a clear, publicized, illustrated description of how to use dsage ? I managed to make it work, but only after googling hard. 2/ How can I send a job to a worker that will output intermediate values ? I mean, say the job sent to a particular worker computes some value, and that it takes 100 iterations, how can I output temporary values every 10 iterations and have the server report those intermediate values ? 3/ I noticed that workers can connect any time, really, and receive jobs even if they connect to the server only after the server started some sequence of jobs, which is cool. But I also noticed that if a worker gets killed, then its job gets lost. Isn't it possible for the server to check if a worker is alive, every once in a while, and if not requeue its job ? 4/ What is the function I can use to check which worker did what, and if it's alive, and what job got interrupted. 5/ What test can I apply to a dsage job to see if it's finished ? Say a job outputs a list, and I want to plot it, can I say something like "If there is some output, plot it, otherwise wait." ? 6/ If you have any notes, drafts, illustrating some of dsage functionalities, I'd be more than happy to check them out. Cheers, -- Yann Le Du --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: "Direct" installation of Maxima, etc.
On Tue, Sep 16, 2008 at 11:49 AM, Mike Witt <[EMAIL PROTECTED]> wrote: > > Sage creates shell scripts like this in /usr/local/bin: > > [EMAIL PROTECTED] ~]$ cat /usr/local/bin/maxima#!/bin/sh > sage -maxima $* > > What happens if I install some of these programs (such as Maxima, gap, > R) > directly (for example if I were to do a "yum install maxima") ? > I'm assuming (perhaps I'm wrong) that this will put an actual maxima > executable in /usr/local/bin/maxima. > > So, what I'm curious about, is whether those shell scripts that sage > puts in /usr/local/bin are actually used by sage, or whether they > are just a convenience in case someone wants to invoke one of those > tools by name from the shell. They are *not* used by Sage. They are only a convenience in case someone wants to invoke one of those tools by name from the shell. > I hope that question made sense. The immediate practical import is > that I do actually want to do: "yum info maxima maxima-gui" and I'm > unclear if this will "clash" with my sage installation. It will not clash. You may want to delete the sage-created /usr/local/bin/maxim though. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] "Direct" installation of Maxima, etc.
Sage creates shell scripts like this in /usr/local/bin: [EMAIL PROTECTED] ~]$ cat /usr/local/bin/maxima#!/bin/sh sage -maxima $* What happens if I install some of these programs (such as Maxima, gap, R) directly (for example if I were to do a "yum install maxima") ? I'm assuming (perhaps I'm wrong) that this will put an actual maxima executable in /usr/local/bin/maxima. So, what I'm curious about, is whether those shell scripts that sage puts in /usr/local/bin are actually used by sage, or whether they are just a convenience in case someone wants to invoke one of those tools by name from the shell. I hope that question made sense. The immediate practical import is that I do actually want to do: "yum info maxima maxima-gui" and I'm unclear if this will "clash" with my sage installation. Thanks, -Mike --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Python Imaging Library
You can also install nearly any Python library by doing "sage -python setup.py" - Robert On Sep 16, 2008, at 4:26 AM, David Joyner wrote: > > Besides Timothy's suggestion, you might be able to install PIL on > top of > Sage using > > sage -i PIL-1.1.5 > > It is listed among Sage's experimental packages at > http://www.sagemath.org/packages/experimental/ > (which means it might work and it might not:-). > > > On Tue, Sep 16, 2008 at 2:56 AM, [EMAIL PROTECTED] > <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> I have installed Python Imaging Library (PIL) on my Linux box, I can >> access it in python however I don't have access to PIL functions >> while >> working with Sage. >> >> My configuration: Sage 3.1.1, PIL 1.1.5, python 2.4.4 >> >> Is there any command line parameter I can pass to Sage in order to >> use >> PIL in Sage ? Can you help me to find a solution please ? >> >> Thanks in advance for your nice reply, have a nice day, >> >> jerome.landre >> University of Reims >> France >> >>> >> > > > --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: behaviour of reduce ?
On Tuesday 16 September 2008, Pierre wrote: > cool, thanks a lot ! The solution to this problem is _really_ simple, if we tell Singular "don't do tail reduction" then it won't tail reduce. Patch coming up. Alternatively, the forementioned patches might be interesting to you since they speed up multivariate polynomial arithmetic over absolute number fields dramatically. All they need are reviews ... hint, hint ;-) Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: behaviour of reduce ?
cool, thanks a lot ! On Sep 16, 6:42 pm, Martin Albrecht <[EMAIL PROTECTED]> wrote: > On Tuesday 16 September 2008, Pierre wrote: > > > > > What did you put in J ? in fact, the following already produces the > > bug (sorry for not trying earlier, i thought i did try and there was > > no bug... must have changed a little something): > > > sage: k= CyclotomicField(3, "w") > > sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) > > sage: y9, y12, y13, y15= A.gens() > > sage: J= [ y9 + y12]*A; J.groebner_basis() > > sage: J.reduce(y9 - y12) > > -2*y12 > > sage: J.reduce(y13*y15) > > y13*y15 > > sage: J.reduce(y13*y15 + y9 - y12) > > y13*y15 + y9 - y12 > > > Which is odd. I had read J.reduce?, it seems to indicate that the > > function returns what i would also call the reduction, but that is > > linear. So I think this is a bug. > > Luckily (because we can fix it)/ unfortunately (because I'm probably to blame) > it seems like a bug in our pexpect interface to Singular. > > First, this is vanilla 3.1.2.rc2: > > sage: k. = CyclotomicField(3) > sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) > sage: A.inject_variables() > sage: J= [ y9 + y12]*A > sage: J.groebner_basis() > sage: J.reduce(y13*y15 + y9 - y12) > y13*y15 + y9 - y12 > > This is 3.1.2.rc2 with > > http://trac.sagemath.org/sage_trac/ticket/686http://trac.sagemath.org/sage_trac/ticket/4022http://trac.sagemath.org/sage_trac/ticket/4021 > > applied: > > sage: k. = CyclotomicField(3) > sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) > sage: A.inject_variables() > sage: J= [ y9 + y12]*A > sage: J.groebner_basis() > sage: J.reduce(y13*y15 + y9 - y12) > y13*y15 - 2*y12 > > so quite obviously we fail to tell Singular via pexpect to perform tail > reduction while in the libSingular wrapper we do tail reduction. > > I'll look into it. Btw. reduction to zero should still work, since that > doesn't require tail reduction. > > Cheers, > Martin > > -- > name: Martin Albrecht > _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 > _www:http://www.informatik.uni-bremen.de/~malb > _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: behaviour of reduce ?
On Tuesday 16 September 2008, Pierre wrote: > What did you put in J ? in fact, the following already produces the > bug (sorry for not trying earlier, i thought i did try and there was > no bug... must have changed a little something): > > sage: k= CyclotomicField(3, "w") > sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) > sage: y9, y12, y13, y15= A.gens() > sage: J= [ y9 + y12]*A; J.groebner_basis() > sage: J.reduce(y9 - y12) > -2*y12 > sage: J.reduce(y13*y15) > y13*y15 > sage: J.reduce(y13*y15 + y9 - y12) > y13*y15 + y9 - y12 > > Which is odd. I had read J.reduce?, it seems to indicate that the > function returns what i would also call the reduction, but that is > linear. So I think this is a bug. Luckily (because we can fix it)/ unfortunately (because I'm probably to blame) it seems like a bug in our pexpect interface to Singular. First, this is vanilla 3.1.2.rc2: sage: k. = CyclotomicField(3) sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) sage: A.inject_variables() sage: J= [ y9 + y12]*A sage: J.groebner_basis() sage: J.reduce(y13*y15 + y9 - y12) y13*y15 + y9 - y12 This is 3.1.2.rc2 with http://trac.sagemath.org/sage_trac/ticket/686 http://trac.sagemath.org/sage_trac/ticket/4022 http://trac.sagemath.org/sage_trac/ticket/4021 applied: sage: k. = CyclotomicField(3) sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) sage: A.inject_variables() sage: J= [ y9 + y12]*A sage: J.groebner_basis() sage: J.reduce(y13*y15 + y9 - y12) y13*y15 - 2*y12 so quite obviously we fail to tell Singular via pexpect to perform tail reduction while in the libSingular wrapper we do tail reduction. I'll look into it. Btw. reduction to zero should still work, since that doesn't require tail reduction. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: behaviour of reduce ?
What did you put in J ? in fact, the following already produces the bug (sorry for not trying earlier, i thought i did try and there was no bug... must have changed a little something): sage: k= CyclotomicField(3, "w") sage: A= PolynomialRing(k, ["y9", "y12", "y13", "y15"]) sage: y9, y12, y13, y15= A.gens() sage: J= [ y9 + y12]*A; J.groebner_basis() sage: J.reduce(y9 - y12) -2*y12 sage: J.reduce(y13*y15) y13*y15 sage: J.reduce(y13*y15 + y9 - y12) y13*y15 + y9 - y12 Which is odd. I had read J.reduce?, it seems to indicate that the function returns what i would also call the reduction, but that is linear. So I think this is a bug. On Sep 16, 12:33 pm, Martin Albrecht <[EMAIL PROTECTED]> wrote: > > that's what i expect from the term 'reduction' anyway > > reduce is defined as: > >Reduce an element modulo the reduced Groebner basis for this > ideal. This returns 0 if and only if the element is in this > ideal. In any case, this reduction is unique up to monomial > orders. > > See J.reduce? > > > So if this is a bug i'll give you more details. > > From what you've provided it is hard to tell. Could you provide a small > reproducible example? I know you said its hard to do but without it, it will > be difficult to help you. > > Here are my attempts: > > sage: P. = PolynomialRing(CyclotomicField(3)) > sage: J.reduce(y13 + y9 - y12) > (-2)*y12 + y13 > sage: J.reduce(y13*y15 + y9 - y12) > y13*y15 + (-2)*y12 > sage: J.reduce(y9 - y12) > (-2)*y12 > > Cheers, > Martin > > -- > name: Martin Albrecht > _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 > _www:http://www.informatik.uni-bremen.de/~malb > _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Python Imaging Library
Dear Jerome, On Sep 16, 1:26 pm, "David Joyner" <[EMAIL PROTECTED]> wrote: > It is listed among Sage's experimental packages > athttp://www.sagemath.org/packages/experimental/ > (which means it might work and it might not:-). One encouraging remark: On my Suse Linux 64bit machine, the experimental PIL package works fine. Cheers Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Python Imaging Library
Besides Timothy's suggestion, you might be able to install PIL on top of Sage using sage -i PIL-1.1.5 It is listed among Sage's experimental packages at http://www.sagemath.org/packages/experimental/ (which means it might work and it might not:-). On Tue, Sep 16, 2008 at 2:56 AM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Hi, > > I have installed Python Imaging Library (PIL) on my Linux box, I can > access it in python however I don't have access to PIL functions while > working with Sage. > > My configuration: Sage 3.1.1, PIL 1.1.5, python 2.4.4 > > Is there any command line parameter I can pass to Sage in order to use > PIL in Sage ? Can you help me to find a solution please ? > > Thanks in advance for your nice reply, have a nice day, > > jerome.landre > University of Reims > France > > > > --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: behaviour of reduce ?
> that's what i expect from the term 'reduction' anyway reduce is defined as: Reduce an element modulo the reduced Groebner basis for this ideal. This returns 0 if and only if the element is in this ideal. In any case, this reduction is unique up to monomial orders. See J.reduce? > So if this is a bug i'll give you more details. >From what you've provided it is hard to tell. Could you provide a small reproducible example? I know you said its hard to do but without it, it will be difficult to help you. Here are my attempts: sage: P. = PolynomialRing(CyclotomicField(3)) sage: J.reduce(y13 + y9 - y12) (-2)*y12 + y13 sage: J.reduce(y13*y15 + y9 - y12) y13*y15 + (-2)*y12 sage: J.reduce(y9 - y12) (-2)*y12 Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] ANN: OpenOpt 0.19 (free optimization framework)
Hello, We're pleased to announce: OpenOpt v 0.19, free (license: BSD) optimization framework (written in Python language) with connections to lots of solvers (some are C- or Fortran-written) is released. Changes since previous release 0.18 (June 15, 2008): * Some changes for NLP/NSP solver ralg (especially related to handling linear constraints Ax <= b, Aeq x = beq, lb <= x <= ub) * Bugfix for ralg and IPOPT linear constraints handling * ALGENCAN v 2.0.x has been connected (v 1.0 is no longer supported, v 2.0.3 or later is required) * Bugfix for constrained NLSP graphic output (constrained nssolve isn't turned to latest ralg version yet) * Scale parameter for lpSolve (p.scale = {False} | True | 0 | 1) * New OO class LLAVP (linear least absolute values aka linear least deviations) * Improved handling of non-linear functions with restricted dom * GLP (global) solver galileo now can handle integer problems (via p.useInteger = 1 or True) * Another one GLP (global) solver connected: pswarm * Lots of work related to oofun concept (see OO Doc page for details) * Add converters llsp2nlp, llavp2nsp * Convenient handling of maximization problems (via p.goal = 'max' or 'maximum') * Some code clean up and bugfixes Backward incompatibility: * Changed objective function in LLSP * MATLAB-style gradtol renamed to gtol (for to provide same syntax to scipy.optimize fmin_bfgs, fmin_cg and less-to-type) Newsline: http://openopt.blogspot.com/ Homepage: http://scipy.org/scipy/scikits/wiki/OpenOpt Regards, OpenOpt developers. --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] behaviour of reduce ?
hi there, this is going to be even worse than my recent bug report in terms of reproducing the error. I guess i'll start with describing what happens, and then if someone tells me that it's a bug and not a feature, then i'll try to get a minimal example. So I've got a polynomial ring with a few dozens variables, over a cyclotomic field, and i've got an ideal J with hundreds of generators. J contains at least y9 + y12. Then i got something like: sage: J.reduce(y9 - y12) 2*y9 #which is fine sage: J.reduce(y13*y15) y13*y15 #why not sage: J.reduce(y13*y15 + y9 - y12) y13*y15 + y9 - y12 Now what's up with that ? shouldn't it be y13*y15 + 2*y9 ? that's what i expect from the term 'reduction' anyway. Is this normal or is it a bug ? if it's a bug, could it influence the equivalence x in J iff J.reduce(x) == 0 ? So if this is a bug i'll give you more details. thanks! Pierre --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: bug with sums of matrices
cool ! now look for another bizarre bug report from me in a coming thread... On Sep 15, 7:03 pm, "Craig Citro" <[EMAIL PROTECTED]> wrote: > Pierre, > > You'll be happy to hear that I got the following response from the > Singular team this morning: > > = > > Hello Craig Citro, > thanks for the bug report. > The bug is in the gcd computation for multivariate polynomials > over a field extension: therefore it does not show up in the case > of univariate polynomials or if all coefficients are in Q. > The next Singular version (3-1-0) uses a different algorithm at that place, > which is not affected by this error. > > Hans Schoenemann > > == > > So it looks like this will be fixed on the other end soon ... > > -cc --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: Python Imaging Library
Sage doesn't use your system install of Python, but instead it uses the one included in the Sage distribution. Assuming you are building PIL from source use the command: sage -python setup.py install On Tue, Sep 16, 2008 at 2:56 AM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Hi, > > I have installed Python Imaging Library (PIL) on my Linux box, I can > access it in python however I don't have access to PIL functions while > working with Sage. > > My configuration: Sage 3.1.1, PIL 1.1.5, python 2.4.4 > > Is there any command line parameter I can pass to Sage in order to use > PIL in Sage ? Can you help me to find a solution please ? > > Thanks in advance for your nice reply, have a nice day, > > jerome.landre > University of Reims > France > > > > --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-support] Re: jsmath typesetting for sqrt, sin, etc.
> Do you have the jsmath TeX fonts installed? Click on the "jsmath" icon > at the bottom of the page and check to see if it says "jsMath v3.5 (TeX > fonts)". If it doesn't, that may be the problem. > > If you don't have the tex fonts, you might go > tohttp://www.math.union.edu/~dpvc/jsMath/download/jsMath-fonts.htmland > download them and install them on your computer. > > Thanks, > > Jason Thanks, this did the trick. Hartmut --~--~-~--~~~---~--~~ To post to this group, send email to sage-support@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-support URLs: http://www.sagemath.org -~--~~~~--~~--~--~---