

Mathics - A free, light-weight alternative to Mathematica with support for Sage - clockwork_189
http://www.mathics.org/

======
veyron

        Sum[x^2,{x,1,y}]-y*(y+1)*(2*y+1)/6
    

mathematica correctly handles this:

    
    
        $ math
        Mathematica 8.0 for Mac OS X x86 (64-bit)
        Copyright 1988-2010 Wolfram Research, Inc.
    
        In[1]:= Sum[x^2,{x,1,y}]-y*(y+1)*(2*y+1)/6
    
        Out[1]= 0
    

but mathics bombs out with error

    
    
        Sum::iterb: Iterator does not have appropriate bounds.
        Sum::iterb: Iterator does not have appropriate bounds.

~~~
Rickasaurus
I'm sure it will get better with time. It's trying to catch up with a huge
software product that has hundreds if not thousands of professional engineers
working full time on it. You should file a bug report.

~~~
kanzure
Could you provide a citation that Mathematica has "if not thousands of
professional engineers working full time on it", please? I also find the
claims of 100s dubious. But I'm interested.

~~~
rmah
Wikipedia.org states that Wolfram Research has 400+ employees. Given typical
software company staffing levels, they probably have apx 100 people working on
product development.

For comparison, similar software companies include MathWorks, the publishers
of Matlab, with 2,400 employees and SAS Institute with 12,000 employees.

~~~
katabatic
In addition to that, Mathematica has been in continuous development for over
24 years. So give Mathics a little time to catch up :)

~~~
sigkill
In addition to that, Stephen Wolfram himself is pretty smart even if he
behaves like a dick.

------
gsivil
Sad that once more the most upvoted comment is negative. Congratulations for
attacking a problem like this one.

~~~
pbhjpbhj
How do you know how many upvotes a comment has?

~~~
drcube
Aren't HN comments sorted in order of popularity by votes? Is the top comment
not the highest upvoted?

I don't know, but this is what I've always assumed.

