User: Password:
|
|
Subscribe / Log in / New account

Development

Numerical computations with Scilab 5.2

January 27, 2010

This article was contributed by Koen Vervloesem

At the end of 2009, the Scilab Consortium released version 5.2.0 of the numerical computation tool Scilab. It consists of a toolbox for doing numerical computations for science and engineering applications. Scilab's underlying programming language has a syntax similar to, and mostly compatible with, the popular proprietary software MATLAB.

Scilab has a source code translator to assist the user with converting code from MATLAB. That's a big convenience, because many engineering students have learned MATLAB at the university, and it's also a de facto standard in industry. A lot of source code written for MATLAB can also be run on Scilab.

Hands on with Scilab

Working with Scilab is rather straightforward. When the application starts, it shows a console window where the user enters commands. Most of these commands are in the form of mathematical expressions with objects like polynomials or matrices, and after entering the command Scilab computes the result of the expression and shows it on the console. The output is in text mode, even numerical expressions with fractions and powers, which is surprisingly easy to read. So it's like a shell in an operating system, but with mathematical expressions instead of operating system commands.

[Scilab subplot]

There are also plotting commands, which open a new graphic window and plot a mathematical function in it. Users can save the resulting plot to reload it later in Scilab, copy the image to the clipboard or export it to one of a couple of bitmap and vector file formats. The image can also be zoomed or rotated in 2D or 3D.

Scilab helps the uninitiated a lot by showing extensive information about all available commands in the Help Browser. Each command has an associated documentation page that is viewable in this browser, with information about the parameters, a description of what the command does and examples that can be entered in the Scilab console. When the user installs an external toolbox, its documentation is also integrated into the Help Browser. Another great way to explore the possibilities of Scilab are the demos. They are subdivided into various categories and users can even take a peek at their source code. So while Scilab isn't exactly easy to learn, users can learn a lot by looking at the demos' source code and the examples in the Help Browser.

Most of the advanced features are split in a large number of "toolboxes" (modules) for specific tasks. Among the possibilities are linear algebra, working with sparse matrices, polynomials and rational functions, interpolation and approximation, number theory, 2D and 3D graphics and animation, signal processing, Fast Fourier Transforms, wavelets, manipulating graphs and networks, statistics, artificial neural networks, econometrics, and so on. There are also interfaces with programming languages and environments like Fortran, Tcl/Tk, C, C++, Java, and LabVIEW. There is also a package that plugs into the proprietary computer algebra system Maple for Scilab code generation, and there is a toolbox that translates Scilab code into standalone C code.

[Scilab Lena Wavelet]

Scilab saved your author several times when writing articles about computer science. For example, once he undertook the daunting task of explaining wavelet transformations and their applications to image processing. Because a picture is worth a thousand words, he thought it would be nice to visualize this. But how? As an engineering student he had an educational license for MATLAB, but those days were gone and paying thousands of dollars for software is not an option for a freelance journalist. After much searching, adapting scripts and experimenting, your author managed to visualize the wavelet transformations with the Scilab Wavelet Toolbox and a Scilab script of thirty lines. That's the power of Scilab: it gives free access to scientific computations that would cost a great deal of money to do using other software.

Download

Prior to version 5, Scilab had a non-free license: although the project gave users access to its source code, the license restricted distribution of modified versions to non-commercial purposes. Beginning with version 5, the developers distribute Scilab under the CeCILL license ("CEA CNRS INRIA Logiciel Libre"), jointly developed by a number of French agencies to comply with both international and French law. CeCILL is not OSI-approved, but it follows the principles of GPL and it is GPL-compatible.

Current releases of mainstream Linux distributions don't have Scilab 5.2 yet in their repositories, so for now users have to download the package from Scilab's web site. They can download the source and try to build Scilab 5.2 themselves, or they can download the binary version for their platform (which includes a lot of the third-party dependencies) and install it. The website distributes x86 and x86_84 versions for Linux and Windows and a dmg installer for Mac OS X 10.5/10.6 (on Intel).

