Try the demo here:
http://www.mathics.net/ (click on the "demo" down at the bottom to see
some examples)
Does anyone know these people?
Thanks,
Jason
It's a one-man show: http://www.poeschko.com/
Perhaps someone should email him and ask why he doesn't just join Sage ?
John
>
> Thanks,
>
> Jason
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
I know him. He will apply for GSoC2012.
Daniel
And I've CCed this thread to him. Maybe he can tell us something about
his plans for Mathics...
Daniel
therefore lack the “structural beauty” of the Mathematica® language.
This is pretty nice.
I used it for some basic mathematica-like stuff, and it seemed to work
fine. I did try an integral though:
Integrate[Sin[x]*Cos[x+1],x]
and I seem to be able to count to 10 before getting the answer, even
if I retry it several times in the session. That
seems surprisingly slow, given:
sage: time integrate(sin(x)*cos(x+1), x)
-1/2*x*sin(1) - 1/4*cos(2*x + 1)
Time: CPU 0.01 s, Wall: 0.01 s
sage: time integrate(sin(x)*cos(x+1), x, algorithm='sympy')
-1/2*x*sin(x + 1)*cos(x) + 1/2*x*sin(x)*cos(x + 1) + 1/2*sin(x + 1)*sin(x)
Time: CPU 0.53 s, Wall: 0.53 s
I do realize sympy is way slower than maxima at this, but still it's
much faster than the website. I wonder what happens behind the scenes
to make that slow... The very first time I tried it in sympy it was
much slower due to imports (on my very slow disk):
sage: time integrate(sin(x)*cos(x+1), x, algorithm='sympy') # first
time only...
-1/2*x*sin(x + 1)*cos(x) + 1/2*x*sin(x)*cos(x + 1) + 1/2*sin(x + 1)*sin(x)
Time: CPU 1.29 s, Wall: 15.64 s
>
>
> Not sure about the "huge footprint" of a (standard) Sage
> installation. Removing f2c, MoinMoin, bitmap fonts, Fortran binaries;
> adding GCC... ;-)
>
>
> -leif
>
> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to sage-devel+...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
I'm not convinced of the "structural beauty" of Mathematica, but I can see a lot
of advantages of accepting a Mathematica syntax. Mathematica is much more
consistent than Sage. Since Sage often has various packages which can do what
you want, you often need to specify what one, which is fine if you know of them.
But Mathematica seems simpler in some respects, though I still find the syntax
quite daunting.
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
> This is pretty nice.
>
> I used it for some basic mathematica-like stuff, and it seemed to work
> fine. I did try an integral though:
>
> Integrate[Sin[x]*Cos[x+1],x]
>
> and I seem to be able to count to 10 before getting the answer, even
> if I retry it several times in the session. That
> seems surprisingly slow, given:
Perhaps the server was under a lot of load at the time. I just tried the same
and got an almost instant answer.
Timing[Integrate[Sin[x]*Cos[x+1],x]]
gave the time as 0.52 seconds.
That said, 0.52 seconds is almost 100x slower than Mathematica running on my Sun.
In[2]:= Timing[Integrate[Sin[x]*Cos[x+1],x]]
-Cos[1 + 2 x] x Sin[1]
Out[2]= {0.004724, ------------- - --------}
4 2
The output from MathICS is also in a more complicated form (more terms) than the
output from Mathematica.
Dave
John
Perhaps someone should email him and ask why he doesn't just join Sage ?
Maybe he can tell us something about
his plans for Mathics...
"Please support Mathics by giving something via Flattr!
WANTED: Developers! Please contact me at mail(at)mathics.org or via
Twitter if you want to be part of this awesome project!"
:-)
Granted that it seems to use a lot of Sympy and has a much more Mma-
like syntax, I can see a definite niche for this. The server
currently works fine.
Why it isn't called something that makes its
connection with Sympy clearer? I see a lot about Sage, but not too
much about Sympy or mpmath.
Maybe it should try to get more closely
connected to the scientific Python community, with a different
language for those familiar with Mma.
"There is already a well-established free computer algebra system:
Sage. It is really powerful and has a growing, active community behind
it. Yet, by design, it will always be bound to Python syntax and
therefore lack the “structural beauty” of the Mathematica® language.
Mathics aims at combining the best of both worlds: the beauty of
Mathematica® backed by a free, extensible Python core, with potential
to integrate all desired Sage functionality."
"The core of Mathics is and shall remain independent of Sage, as it
adds a huge footprint to the installation and Mathics should remain
rather lightweight. In addition, it should be easier to install
Mathics on Windows and mobile platforms where Sage is not available.
That's why the light-weight SymPy Python package is prefered for
advanced calculations, like integration, that will not be implemented
in Mathics itself."
Subject to change [Windows and mobile platforms]... (?)
Not sure about the "huge footprint" of a (standard) Sage
installation. Removing f2c, MoinMoin, bitmap fonts, Fortran binaries;
adding GCC... ;-)
This is pretty nice.
I used it for some basic mathematica-like stuff, and it seemed to work
fine. I did try an integral though:Integrate[Sin[x]*Cos[x+1],x]
and I seem to be able to count to 10 before getting the answer, even
if I retry it several times in the session. That
seems surprisingly slow, given:sage: time integrate(sin(x)*cos(x+1), x)
-1/2*x*sin(1) - 1/4*cos(2*x + 1)
Time: CPU 0.01 s, Wall: 0.01 s
sage: time integrate(sin(x)*cos(x+1), x, algorithm='sympy')
-1/2*x*sin(x + 1)*cos(x) + 1/2*x*sin(x)*cos(x + 1) + 1/2*sin(x + 1)*sin(x)
Time: CPU 0.53 s, Wall: 0.53 sI do realize sympy is way slower than maxima at this, but still it's
much faster than the website. I wonder what happens behind the scenes
to make that slow...
On 03/31/12 10:01 PM, William Stein wrote:> That
> seems surprisingly slow, given:
Perhaps the server was under a lot of load at the time. I just tried the same
and got an almost instant answer.
Timing[Integrate[Sin[x]*Cos[x+1],x]]
gave the time as 0.52 seconds.
That said, 0.52 seconds is almost 100x slower than Mathematica running on my Sun.
In[2]:= Timing[Integrate[Sin[x]*Cos[x+1],x]]
-Cos[1 + 2 x] x Sin[1]
Out[2]= {0.004724, ------------- - --------}
4 2The output from MathICS is also in a more complicated form (more terms) than the
output from Mathematica.
Engine->Sage
I at least know that the creator of that project has a sage trac account.
+1. I used MMA a lot before Sage, and the consistency of the MMA
language and the simple lisp-like form of its expressions were things
that I missed a lot.
Jason
I have been thinking about such a thing lately too (and was going to
post about it when I saw Bill's joke about FLINT3 in javascript). I
think there would be some very good uses for a simple SR->javascript
compiler. For example, we could have truly dynamic graphs all in the
browser client. Imagine doing:
var('a')
plot(sin(a*x), (x,0,1))
and having a javascript graph pop up with a slider for a. Or
var('a')
@interact
def _(a=(0,1)):
interactive_plot(sin(a*x), (x,0,1))
and having the interact slider directly control a javascript plot of
sin(ax). We could do that if we can translate sin(a*x) into a
javascript function, then send that javascript function to the browser.
>
> On the other hand, using Sage to provide much broader mathematical
> functionality in Mathics is definitely on my to-do list. And, as
> mentioned earlier, integrating Mathics "back" into Sage would also
> appeal to me.
>
> I never had the intention of making Mathics a fully integrated CAS. I
> never wanted to reinvent all the mathematical functionality that's
> already out there, which is why I used SymPy and Sage for the
> mathematically "heavy" stuff.
>
> Summing up, I see Mathics as a light-weight front-end providing
> Mathematica-like syntax and look-and-feel � please don't sue me, Wolfram
> � using existing CAS as back-ends for doing the actual mathematical
> computations. Thereby, it's both a use case and (more theoretically) an
> alternative to Sage; which probably makes it a potential part of Sage,
> the beautiful unification of all alternatives. ;)
I see another use: we have a very simple MMA<->Sage translator we use to
implement the mathematica() command. You have a much more sophisticated
translator.
I also see it being very useful for people learning Sage from MMA. They
can enter MMA notation, and see the corresponding python/Sage notation.
The "don't sue me" part worries me a little. If I understand things
correctly, Wolfram has been known to sue people. Richard Fateman has
implemented a product that uses the MMA notation---perhaps he can
enlighten us as to the probability of being sued and what we need to be
careful of? (I'm asking him as an experienced person, not as a lawyer,
of course).
Thanks,
Jason
> I'm still thinking about a better way to choose Sage for integration (etc).
> One would be to introduce a Sage "package" that overrides all corresponding
> SymPy-enabled functions; this would require the implementation of
> Mathematica-like packages first, of course. Another way would be to have an
> option
> Engine->Sage
> for Integrate, for instance, which is probably still more Mathematica-like
> than a totally different function (symbol) SageIntegrate.
>
It's your project, but if it was me, I'd certainly go for the Engine->Sage
approach, which as you say it more Mathematica-like.
I've not looked at your program, but how did you write the parser? Do you
convert expressions to FullForm, so 1+2 is represented by
Plus[1,2]
or do you use some other method?
You might run into the same problem Richard Fateman run into, with Wolfram
Research threatening legal action over the use of their commands. If so, I'd
remind them of the famous Borland vs Lotus case
http://en.wikipedia.org/wiki/Lotus_Dev._Corp._v._Borland_Int%27l,_Inc.
which was settled in the Supreme Court in the USA.
Except that Sage doesn't use MathJax yet...
First, the new notebook needs to be merged. Then upgrading jsmath to
mathjax is trac ticket http://trac.sagemath.org/sage_trac/ticket/9774
(and pull request https://github.com/sagemath/sagenb/pull/30)
Perhaps the Sage cell server (which does use MathJax) could be listed on
the MathJax webpage.
Thanks,
Jason
It's your project, but if it was me, I'd certainly go for the Engine->Sage
approach, which as you say it more Mathematica-like.
I've not looked at your program, but how did you write the parser? Do you
convert expressions to FullForm, so 1+2 is represented byPlus[1,2]
or do you use some other method?
The patent you mentioned could easily be applied to Sage as well – so how do you deal with that there?
Are you refering to the following issues ?
http://www.infoworld.com/d/developer-world/how-wolfram-alpha-could-change-software-248?page=0,0
Cheers,
Florent
True, and they tried it with Richard Fateman, though they have never
successfully stopped Richard distributing the code.
> To Wolfram's defense, they haven't abused the court system. But its naive to
> think that you can't be sued (for any reason).
They have been abuse themselves something I think by CRC
Try to get it hosted somewhere like Nigeria.
> Should I contact Wolfram and explicitly ask whether they're "okay" with
> Mathics?
I would not, as you can be sure they would say "no". They tried this
with Richard Fateman, who produced a lisp program which took some
Mathematica input. I'm not sure if Richard wrote back to them, or just
ignored them, but his code is still around.
> Could I trust a "yes" and should I just accept a "no"? Given that
> I'm not a legal expert and don't have the money to hire one, should I rather
> take down Mathily to avoid any risks?
Well, since it's GPL, you could always take it down, and someone else
will get it hosted somewhere like Nigeria. Somehow I don't think they
would bother trying to stop that!
There are many countries where software piracy is very common, and in
such a country Wolfram Research would not waste their time trying to
pursue anyone hosting a web site with your code. They might in the
USA, Europe and a few others places, but there are vast areas of the
world where their lawyers would know they would be wasting their time.
My attitude would be:
1) Host it as you do now.
2) If they moan, point out the Borland/Lotus case, and ask how they
think your situation is materially different from that, which was
settled in the Supreme Court in favor of Borland, who made a clone of
Lotus 123.
3) If they look to get more serious, agree to take it down. Someone
woud bound to get it hosted in a country where WRI would not waste
their time.
Dave
I was just looking at Flot [1] yesterday, and we could definitely do
something like that. We could also look at what GeoGebra is doing with
their HTML5 export stuff, which can (I think) already do something like
your sin(a*x) example.
Dan
References:
[1] https://code.google.com/p/flot/
--
--- Dan Drake
----- http://mathsci.kaist.ac.kr/~drake
-------
On Apr 2, 2012 4:32 PM, "David Kirkby" <david....@onetel.net> wrote:
>
> On 2 April 2012 21:10, Jan Pöschko <jan.po...@gmail.com> wrote:
> > I am quite aware of the potential risk of being sued, but still I don't know
> > what to do about it. Isn't this a general problem when creating (free)
> > software? The patent you mentioned could easily be applied to Sage as well –
> > so how do you deal with that there?
>
> Try to get it hosted somewhere like Nigeria.
>
> > Should I contact Wolfram and explicitly ask whether they're "okay" with
> > Mathics?
>
> I would not, as you can be sure they would say "no". They tried this
> with Richard Fateman, who produced a lisp program which took some
> Mathematica input. I'm not sure if Richard wrote back to them, or just
> ignored them, but his code is still around.
>
> > Could I trust a "yes" and should I just accept a "no"? Given that
> > I'm not a legal expert and don't have the money to hire one, should I rather
> > take down Mathily to avoid any risks?
>
> Well, since it's GPL, you could always take it down, and someone else
> will get it hosted somewhere like Nigeria. Somehow I don't think they
> would bother trying to stop that!
I am also willing to host it on my department server. My university (uni of washington) has lawyers (=who I have met with in the past and who were very helpful and intelligent.
>
> There are many countries where software piracy is very common, and in
> such a country Wolfram Research would not waste their time trying to
> pursue anyone hosting a web site with your code. They might in the
> USA, Europe and a few others places, but there are vast areas of the
> world where their lawyers would know they would be wasting their time.
>
> My attitude would be:
>
> 1) Host it as you do now.
> 2) If they moan, point out the Borland/Lotus case, and ask how they
> think your situation is materially different from that, which was
> settled in the Supreme Court in favor of Borland, who made a clone of
> Lotus 123.
> 3) If they look to get more serious, agree to take it down. Someone
> woud bound to get it hosted in a country where WRI would not waste
> their time.
>
> Dave
>
Yep, and I've played with jsxgraph doing this sort of thing too.
It's definitely doable, and others are doing it right now. It's just a
matter of getting the design and interface right, then writing the code
(or maybe those two steps should be reversed, or iterated).
Jason
And here are my two examples:
http://sage.cs.drake.edu/home/pub/79/
http://sage.cs.drake.edu/home/pub/81/
Jason
Indeed, Maxima seems to be really fast on these integrals. Does anyone
know how Maxima does it? Does it use
some special integration algorithm for trigonometric integrals?
Ondrej