ND1 is getting a CAS powered by Mathematica™ in the cloud via WolframAlpha™ commercial API.
Are you a regular here and do you have an iPhone/iPod touch and would you like to do some beta testing? If so, please sign up at the ND1 forum and send me a PM (personal message), or respond to this post and I send you an email with more info.
The CAS will have a mixture of 50g compatible commands, Mathematica commands, and a few ones unique to ND1. The old 50g commands will be able to do some new tricks. As with all functions in ND1, the CAS is accessible on the command-line and from either RPL+ (a superset of RPL) or JavaScript.
The bad: needs an Internet connection. Every command takes between 2-5s to produce a result.
The good: utilizes arguably the best CAS on the planet. Every command takes no more than 5s to produce a result. The app adds considerable power, but remains lightweight.
Here're some RPL code snippets.
<< '1/ln(x)' INTVX >> ==> 'li(x)'
<< 'sin(x^2)' 'x' Integrate >> ==> 'sqrt(pi/2)*S(sqrt(2/pi)*x)'
<< 'e^(x^2)' 'x' Integrate >> ==> '1/2*sqrt(pi)*erfi(x)'
<< (0.5, 0.8) erfi >> ==> (0.28851, 0.869945)<< 'd1y(x)*cos(x)=sin(2*x)' 'y(x)' DESOLVE >> ==> ['C[1]-2*cos(x)']
<< 'd1y(x)*2*y(x)=exp(3*x)' 'y(x)' 'x' desolve >> ==> [ '-sqrt(e^(3*x)+6*C[1])/sqrt(3)' 'sqrt(e^(3*x)+6*C[1])/sqrt(3)' ]<< ['x^2*y', 'x^2*y', 'y^2*z'] Curl >> ==> ['2*y*z',0,'-x*(x-2*y)']
<< 'x^2+x+1' '2*x+4' 'x' PolynomialQuotientRemainder >> ==> [ 'x/2-1/2' 3 ]
<< [[3,6,0],[2,4,1],[1,1,1]] charpoly >> ==> '-lambda^3+8*lambda^2-6*lambda+3'
<< [[4 1][2 -1]] EGV >> ==> [[ '1/2+1/4*(3+sqrt(33))' 1 ] [ '1/2+1/4*(3-sqrt(33))' 1 ]] [ '1/2*(3+sqrt(33))' '1/2*(3-sqrt(33))' ]<< "LaguerreL" [4, p] orthopoly >> ==> '1/24*(p^4-16*p^3+72*p^2-96*p+24)'
<< ['x^2+y^2=1', '(x-2)^2+(y-1)^2=4'] solve >> ==> [[ 'x=0' 'y=1' ][ 'x=4/5' 'y=-3/5' ]]
We recently talked about generating digits of Pi.
This
<< 'pi' 10000 N >>gives you 10,000 digits in 2 seconds flat. Yes, this is "cheating" because it uses a supercomputer in Urbana-Champaign to do the work (in itself pretty cool if you think about it…). But the net result is that you have the number you want in your mobile device. (This actually does return a BigFloat that you can do some (limited) math with; not just digits in text form.)
or
<< 10000 setBigFPrecision 'pi' asBigFloat >>
Everything in ND1 is user-extensible. So is the CAS.
If you want a certain function from Mathematica (or from the even larger set of functionality from W|A), you can usually add it with as little as one line of code. (Because ND1 has an HTML5 display you could even display plot images or tables, etc.)
Cheers.
P.S.: Even though ND1 runs in 2x compatibility mode on iPad, I really don't want people using it like that. There's an epic (or so it feels...) iPad version in the works, called "CalcPad", but it will still take a while to become available. If you "only" (as if) have an iPad, please don't apply to this. Thank you.
EDIT: fixed first link.
Edited: 29 July 2012, 8:45 a.m.