It may take some time before Scilab 5.2 becomes available in distributions' repositories. For example, Fedora is working on it, but there are a lot of incomplete dependencies and several packages for optional functionality are not yet available.

A better user experience

[Scilab atoms]

New features in Scilab 5.2 are mostly focused on a better user experience. For example, while previous releases required the user to install external modules manually, the latest release comes with a management tool called ATOMS (AutomaTic mOdules Management for Scilab). This tool allows the user to browse Scilab or third-party repositories and download and install external modules from a graphical window (although the commands in the Scilab console are still available). It also facilitates updating existing modules and manages dependencies. Essentially, ATOMS functions as a package manager for Scilab modules. It can also automatically load installed modules when Scilab starts.

By default ATOMS lists a fairly limited set of modules. More are listed on the ATOMS Portal, a new web site that hosts external modules and allows developers to upload their own modules. Unfortunately, even the ATOMS Portal lacks a lot of popular modules like the Scilab Image Processing Toolbox and the Scilab Wavelet Toolbox.

Another addition to Scilab's user experience is a new Java-based text editor that integrates into Scilab. Some of the features are syntax coloring, automatic indentation, line numbering, comment/uncomment of blocks, and getting help on a selected line. The new editor replaces the previous one, Scipad, which remains available through ATOMS.

A third new feature is the ability to annotate graphics with MathML and LaTeX text. This is available in all places where text can be set in a graphic, such as the label and title. This makes it possible to include mathematical equations, greek names of variables, matrices and other symbols. There's also a new function prettyprint that can represent a Scilab variable as a LaTex or MathML expression.

Scilab 5.2 also replaces its modeling tool Scicos by Xcos, which is based on Scicos 4.3, has a new JGraphX-based user interface and promises a roadmap that is synchronized with Scilab. Xcos is a dynamic systems modeler and simulator, which can be used for modeling mechanical systems like accelerating vehicles, hydraulic systems like water tanks and electrical systems like amplifiers and logic gates. The release in Scilab 5.2 provides a new block diagrams editor and finally allows the user to edit several diagrams at the same time. Drag and drop from a palette to a diagram and between two diagrams now also works.

Conclusion

The focus on better user experience notwithstanding, Scilab's interface still has some rough edges and peculiarities. For example, the windows have their own close button inside the operating system's window (which also has, in most cases, a close button). The graphs have redraw issues when Compiz is activated. Moreover, error messages are sparse, somewhat hidden, and sometimes in broken English. So it could still use some polishing, but it gets the job done, which is the most important factor. Scilab is a powerful free alternative to pricey commercial tools like MATLAB. Anyone who regularly needs scientific computations or plotting capabilities should take a look at Scilab.

Comments (12 posted)

System Applications

Database Software

PostgreSQL Weekly News

The January 24, 2010 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

Interoperability

Samba 3.5.0rc2 is available

Version 3.5.0rc2 of Samba has been announced. "This is the second release candidate of Samba 3.5.0. This is *not* intended for production environments and is designed for testing purposes only. Please report any defects via the Samba bug reporting system at https://bugzilla.samba.org/. Plans are to ship the final 3.5.0 release on February 16 if there are no major issues with 3.5.0rc2."

Comments (none posted)

Mail Software

Apache Software Foundation releases SpamAssassin 3.3.0 (The H)

The H covers the release of Spamassassin 3.3.0, the first major update since May of 2007. "In addition to the usual bug fixes, the latest release features major changes in how SpamAssassin rules, the patterns that help identify spam, are updated. From version 3.3.0, rules have been separated from SpamAssassin's core. Previously optional in version 3.2.x, rules are now downloaded over a network using the built-in automatic software update tool, known as "sa-update". Alternatively, users can also install rule updates from a tar archive using sa-update. Other notable changes include improved IPv6 support and error handling, improvements to the DKIM plugin and support for Distributed Checksum Clearinghouses (DCC) reputations."

Comments (6 posted)

Telecom

Kamailio (OpenSER) 3.0.0 released

