http://code.google.com/p/symja/
Apparently it can parse a large percentage of the Mathematica language and has
nearly 295 functions. I note it has "D[]" and "Integrate[]" as two of them.
You can try it online at
It did not take me too long to find a bug using the online version.
N[Sin[1/1000],100]
Error:
Expected number of arguments: 1 but got 2 arguments:
N[Sin[1/1000], 100]
But that is valid Mathematica syntax:
From the real Mathematica.
In[3]:= N[Sin[1/1000],100]
Out[3]= 0.0009999998333333416666664682539710097001513147348086584190048145102\
> 714673516376365515440749327845858917
Dave
Interesting. Looking through the docs to the integration functions
leads to this website with a large number of rules for integration,
which claims that in some cases, it performs much better than MMA and Maple:
http://www.apmaths.uwo.ca/~arich/
Jason
Though I can't find it now, I've seen that site before, and there was (is??)
something on the site to say that the good results compared to the commercial
products is to be expected. I can't recall the reasons, but I suspect it is
based on the fact that the tests are used during the software development. If
you know in advance what the tests are, its a lot easier to tweak the code to
give the right results.
It's interesting that Mathematica 7 performed significantly better than Maple
13, with slightly less "messy" results and around a third of the number of
incorrect results (0.9% for Mathematica, 2.7% for Maple). From discussions I've
had with Vladimir Bondarenko, he is of the opinion that Wolfram Research take
quality control more seriously than Maplesoft.
--
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?
Dave
>> Interesting. Looking through the docs to the integration functions leads
>> to this website with a large number of rules for integration, which
>> claims that in some cases, it performs much better than MMA and Maple:
>>
>> http://www.apmaths.uwo.ca/~arich/
>>
>> Jason
>>
>
> Though I can't find it now, I've seen that site before, and there was
> (is??) something on the site to say that the good results compared to
> the commercial products is to be expected. I can't recall the reasons,
> but I suspect it is based on the fact that the tests are used during the
> software development. If you know in advance what the tests are, its a
> lot easier to tweak the code to give the right results.
I found what I was looking for:
http://www.apmaths.uwo.ca/~arich/TestResultHighlights/TestResultHighlights.html
"Since Rubi was developed in conjunction with the test suite, it's good
performance is to be expected"
I tried
Do[print[i];If[i>4,Return[toobig]], {i,1,10}]
which failed. So it can't iterate
Nothing on the web site interface can include a left-hand-side for
assignment.
On Apr 20, 5:48 am, Simon <simon...@gmail.com> wrote:
> The whole symja thing is interesting...
> how much of Mathematica's syntax are they allowed to copy without breaching
> some sort of intellectual property rights?
This is probably not the right forum to discuss Wolfram's claims on
what is owned by his company.
personally, I think he was not the first to use + as in A+B. :)
Symja would be much more so if it worked reasonably well. I'm told
there's no support for high precision floating point numbers, which is
why N[] is expecting only one argument. But it seems to have multiple
issues.
> how much of Mathematica's syntax are they allowed to copy without breaching
> some sort of intellectual property rights?
I don't think it can, though it might depend on your country. Many
argue that a language can't be copyrighted.
I believe Richard Fateman had issues with Wolfram Research's lawyers
over this topic, but his code is still available on the university web
site, so I guess WRI gave up. I don't k know if issue has ever been
tested in court. I can't find any case of where a company has managed
to win a copyright case with a computer language. Of course, if in
implementing that language you needed to use a technology which was
patented, then it would be a different matter.
Octave is quite a good clone of MATLAB. I'm not sure if Mathworks have
ever tried to stop Octave, but if they have, they have not succeeded.
I suspect that's why WRI's lawyers never succeeded with Richard
Fateman.
> Since some claims were made about symja's integration capabilities, I tested
> a few integrals...
> It didn't take long to find simple integrals that Mathematica could do but
> symja left unevaluated.
I'm not sure how much relationship there is between Rubi test results
http://www.apmaths.uwo.ca/~arich/TestSuiteResults/RubiResults/RubiTestResults.html
and Symja
http://code.google.com/p/symja/
which is a fork of MathEclipse
http://sourceforge.net/projects/matheclipse/
Does Symja have anything whatsoever to do with Rubi ?
> More worryingly were results like the following
> (where it looks like it repeatedly did integration by parts the "wrong way
> around"...)
> In[9]=Integrate[x*Cos[x],x]
> Out[9]=1/2*Cos[x]*x^2+1/2*(1/3*x^3*Sin[x]-1/3*(1/4*Cos[x]*x^4+1/4*(1/5*x^5*Sin[x]-1/5*(
> 1/6*Cos[x]*x^6+1/6*(1/7*x^7*Sin[x]-1/7*(1/8*Cos[x]*x^8+1/8*(1/9*x^9*Sin[x]-1/9*(
<SNIP>
Symja seems to be basically broken, but I thought I'd mention it.
I would very much like to see a Mathematica clone. Basing it on using
LLVM as a back-end for generating compiled code would be interesting.
http://llvm.org/pubs/2010-09-HASKELLSYM-LLVM-GHC.pdf
makes a good case for using LLVM rather than generating C and
compiling the C code as Cython does. I've discussed with a couple of
people, including Ira Baxter of Semantic Designs
http://www.semanticdesigns.com/
about approaches for a parser. Ira is of the opinion that a GLR parser
is suitable. In fact he says Mathematica is not a particularly
difficult language to parse, but then he is an expert at writing
parsers.
But any attempt to create a clone would appear to me to need a huge
amount of resources and skill.
Dave
It's clear it's not implemented very well. I still find it quite interesting,
but it's clearly not worth spending any time with.
I do have a forename. I'd appreciate if you used it.
Although this case was in the USA, and different countries have different laws,
this situation arose when Borland made a clone of Lotus 123 (a spreadsheet),
which they called "Quattro Pro". Lotus took Borland to court, arguing copyright
infringement.
This was eventually settled in the United States Supreme Court, with Lotus
losing their case. The court said it would be absurd for users to have to
re-write macros if using other software.
http://en.wikipedia.org/wiki/Lotus_Dev._Corp._v._Borland_Int%27l,_Inc.
So it looks like in the US at least, one can't copyright the commands or layout
of a program.
Dave