Domain: octave.org
Stories and comments across the archive that link to octave.org.
Comments · 83
-
Re:Running CPDN on Linux and some other things.
I work on climate modelling (same building as the CPDN Oxford people) and I use IDL to view the output (like CPDN will be doing when they release the IDL based viewer).
IDL direct graphics are so easy to use just to view a quick plot of the winds or temperature and array manipulation is fast, especially with 100,000 element arrays. My biggest problem with it is that the memory use is much bigger that the data you read in. I've read numbers like a factor of 8 because of the data structures, which I can believe after writing some C code plugins (ahh, order O(1) optimisations are fun..)
It doesn't look too difficult to write some kind of clone of IDL, the specifications in the help files show the internals quite well (so that you can write plugins) but I get the feeling that all is not being revealed (keyword arguments for example). I'll have to look at Octave one day.
What do you use as a replacement for IDL? Some other researchers here (non-modelling mostly) use Mathematica or matlab, but I've never tried them because it's still a choice of expensive-tool-1 or expensive-tool-2.
IDL 6 of course, has changed. Direct graphics are gone and have been replaced by iTools, which reimplement direct graphics internally in object graphics (the stuff used to make gui programs), users in the IDL-pwave newsgroup seem confused. Luckily I think the site licence we have is limited to point upgrades of IDL 5 for now.
-
Re:Use plotting software insteadAnother entry in the "good free software for plotting that is like Matlab" catagory (yes, very specific), is Octave.
From their web site: "GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language."
-
Re:Too trueMatlab is "unsupported", but only because the Mathworks dudes don't feel like it, either because they are lazy, or dumb, or timid, or pricks, or their lawyers scared them out of it, or whatever. It's actually worked with the Linux emulation mode for years (and some claim it's faster than under Linux!)
Read about it here: matlab for linux and freebsd
That being said, Matlab is very overpriced when stuff like Octave is available. $5K is a lot to pay for a pretty font or two and GUI to support greenhorns.
-
Re:drop AltiVecI do science and I have benefitted from optimized BLAS libraries (on x86 chips as it happens) both when using a program for semidefinite programming and running Octave scripts. A colleague of mine gave a talk just yesterday, mentioning how easy it had been setting something up using Perl and PDL, which apparently is built ontop of BLAS. I think the GSL is also using BLAS if it is available.
You simply do not necessarily need to work directly with BLAS (and LAPACK for that matter) to enjoy the fruits of excellent optimization!
-
Re:A MacOSX version exists
The carbonised version of gnuplot does work well. However, it is based on 3.7.1 which is getting on a bit now. 3.8 (the pre 4.0 version) has some very nice extra features including mouse interaction for zooming and 3d plot rotation. And some very nice surface mapping and image handling functions.
I have had no problems building version 3.8 under OSX 10.2.4. The aqua term works fine but you only get the mouse interaction when running under X11 which also works perfectly well in my experience.
On a related point you can use gnuplot from within octave a matlab-like environment which is open source. This also works fine under OSX 10.2.4 and can make use of the VecLib BLAS and Lapack accelerate libraries under OSX - details on HPC for OSX. However, I must admit my preference is with R for data analysis outside of my own code (several others have already mentioned R) purely because of the wealth of statistical functionaility available. -
open source libraries
For my projects (particle physics etc) I generally use C++ these days (farewell fortran) because of the usefulness of templates. Recently I had to use some largish matrices (1000x1000 and growing - need more memory!) for a lattice calculation and found The Matrix Template Library to be most useful for my sparse matrices - and with an easy (well, easy for someone who knows STL) interface which allowed me to add a tensor product method - nice! The beauty of MTL is that it's just a series of header files - amazing! Then for data analysis I use ROOT an object oriented data analysis framework - it does histogram plotting / fitting etc... but is much more than a simple potting tool - you can build a cross platform GUI with it if you like, but the documentation is not the best. I've also used Octave for some FFT stuff too. It's like the unix philosophy really, use the right tools for the right job and use them together.
-
Re:FortranThere is a healthy schepticism of "black box" programs and libraries so programs like Mathematica and Mathlab are pretty much not used.
And as a result, physicists (who generally don't really know numerical analysis: witness Numerical Recipes) waste hundreds of man-years trying to reproduce the functionality of LAPACK, ARPACK, FFTW, etc., which were carefully written and tested by people who know what they are doing.
Moreover, none of these are black boxes. Full source is available at netlib. Matlab and octave use these packages to perform basic operations, so you can't really call Matlab a black box either.
-
Re:Octave
Octave is a nice MATLAB clone, developed from chemical engineers in the beginning, but now used extensively in virtually any area that math is usefull.
Many packages have their open source counterparts: Octave for MATLAB, R-system for SPLUS (statistics algebra system), and so forth. But IMHO you raise another issue: you can use each of these packages to do whatever calculations you want, since all of them are extended in the C/Fortran end, i.e. they can use programs written in these languages. Custom code is readily integrated. And above all, the GNU Scientific Library. If you don't like or you don't trust the numerical solvers integrated in MATLAB, you can investigate the source in the GSL.
And yes, you can use all of these together. So, what is the question again?
-
Octave
Whenever I need to do anything like that, I use Octave.
-
Have you tried octave?
I've been using octave as a replacement for Matlab with pretty good success. It's easy to install with fink on MacOSX. I'm running it with the Apple X11. Just do a 'fink install octave'.
-
Try the Free alternativeGNU/Octave is a free (libre) Matlab clone. There's also Scilab, which has a Matlab-like syntax. Finally, Maxima is now GPLed so you can explore that as well.
Scilab is mostly free, but still not free-enough to be included on Debian (it is packaged under non-free on a Debian system). See this thread for details.
-
Re:You Need Only Consider IIS...
-
Re:You Need Only Consider IIS...
-
Matlab clone
Gnu Octave. Easy as 'apt-get install octave'.
-
Re:question : OSS/free project in this space
Hi, you can always checkout octave which is provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
-
Re:Any Free Alternative?
Yacas -- A symbolic computation engine similar to Mathematica or Maple. It has a Lisp core, with plenty of syntactic sugar. Released under the GPL.
Octave -- A damn fine piece of work for numerical computation. IMO, it beats MatLab any day. Released under the GPL.
Maxima -- a descendant of Macsyma, which all True Math Geeks remember. It's a symbolic computation engine with a Lisp core, like Yacas. Released under the GPL.
JACAL -- another symbolic computation engine with a Lisp core. Released under the GPL.
GAP -- a system for doing abstract algebra and combinatorics. This is really only of interest to a limited subset of mathematicians. However, it is incredibly good at doing what it does. GAP is under its own license, which I'm fairly certain would classify as free to RMS.
There are many others, but these are the most mature that I've dealt with. If you're looking for a pretty front-end, Maxima has one, there's one for Octave called G-Octave (uses Gnome), and there's one for GAP called XGAP. None of them match the purtiness of Mathematica or Maple, though. There is TeXmacs, a rather impressive TeX-ish WYSIWYG. With some effort, you can make it serve as an input/output mechanism for any CAS. However, I recommend against using it for its intended purpose as, although its rendering is very impressive, it is a big step backwards for structured documents. -
Re:Matlab?
Uh, Octave (which I'm using right now) is GPLed. If nothing else, do you think the GNU project would support non-Free software?
-
About to teach a numerical class...I'm teaching "scientific computing" for the second time at my university this fall and we're going to be using FORTRAN with some C (and C++ if that's your cup of tea). The department here is somewhat slanted towards FORTRAN and C instead of scripted environments and there is some outright dislike of Matlab. In this sense, FORTRAN was worth knowing around here and I had to brush up on my skills, since I'd not touched it since spring of 1992.
The course mainly focusses on solving machine numbers, solving linear systems (direct and iterative methods), solving non-linear systems (mostly Newton-type methods), and solving eigenvalue/vector problems. The codes that students wrote last year started from scratch with early assignments. Then, I allowed them to incorporate Basic Linear Algebra Subprograms (BLAS) into their codes. Then they were allowed to use LAPACK for the rest of the semester. They were free to use the C interface, but most chose to use the FORTRAN examples, probably because of the skeleton code that I provided.
Given the tremendous amount of code that is already out there, I agree that knowing FORTRAN is an asset. And since it's not hard to learn, why the heck not, right?
On a side note, they had to use Makefiles, LaTeX their assignments, and send everything to me electronically in a gzipped tarball. They got quite a workout in console tools. For reference, I had some that were quite familiar with the system and some that had had BASIC at some level and that's it. Lots of help was needed as the semester reached the final weeks.
Matlab was used for visualization and graph creation, but I am considering using GNUPlot this year, if it is up to the task. (I think it probably is.) I may also encourage the use of Octave, where possible.
For reference, the class website (which will soon be updated for the new semester) is here: Math 224.
-
Matlab and Octave
If you need to do numerical linear algebra (vectors and matrix), nothing beats Matlab. But as you said, Matlab costs a bunch of money. Maybe you'd be interested in Octave, an open-source, Matlab-like and mostly Matlab-compatible scripting language / interpreter.
-
Octave
If the only thing you hate in Matlab is the price, give octave a try!
-
yet more Excel graphs
Seems like every graph I look at these days in research papers are the same styles and colors (Microsoft Excel defaults).
Too bad the open-source community doesn't have a better alternative. I've tried Grace...the learning curve was a little steep. Guppi is not ready, not is KChart. The best I've found so far is Octave, a open-source Matlab clone . That's because it provides an interface to GNU plot and Matlab is very familiar to me. -
Re:Development model
Don't forget Octave, which is much analogous to matlab. There are even efforts to write compatibility libraries so matlab people will feel at home...
:-) -
Re:Takeover of engineering education.The Matlab success story is a monopolist's dream.
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.
But, MATLAB is a great tool, developed to a high standard, and Mathworks heavily influenced by what the customer actually wants to do with it, and their support is good too. If you need it, it's worth every penny. -
Re:Book Expenses
MATLAB is actually quite useful, but you don't have to buy it to use it.
Nor does your university, in fact, if you use Octave, a GNU Matlab-alike, instead. Seemed pretty good when I used it a few years ago - I can't claim to be a heavy user but I found it good enough during my university course. -
Maple from U of Waterloo
The University of Waterloo has a program called Maple. It's fairly easy to pick up, available for Windows, UNIX, Linux and Macs, not horribly expensive, and very powerful. There's also piles of add-on packages created by other mathematicians.
If you're looking for something on the numerical analysis end, try Octave. It's like MatLab but free. -
Octave
Not strictly for linear programming, but Octave (http://www.octave.org) is an important tool on your numerical analysis toolbelt.
-
A few favourites we useIn the past few years I converted our lab over to Linux and here are some of the tools we use for analysis:
- GCC for C/C++/FORTRAN coding. It's free, it's not the fastest in the world but it's competent.
- Octave is a great, free replacement for Matlab. For general data manipulation it seems fine, where it really lacks relative to Matlab is in the GUI.
- Gnuplot is a great all-round, all-purpose, scriptable plotting tool that can also do fitting. For general everyday tasks gnuplot gets used a lot in our lab.
- SciGraphica is a great 2d/3d/vector/polar/ plotting and analysis package. It is a little like an Origin clone so is pretty easy to pick up, and can be extended with Python plugins. I am one of the developers
;0) (although far too busy atm to contribute, anyone want to help?). More suitable for publication-quality plots and still heavily in development. A new release is imminent. Plug ;0). - teTeX is the main (La)TeX distribution for Linux and you'll most probably have it in Debian anyway but for writing reports, articles, books, theses, even letters you shouldn't need to use anything else. Really.
-
OpenOffice if you have to deal with mad, crazy, annoying
.doc using people.
There's plenty more where they came from. Most distrbutions come with a lot of these things anyway. These are mainly analysis or document tools, there's plenty of other things for both these areas and any other which plenty of other posters have shown. I've written a little guide for my local group. Some of it's out of date (and some of it's wrong but I have better things to fix) but it does have a list of common tools we use. And, of course, SAL is a pretty comprehensive database of unix tools. HTH.
-
Re:Netlib and more
I do quite a bit of number crunching. Here are
some of the resources I use:
Netlib (www.netlib.org) -- Yes, it's mostly Fortran, but that's a good thing! Just use f2c (easy to find) and translate to C if that's what you want. Don't underestimate the power of decades-old programs -- old == widely used and well-tested.
StatLib (lib.stat.cmu.edu) -- Collection of statistical software, in various languages, including C, Fortran, and S.
SAL, Scientific Applications on Linux (sal.kachinatech.com) -- a very large collection of links.
Freshmeat (www.freshmeat.net) -- Not scientifically oriented, but there is much scientific stuff there, along with all kinds of miscellany.
Octave (www.octave.org) -- A package for matrix manipulations, similar to Matlab, but free. Useful for all kinds of problems.
R (www.r-project.org) -- An implementation of the S language for statistics, but also useful for general problems, similar to Octave. S+ is a commercial implementation of S.
Well, that ought to be enough to get started. To echo something other posters have mentioned -- don't even bother with Windows software. If your budget is tight, save your money for hardware, don't waste it on the MS tax. -
Octave
Octave is a matrix manipulation package, released under GPL - basically a clone of MATLAB. It has scripting capabilities, which allow development of simulation software.
-
Octave: Help WantedIt says right here that they want people to help add features to the software.
The page contains links to a wish-list of features they'd like added, as well as links to their mailing list and it's archives. No point in asking the same questions over again.
I could be wrong, but I think this is the page you're looking for...
-
TabletsI've been having fantasies about a tablet computer for over a year now. I want something that isn't too much larger or heavier than a large tablet of paper, and combines pen-input with a computer interface. I'm talking handwriting recognition, gesture recognition, and most importantly, a headphone jack and mp3-playing software.
The hardware exists...a 11" TFT LCD screen, Wacom-like pen input overlaid on top. It needs to have a high resolution (both the screen and input) for accurate handwriting recognition. Wouldn't need a very fast processor. Could sync to my computer over USB.
As a theoretical physicist, I desparately want something like this. I'm a massive computer junkie, but currently, the highest-tech way I can do calculations is pencil and paper... On the math side, recognizing mathematical notation will be very hard, and would require a lot of work in user interfaces. In the short term, just recording the user's penstrokes and saving it as a vector graphic would be sufficent. In the long term, interface it to a basic Computer Algebra System. i.e. something that will check all those factors of two, negative signs, etc. In the very long term, have the interface do most of what I do by hand. For instance, apply a mathematical identity to an equation, and copy the new equation to the next line. Allow me to manipulate individual terms. Most of all, allow me to define new notations. Each sub-field of math, physics, chemistry, and engineering uses its own notation, and a rule-system should exist to check the validity of the input in the notation that is familiar to the user.
Right now I use pencil and paper, some Maple, and computer programs to numerically evaluate things. Maple's interface is not well suited to a pen-based manipulation system. (don't mention Mathematica, I will not professionally support their absurd pricing and draconian licensing policies) I have high hopes that a viable open-source Computer Algebra System will evolve out of the existing Octave or GiNaC.
*Sigh* if any of you entreprenuring business types are listening, WE WANT TABLETS AND WE WANT THEM YESTERDAY . And not those stupid web-browser tablets. sheesh.
--Bob
-
MATLAB libré
Have you heard of Octave?
That's not the only one, but the names of the others escape me at the moment. The issue is not that a free alternative for MATLAB doesn't exist; rather, that MATLAB has yet to be displaced by one in many settings (certainly so at my institution).
I don't know if MATLAB has important features yet to be implemented in free software-- but I have to agree that numerical computation stuff isn't exactly the hardest thing to code up. It's probably more an issue of inertia (cf. MSOffice vs. StarOffice) -
Re:Hm
Want MatLab for Linux? Don't want to pay? Try Octave. It's free, works with gnuplot, and uses many of the same commands as MatLab(you can use your matlab scripts etc with octave with very little editing). Very nice for students who don't want to pay $199 for a software package that they'll use for one quarter and will grow old.
AVS? Not sure what that is. But Google turned up a link that referenced avs.com. Perhaps this will help.