Version 3.0.0 of Kamailio has been announced. "after ten months since previous major release 1.5.0, I am glad to announce that Kamailio (OpenSER) v3.0.0 is out. It is a special release, being the first based on SIP Router project. Along with new things developed during the past months, you can blend features and modules provided by previous versions of Kamailio (OpenSER) and SIP Express Router (SER) in same configuration file."

Full Story (comments: none)

Web Site Development

Apache Lenya 2.0.3 released

Version 2.0.3 of Apache Lenya has been announced, it includes some new features and bug fixes. "Apache Lenya is an Open Source Java/XML Content Management System and comes with revision control, site management, scheduling, search, WYSIWYG editors, and workflow."

Full Story (comments: none)

Midgard2 9.09.2 released

Version 9.09.2 of the Midgard2 web framework has been announced. "Midgard2 9.09 is targeted at web framework and desktop application developers. It provides a comprehensive set of content repository APIs that can be used to build replicated information applications that share their information using a common storage layer and replication tools. In this release we provide Content Repository API bindings for the following programming languages: C, Python, PHP and Objective-C. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other."

Full Story (comments: none)

Quixote 2.7b2 released

Version 2.7b2 of Quixote has been announced. "Quixote is a framework for writing Web-based applications using Python. Its goals are flexibility and high-performance, in that order. A new beta release of Quixote 2 available. This version fixes the PTL import hooks to work with Python 2.6."

Full Story (comments: none)

Miscellaneous

Amazon to spin Kindle SDK (LinuxDevices)

LinuxDevices takes a look at a software development kit for the Kindle e-book readers. "Starting next month, participants in the limited beta will be able to download the (presumably free) Kindle Development Kit, which will let them access support, test content on the Kindle e-reader, and then submit finished content, says Amazon. The Kindle Development Kit will include a variety of sample code, documentation, interfaces, and tools. The SDK will also offer the Kindle Simulator, which helps developers build and test their content by simulating the 6-inch Kindle (pictured at left) and 9.7-inch Kindle DX on Mac, PC, and Linux desktops, says Amazon."

Comments (none posted)

Desktop Applications

Audio Applications

Ardour 2.8.5 and 2.8.6 released

Two new versions of the Ardour multi-track audio workstation have been announced recently. Version 2.8.5: "Although I had hoped that the next release would be an alpha version of 3.0, we have accumulated too many critical bug fixes and a few nice to have features to let 2.8.5 wait any longer." Version 2.8.6: "There is only one one difference to 2.8.5 - VST-enabled builds for Linux are possible. There are no functional changes, and absolutely no changes for OS X, so I am leaving the current version for OS X at 2.8.5. The release was done mostly for the sake of those Linux distributions which provide a VST enabled build and don't like to work directly from SVN. "

Comments (none posted)

jack_capture 0.9.40 released

Version 0.9.40 of jack_capture has been announced. "Most important new features since 0.9.36 * Direct support for mp3 using liblame. * Console cleanup. Terminal should not be messy when quitting jack_capture. * Better buffering schemes. * Less used memory."

Full Story (comments: none)

Calendar Software

New release of Mozilla Lightning and SOGo

Inverse has announced new releases of Mozilla Lightning and SOGo. "SOGo provides a rich AJAX-based Web interface and supports multiple native clients through the use of standard protocols such as CalDAV, CardDAV and GroupDAV. It features a very tight integration with Mozilla Thunderbird and Lightning and enable mobile devices synchronization through the use of the Funambol middleware. Version 1.2.0 provides new features such as Apple iCal 4 delegation support, multi-domains support, brand new Web interface and much more. Moreover, Inverse releases Lightning "Inverse Edition" v0.9.8. This is a maintenance release of Mozilla Lightning based on our 0.9 release which focuses on stability and includes many bug fixes, several small enhancements and some new features of the upcoming Mozilla Lightning 1.0 extension."

Full Story (comments: none)

Data Visualization

Veusz 1.6 released