~~~
nitrogen
Last I heard (and I'm no authority on the subject), HN uses a sorting
algorithm that incorporates many variables, including the age of the post,
number of upvotes, reputation of the commenter, etc.

------
sn6uv
I am an undergraduate physics student, and we are forced to use Mathematica on
a weekly basis. I avoid it whenever possible, but this is what I've been
looking for. Awesome!

~~~
ohgodthecat
Why do you avoid it, because it is proprietary?

Because mathematica is actually really a pretty great math program.

~~~
sn6uv
Yeah, mostly because it is proprietary and crashes often (Mathematica 8
especially).

The vast majority of students in my program are non-programmers. The only
'programming language' they know is mathematica which I think is a real shame.

Worse than that is that most of them have developed a dependence on
Mathematica; without it they are severely limited in what they can do. We are
provided with free copies (student version), but once we graduate will have to
pay the full price if we want to continue using it.

I guess I just don't like having my abilities to solve problems tied to an
expensive, closed source program. I do admit, it is very powerful.

~~~
vtail
I really don't understand this kind of aversion to proprietary programs.
Mathematica is a high quality program with excellent documentation (I cannot
comment on crashes - it never crashed on my but I'm not using it that
extensively). Maintaining and improving such product takes a lot of effort
that should be paid for. Student version is really inexpensive at $139 - most
books cost comparable sums of money. Once you get a job with real income, you
can either ask your employer to buy it for you or can afford to buy it
yourself.

As author(s) of Mathics will surely discover very soon, the devil is in
details. There are lots of corner cases and improvement opportunities that
takes many man-years to implement. It may seem easy to get 50% of
functionality quickly; getting the other half is much trickier.

~~~
vog
The general problem with proprietary software in sciences (not just math) is
that it cuts the chain of replicability and confirmability. Unless you have
the source (in a human-readable form) and have the right to compile it on your
own, this is a shaky ground to rely scientifiy results on.

This is not an issue if you use that software for dicovering stuff. But it is
a huge problem for e.g. mathematical proofs, or statistical analysis in other
fields.

Note that I'm not saying that proprietary software has more bugs. But it's a
problem if your result depends on using a black-box whose creators hide their
implementation from you. Also, even if your may read their code, this is
worthless unless you are allowed to compile your own version from that.

Also note that the same issue exists with hardware, but the question whether
your processor adds and multiplies correctly is on a totally different level
than whether complex algorithms have been implemented correctly.

~~~
programnature
Do you think the world would be better off if Mathematica, Matlab, SPSS etc
didn't exist?

In reality, they make experiments more repeatable, not less. The real offender
is the in-house, proprietary software developed by individual research groups.
It is almost never open sourced. And it is far more likely to be riddled with
bugs.

Computer experiments are just that: experiments. Any real researcher employs
multiple methods to confirm their results.

~~~
mayanksinghal
> Do you think the world would be better off if Mathematica, Matlab, SPSS etc
> didn't exist?

No, but I will celebrate a decent open source alternative, which is what the
root was probably suggesting as well. Mathematica is great as an entry
software - much like MS Word for word processing. But having LibreOffice is
good.

~~~
programnature
I'm all for open source.

I just don't think the reproducibility of experiments is a valid argument
against commercial scientific software.

It's an age-old purist argument. In the meantime, people have been getting
stuff done. And without those tools, the "huge problem" would be even huge-er.

The real problem isn't reproducibility, it is extensibility. The development
agenda isn't under your control. So if you get to the edge of a field, you
might find you hit a wall.

~~~
mayanksinghal
> The real problem isn't reproducibility, it is extensibility

I think its both. Extensibility is obviously an issue. But so is
extensibility, I will give two reasons for it:

1\. Easy reproducibility is necessary for extensibility. Firstly, academia is
not very good at publishing their tools or their codebases. We have given so
much weight to the concept behind the implementations and not the
implementations themselves, that most people skip publishing implementations.
What it means is that the next research group now has to start from scratch in
implementing the concepts before they can think of extending the work.
Reproducibility is not only to verify previously reported results, but also to
create a starting point for further work. Secondly, given that the tools that
the researcher is using is proprietary, the trend is to make it closed source.
It may be because the tool is not ubiquitous and hence the researcher sees no
point in distributing his/her implementations - or because he had not followed
any guidelines (or in case of Matlab and Mathematica - they didn't exist/were-
not-popular). He might not be sure about his implementations, and hence cannot
publish them.

2\. Reproducibility has always been the base for science. I don't need to
trust the work a random researcher that I don't personally know. I can just
verify his/her findings myself. The requirement of commercial software creates
a huge monetary barrier in this. It is wasteful of me to buy a licence for a
simple verification that I am not planning to extend. Given that non-academic
licenses of most of these softwares are insanely expensive, it makes this
verification to be confined to researchers from big research groups in large
companies.

------
programnature
Interesting attempt, but it is easy to break.

Try

Plot[Sin[x], {x, -5, 200}]

The plot is all over the place. In Mathematica it is a smooth sine wave.

You can put the same input into Wolfram Alpha and see how it looks there.

------
pnathan
What about Maxima[1]? I've used it for the last 7 years when I needed
mathematical operations.

Its not only gratis, its libre.

[1] <http://maxima.sourceforge.net/>

------
oofabz
I love a lot of things about Mathematica. Its syntax is not one of them.

~~~
freditup
I think Mathematica is designed more for engineering/non programming folks.
You would think this shouldn't affect people with programming backgrounds, but
I also have felt Mathematica seems much harder to learn than some other
languages.

------
pbhjpbhj
> _The programming language of Mathics is meant to resemble Wolfram's famous
> Mathematica &reg; as much as possible._ //

Sounds,like the sort of thing an opposition lawyer would bring up in IP
proceedings in a "so you copied the implementation and interface" sort of way
...

~~~
gaius
Octave has been consciously MATLAB-like for a couple of decades now
<http://www.gnu.org/software/octave/>

------
veridies
It would be great if it would allow R functions; it's a much better engine for
stats than Sage.

~~~
veyron
Sage covers many things, including symbolic algebra. TMK R does not handle
those well ...

~~~
veridies
Absolutely true. But being able to invoke both would make the software
incredibly powerful.

~~~
Scaevolus
You can invoke R from Sage. <http://tutorial.sagenb.org/home/pub/4/>

------
joelthelion
This looks neat, but isn't it contributing to the fragmentation of the python
numerical ecosystem? We already have Numpy/Scipy/SAGE/SymPy and probably more,
do we really need yet another package?

~~~
opminion
It's built on top of Sage, which is built on top of SciPy.

There is a need for a Mathematica-like syntax parser.

(Edited)

------
christiangenco
Oh man this is fantastic. Where was this when I was taking linear algebra?

------
iambot
The use online link is 404 ing, not sure if it's just for me, a pitty I would
have liked to have seen that page.

------
thvdburgt
I can't seem to find the license for the source code anywhere, that is a bit
of a bummer.

~~~
mkl
It's GPL (click on the source code link and scroll down).

------
chj
The latency kills the fun. But it is free, what can you say!

