

Octave for Android - bshanks
https://play.google.com/store/apps/details?id=com.octave&hl=en

======
bshanks
Thanks to mjcohen for posting about this (
<http://news.ycombinator.com/item?id=5198369> ).

------
christopheraden
The interesting bit about this to me is not the interface, but the fact that
they got it running on Android. I was curious in seeing if R could be ported
to Android a few years back, and thought I remember reading there were some
roadblocks pertaining to getting a decent BLAS to work on Android and iOS
(which doesn't have a fortran compiler, iirc). The fact that Octave runs on
Android means they must've figured out how to get a BLAS running on Android.
Does anyone know what it's running? NetLib?

~~~
AlexeyBrin
You can easily build a Fortran compiler for Android, the NDK source code is
available and it contains gfortran. The official binary NDK however has only
gcc and g++ build.

BLAS and Lapack can be compiled natively for Android with gfortran.

~~~
compilercreator
Which BLAS though? The reference BLAS implementation? That will have terrible
performance. Would be interested to see if something better like ATLAS or
OpenBLAS can be compiled for it. Recent versions of ATLAS do work on ARM
Linux, so wondering if those can be easily ported to Android.

~~~
AlexeyBrin
Reference BLAS ...

------
qompiler
Just what I expected, an uninspired port. The interface is.. terrible..

~~~
michael_h
Any suggestions for improving it?

~~~
qompiler
Take a look at Calculator++

[https://play.google.com/store/search?q=Calculator%2B%2B&...](https://play.google.com/store/search?q=Calculator%2B%2B&c=apps)

Also look at how Maple 16 does it. The keyword here is 'buttons'.

~~~
AlexeyBrin
You are confusing Octave (which is a Matlab substitute where you "write" in a
command window, not so much use for "buttons") with Maple ... Please stop
trolling.

------
pav3l
Ask HN: Who uses Octave? If you had access to Matlab, would you use it
instead? Why not Python/R/Julia?

~~~
forkandwait
You would use Octave instead of Matlab because it is free as opposed to $1000
for a basic license plus additional $$ for every time you sneeze and need a
toolbox.

You would use Octave/ Matlab instead of Julia, R or Python because Matlab
syntax is the cleanest and most succinct way currently to articulate complex
(in both senses) matrix algorithms. It isn't nearly as good for general
programming, but it is much better than anything else for its niche. While
some of that is obviously just fuzzy opinion, I am pretty sure you need fewer
characters or LOC to say the same thing in Matlab than in the other scientific
languages mentioned.

Matlab (and thus Octave) also has a HUGE installed base of engineers who don't
really care that HN thinks the language du jour is X, Y, or Z and continue to
use Matlab to get their work done (and will for the next 20 years). If you are
working with them, you use Matlab. If you are working with them and don't have
$1000 for a license, you use Octave.

Octave also has some syntactical improvements like "+=" that are missing in
Matlab.

~~~
simonster
> You would use Octave/ Matlab instead of Julia, R or Python because Matlab
> syntax is the cleanest and most succinct way currently to articulate complex
> (in both senses) matrix algorithms...I am pretty sure you need fewer
> characters or LOC to say the same thing in Matlab than in the other
> scientific languages mentioned.

Julia syntax is mostly Matlab syntax with the parens-for-array-indexing
replaced with square brackets. Its main shortcoming WRT Matlab is that it's a
new language and a lot of things still need to be implemented, but the built-
in linalg support is pretty good.

Python is also not that bad with pylab, which eliminates most of the verbosity
of calling numpy/scipy functions directly, although it might still end up
being more LOC than Matlab in some cases. I have only minimal experience with
R, so I can't comment there.

~~~
forkandwait
I have used Julia, R, and Numpy/Python, the latter two extensively (10,000s of
lines, if you count all the scratch work). What turned me off from Julia is
that it encourages looping instead of vectorization; looping is both more
verbose and farther away from the way a mathematician would articulate a
problem. R is ... well, really really ugly in that 1970s way that makes me
want to choke whenever I read SAS. Pylab etc is nice, but (1) I have come to
detest syntactical indentation, (2) I hate zero indexing almost as badly, and
(3) it can be a bit brittle in its type hierarchy -- and it is still more
verbose (slightly).

So, I am back to Old Faithful. Really, I hate all languages, I just find
Octave the least annoying in the mathematical programming space. (I used to
love all languages, now I am old and bitter ;) )

Don't get me wrong -- lots of great ideas in all of the above languages. If
Julia were to make vector / matrix thinking natural, I would switch.

~~~
tokipin
sounds like you need Mathematica :)

------
clebio
This begs the question for me, could the ipython HTML notebook* be wrapped in
an Android app?

* [http://ipython.org/ipython-doc/dev/interactive/htmlnotebook....](http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html)

~~~
hvs
<http://en.wikipedia.org/wiki/Begging_the_question>

~~~
clebio
Fair enough, I used the wrong phrase. On the other hand, yours is the second
reply pointing this out. Only one reply addressing the actual question I
raised. I suppose I could go hang out on a logic and rhetoric forum, but
that's not really my focus. Innovation and technical solutions for hard
problems is. Ach schade.

~~~
hvs
Mine was the first response, and I only presented the link for your
information. I don't care one way or another how you use it.

------
japaget
See also "Octave Remote" for iOS in the Apple App Store.

It connects to a server running in the "cloud", but unfortunately the
connection times out when running under iOS 6.

------
AlexeyBrin
Looks neat on my Nexus 7! I'm curious what they've used to replace the Gnuplot
functionality from the original.

~~~
maxerickson
The author has some other apps in the store, including a gnuplot port.

One of them appears to wrap octave and gnuplot in a more native interface:

<https://play.google.com/store/apps/details?id=com.addi>

------
jrl
Octave is a nice language for doing matrix operations, I'm glad someone made a
port for Android.