Version 1.6 of Veusz has been announced, it adds new functionality and bug fixes. "Veusz is a Qt4 based scientific plotting package. It is written in Python, using PyQt4 for display and user-interfaces, and numpy for handling the numeric data. Veusz is designed to produce publication-ready Postscript/PDF/SVG output. The user interface aims to be simple, consistent and powerful."

Full Story (comments: none)

Desktop Environments

Stormy Peters: What should the GNOME Foundation accomplish in 2010?

Stormy Peters looks at the GNOME Foundation's goals for 2010. "If you use GNOME, you should let us know what you think the Foundation should accomplish in 2010!"

Comments (35 posted)

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Software Compilation 4.3.5 released

Version 4.3.5 of the KDE Software Compilation has been announced. "KDE has released a new version of the KDE Software Compilation (KDE SC). This month's edition of KDE SC is a bugfix and translation update to KDE SC 4.3. KDE SC 4.3.5 is a recommended upgrade for everyone running KDE SC 4.3.4 or earlier versions. As the release only contains bugfixes and translation updates, it will be a safe and pleasant update for everyone."

Full Story (comments: none)

KDE SC 4.4 RC2 released

Version 4.4 RC2 of the KDE Software Compilation has been announced. "KDE SC 4.4 Release Candidate 2 provides a testing base for identifying bugs in the upcoming KDE Software Compilation 4.4, with its components the KDE Plasma Workspaces, the Applications powered by KDE, and the KDE Development Platform."

Full Story (comments: none)

Camp KDE Day Three Technical Talks Summaries (KDE.News)

KDE.News covers day three at Camp KDE. "First talk of the day was by KDE PIM developer Stephen Kelly. Akonadi is a generic interface to access your notes, email, and other PIM data. Stephen walked us through the model view concept, the features of the Akonadi model-view, some challenges the developers faced during development and how the rest of the KDE community could take advantage of Akonadi."

Comments (none posted)

KDE Gears Up to a Free Cloud (KDE.News)

KDE.News has a look at the ownCloud initiative coming out of the Camp KDE discussions. "If and when a serious number of providers join this effort or support the interface, nobody will have to join a myriad of different social networks just because he or she has friends on all these incompatible, separate clouds - they will all be able to connect. If users are unhappy with a provider, they will be able to move on to another provider without losing all of the information and connections they have created with that provider, opening up the market and creating opportunities for new companies and innovative services. As an added benefit, users concerned about their online security and privacy can stay in full control of their own data by running their own cloud server." More information can be found in this slide deck [PDF].

Comments (4 posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Lxdm is now themeable

New theming support for the LXDE lightweight desktop environment has been has been announced. "LXDM, the display manager of LXDE, now has full theming support based on gtkrc styles + GtkBuilder xml UI definition. No technology outside GTK+ itself is needed and no additional library is required for this new feature."

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Geographical Software

Online mapping helps Haiti relief efforts (PRI's The World)

OpenStreetMap (OSM) played a prominent role in assisting Haiti relief efforts by getting historical map data into OSM and making it available to relief workers. "Crisis response teams and aid groups are now downloading OSM's Haiti map onto their GPS units. There's even a specially designed iphone app for OSM's Haiti map. Another group using OSM's Haiti map is Ushahidi. That's a site that collects web, email and text message reports from Haiti. Those reports are then embedded in an interactive version of OSM's map on Ushahidi's website." Seen on Michael Tiemann's blog.

Comments (none posted)

GUI Packages

PyQt 4.7 released

Version 4.7 of PyQt has been announced. "PyQt is a comprehensive set of bindings for the Qt application and UI framework from Nokia. It supports the same platforms as Qt (Windows, Linux and MacOS/X). The highlights of this release include: - full support for Qt v4.6.1 including the new animation and state machine frameworks, gesture and multi-touch support, and advanced graphics effects (blurring, colourising, drop shadows) - all callables have docstrings that describe the Python signatures of all available overloads - keyword arguments are supported for all optional arguments."

Full Story (comments: none)

SIP 4.10 released

Version 4.10 of SIP has been announced. "SIP is a tool for generating Python modules that wrap C or C++ libraries. It is similar to SWIG. It is used to generate PyQt and PyKDE. This release adds support for keyword arguments and docstrings. Docstrings may be either explictly specified or automatically generated."

Full Story (comments: none)

Urwid 0.9.9.1 released

Version 0.9.9.1 of Urwid, a console-based user interface library, has been announced. "This maintenance release fixes a number of bugs including a backwards incompatibility introduced in the last release and a poor ListBox snapping behaviour."

Full Story (comments: none)

Interoperability

Wine 1.1.37 announced

Version 1.1.37 of Wine has been announced. Changes include: "- A number of fixes in AVI file support. - Several MSXML improvements. - A few MSI fixes. - Various bug fixes."

Comments (none posted)

Medical Applications

GNUmed EMR client 0.6.0 released

Version 0.6.0 of GNUmed EMR has been announced. "The GNUmed project builds free, liberated open source Electronic Medical Record software to assist and improve longitudinal care. It is made available at no charge and is capable of running on GNU/Linux, Windows and Mac OS X. It is developed by a handful of medical doctors and programmers from all over the world. It can be useful to anyone documenting the health of patients including, but not limited to, doctors, physical therapists, occupational therapists ... The big improvements are - LaTeX based letter writing - medication handling "

Full Story (comments: none)

Valdes and Astronaut putting VA VistA in the cloud (ZDNet)

ZDNet reports on the availability of the VA VistA medical record system in a cloud environment. "A company launched by the founder of Linux Medical News is making the VA VistA software available in the cloud for the first time. Ignacio Valdes is a psychiatrist based in Houston,. He calls his company Astronaut Vista, so naturally the name for the enabling software is Astronaut Shuttle. Shuttle was developed by open source health IT advocate Fred Trotter, who offered details on his blog last week. Trotter admitted that VistA has been difficult to get working. Having it available as Software as a Service (SaaS), in the Amazon cloud, eliminates that problem."

Comments (none posted)

Music Applications

rakarrack 0.4.2 released

Version 0.4.2 of rakarrack has been announced. "Rakarrack is a richly featured multi-effects processor emulating a guitar effects pedalboard. Effects include compressor, noise gate, graphic equalizer, parametric equalizer, flanger, chorus, echo with reverse playback, musical delay, reverb, digital phaser, analogic phaser, wah-wah, alien-wah, harmonizer, and three flexible distortion modules including sub-octave modulation and dirty octave up."

Full Story (comments: none)

Office Applications

Pyspread 0.0.14 released

Version 0.0.14 of Pyspread has been announced, it includes some new features and bug fixes. "Pyspread is a cross-platform Python spreadsheet application. It is based on and written in the programming language Python. Instead of spreadsheet formulas, Python expressions are entered into the spreadsheet cells. Each expression returns a Python object that can be accessed from other cells. These objects can represent anything including lists or matrices."

Full Story (comments: none)

Web Browsers

Firefox 3.6 is available

Version 3.6 of Firefox has been announced. "For more details, please see the announcement on Mozilla Developer News: http://developer.mozilla.org/devnews/index.php/2010/01/21..."

Full Story (comments: none)

Firefox 3.6 brings joy to Web devs, not just users (ars technica)

Ars technica reviews the Firefox 3.6 release. "Mozilla says that users don't always understand the role that plug-ins play in the Web experience and might not even realize that they have plug-ins installed. This is a major impediment to giving users the ability to protect their own security. The PluginCheck system is a new feature that Mozilla has introduced to address some of the problems caused by faulty browser plug-ins. It gives the browser the ability to make the user aware when a vulnerable plug-in is detected."

Comments (3 posted)

Blizzard: HTML5 video and H.264 - what history tells us and why we're standing with the web

On his blog, Christopher Blizzard looks at HTML5 and the patent-encumbered H.264 video codec. Blizzard draws a parallel between the GIF patent situation 5+ years ago and the current situation with H.264. "Remember, this is still very early in H.264's history so the licensing is very friendly, just like it used to be for MP3. The companies who own the IP in these large patent pools aren't in this for the fun of it — this is what they do. They patent and they enforce and then enjoy the royalties. If they are in a position to charge more, they will. We can expect that if we allow H.264 to become a fundamental web technology that we'll see license requirements get more onerous and more expensive over time, with little recourse."

Comments (221 posted)

Languages and Tools

C

GCC 4.4.3 released

Version 4.4.3 of the GNU Compiler Collection has been announced. "GCC 4.4.3 is a bug-fix release containing fixes for regressions and serious bugs in GCC 4.4.2."

Full Story (comments: none)

GCC 4.4.3 Status Report

The January 21, 2010 edition of the GCC 4.4.3 Status Report has been published. "GCC 4.4.3 release tarballs have been uploaded, the 4.4 branch is again open for commits under the usual release branch rules."

Full Story (comments: none)

GCC 4.5 Status Report

The January 21, 2010 edition of the GCC 4.5 Status Report has been published. "The trunk is still in regression and documentation fixes only mode, we still have several P1 regressions that need to be fixed before branching. There will be a release candidate made available when there are no remaining P1 regressions on the trunk."

Full Story (comments: none)

Caml

Caml Weekly News

The January 26, 2010 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Java

IcedTea6 1.7 released

Version 1.7 of IcedTea6 has been announced, it includes numerous enhancements. "The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port."

Full Story (comments: none)

Perl

Parrot 2.0.0 "Inevitable" released

Version 2.0.0 of Parrot has been announced. "On behalf of the Parrot team, I'm proud to announce Parrot 2.0.0 "Inevitable." Parrot is a virtual machine aimed at running all dynamic languages."

Full Story (comments: none)

Python

Python 2.5.5 release candidate 2 is out

Release candidate 2 of Python 2.5.5 has been announced. "This is a source-only release that only includes security fixes. The last full bug-fix release of Python 2.5 was Python 2.5.4. Users are encouraged to upgrade to the latest release of Python 2.6 (which is 2.6.4 at this point). This releases fixes issues with the logging and tarfile modules, and with thread-local variables. Since the release candidate 1, additional bugs have been fixed in the expat module."

Full Story (comments: none)

ReportLab PDF Toolkit 2.4 released

Version 2.4 of ReportLab PDF Toolkit has been announced. "The ReportLab Toolkit is a library for programatically creating documents in PDF format. It's free, open-source software written in Python, and released under a BSD type license."

Full Story (comments: none)

Tcl/Tk

Tcl-URL! - weekly Tcl news and links

The January 22, 2010 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

Cross Compilers

simavr, an AVR simulator for Linux

The simavr project was recently launched. "simavr is a new AVR simulator for linux, or any platform that uses avr-gcc. It uses avr-gcc own register definition to simplify creating new targets for supported AVR devices. The core was made to be small and compact, and hackable so allow quick prototyping of an AVR project. The AVR core works more or less perfectly now."

Comments (none posted)

Test Suites

Linux Desktop Testing Project (LDTP) 2.0.2 released

Version 2.0.2 of LDTP has been announced. "Changes in this release: Fixed ldtp binary name and now it spits out the version info Updated README and AUTHORS file Fixed OpenSolaris bug reported by Qinghua Cheng".

Full Story (comments: none)

Version Control

Git 1.6.6.1 released

Version 1.6.6.1 of the Git distributed version control system has been announced, it includes numerous bug fixes and documentation updates.

Full Story (comments: none)

hgview 1.2.0 released

Version 1.2.0 of hgview has been announced. "hgview is a Mercurial extension for graphically navigating through the revision history of hg - just like hgk or hgtk, but using PyQT. More detailed release notes can be found here: http://www.logilab.org/blogentry/19912".

Full Story (comments: none)

Miscellaneous

GCC to merge Go support

The GCC project has announced that the "gccgo" front end (for Google's new "Go" language) has been accepted for the mainline. "The GCC Release Managers will decide the details about the timing of the merge and inclusion in GCC 4.5 or later."

Full Story (comments: 35)

Page editor: Forrest Cook
Next page: Announcements>>


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds