Seguimi in Twitter Seguimi in Facebook Seguimi in Pinterest Seguimi in LinkedIn Seguimi in Google+ Seguimi  in Stumbleupon seguimi  in instagram Sottoscrivi il feed
Blender, graphic, software, open source, Linux LibreOffice, open source, openoffice Gimp, graphic, software, open source, Linux kernel, Linux, software, open source Linux, distributions, Ubuntu, Linux Mint, Fedora, Mandriva Jamin, gpl, library, open source matroska, multimedia, container, linux pcman, file manager, linux LuninuX, distribition, Linux, open source Linux, infographic, history

Saturday, April 19, 2014

Top 10 blog posts for March 2014 from Linuxlandit & The Conqueror Penguin.

1.- Ubuntu 14.04 “Trusty Tahr” released

Ubuntu 14.04 “Trusty Tahr” released

Canonical has announced that its third Long Term Support (LTS) cloud release, Ubuntu 14.04, will be available from 17 April. Ubuntu 14.04 LTS will run on all major public cloud services and works with service providers including AWS, Azure, HP Cloud, Joyent, and IBM SoftLayer and SmartCloud. The vendor said the update includes new versions of Juju and MAAS to "design, deploy and scale services

Read More ... »

Ubuntu 14.04 “Trusty Tahr” released

Canonical has announced that its third Long Term Support (LTS) cloud release, Ubuntu 14.04, will be available from 17 April.

Ubuntu 14.04 LTS will run on all major public cloud services and works with service providers including AWS, Azure, HP Cloud, Joyent, and IBM SoftLayer and SmartCloud.

The vendor said the update includes new versions of Juju and MAAS to "design, deploy and scale services faster than any other platform available today, on cloud or bare metal."

The Linux distribution enables ISVs, SaaS providers and end users to deploy cloud applications securely, offering continued support patches and updates for at least five years.

The update will coincide with the availability of the latest OpenStack release, codenamed Icehouse, which will offer automated installation, bare metal provisioning, a queuing and notification service and Database-as-a-Service features too.

The Ubuntu 14.04 LTS release is a pretty substantial one, adding support for 64-bit ARM servers in addition to that for OpenStack cloud frameworks. It is also the first release to support IBM Power architecture servers and the Docker open-source project for container-based virtualisation.

Ubuntu-14-04-LTS

Thursday, April 17, 2014

Running Unity 8 on Ubuntu 14.04 and Virtual Box.

Unity 8 is one of the hottest things coming inside 2014 both for mobile devices and Ubuntu desktop boxes. Unity 8 will run on a new display server, called Mir, made by Canonical.

It will use a Qt/QML SDK for building applications, and it will provide an unified run-time environment across all devices, Mobiles, Tablets and Desktops/Laptops. That means applications should run in all platforms without extra porting work.

I guess you already know everything about Unity 8, but for the people that don’t have an Ubuntu OS to actually try it, here is how it looks like.

am not quite aware what exactly are trying to do in Canonical, but I’m imaging that Unity 8 in desktops will replace the Unity 7 Dash, and it won’t be full screen as in Mobiles. I might be wrong on this.

Unity 8 will come as default most probably in Ubuntu 14.10, in October 2014.

Building and Running in Vbox.

You can install and run Unity 8 as easy as:

$ sudo apt-get install unity8

$ unity8

Unity 8 on Ubuntu 14.04 and Virtual Box

Friday, April 4, 2014

Dicelab is a tool to calculate the probability distribution of dice rolling schemes.

Dicelab is a tool to calculate the probability distribution of dice rolling schemes, and to roll dice accoring to such schemes.

This can be used to analyse or design games, but may be useful in other situations as well.

Using a formal language to specify the dice rolling schemes allows dicelab to handle many, if not most, real and imaginable dice rolling problems.

Example

Assuming a fictional table-top roleplaying game uses the following scheme to determine success or failure: the player rolls N dice (determined by her skill), and discards all the lowest N-2 dice.

The remaining two dice are summed up and compared against a problem-specific threshold T.

If e.g. a player with a skill of three would try to beat a threshold of 10, what would be his odds? dicelab allows calculating just that:

dicelab_1

Saturday, March 29, 2014

CUC³ covers an exceptionally broad range of topics in theoretical and quantum chemistry.

The Cambridge University Centre for Computational Chemistry groups theoretically-minded members of the Cambridge Department of Chemistry in premises on the recently refurbished third floor of the Department. Around 50 members, comprising staff, research fellows, postdoctoral associates, postgraduate students, and visiting scientists from all over the world, work on many aspects of theoretical and computational chemistry.

The theoretical research and modelling carried out at CUC³ covers an exceptionally broad range of topics in theoretical and quantum chemistry, condensed matter physics, surface science, and statistical mechanics of complex and disordered systems including macromolecular aggregates. The theoretical tools include quantum theory and density functional theory (DFT) of electronic structure, classical DFT of inhomogeneous fluids, statistical mechanics, and a variety of simulation methods, including Monte Carlo, Molecular Dynamics (MD), and ab initio MD, as well as global optimization algorithms for the exploration of multi-dimensional energy surfaces.
CUC3 Computing: Standard Linux Workstations

These pages are out of date and only cover old versions of the workstation image. For the current image please see http://www-co.ch.cam.ac.uk/facilities/linux-workstations/current/.

cuc3 cuII_ahomo-small

COQ is a Proof Assistant for a Logical Framework known as the Calculus of Inductive Constructions.

Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the formalization of programming languages semantics (e.g. the CompCert compiler certification project or Java Card EAL7 certification in industrial context), the formalization of mathematics (e.g. the full formalization of the 4 color theorem or constructive mathematics at Nijmegen) and teaching.


Coq implements a program specification and mathematical higher-level language called Gallina that is based on an expressive formal language called the Calculus of Inductive Constructions that itself combines both a higher-order logic and a richly-typed functional programming language. Through a vernacular language of commands, Coq allows:

    to define functions or predicates, that can be evaluated efficiently;
    to state mathematical theorems and software specifications;
    to interactively develop formal proofs of these theorems;
    to machine-check these proofs by a relatively small certification "kernel";
    to extract certified programs to languages like Objective Caml, Haskell or Scheme.

coq

Concalc is a calculator for the Linux console.

Concalc is a calculator for the Linux console. It should also work on all other unix systems. Concalc is just the parser-algorithm of extcalc packed into a simple console program. You can use it if you have need a calculator in your shell.

This documentation refers to Concalc version 0.9.2.


Installation.
1. Unpack package: "tar -xzf concalc-0.9.2.tar.gz"
2. Change directory: "cd concalc-0.9.2"
3. Run configure: "./configure"
4. Compile program: "make"
5. Become root: "su"
6. Install files: "make install"

If all steps run without errors, you will be able to start concalc if you type concalc and any calculation you want into your console.

Download.

Usage.

Parameters.

The following command line options will work in this version:

-m mode
--mode mode

concalc

Sunday, March 23, 2014

How to customize a repository on a USB key.

If you have a decent sized USB stick - assuming around 4-8Gb (or external hard drive) you can set up a custom copy of the Ubuntu repository and configure that as a local repository as covered in AptGet/Offline/Repository on help.ubuntu.com.

To get the actual package files (the .deb files), I suggest using apt-mirror.

The apt-mirror package will help you create a custom mirror which should be smaller than the 30Gb of the full repository. Install the package:

sudo apt-get install apt-mirror

and edit its configuration file

gksudo gedit /etc/apt-mirror/mirror.list

virtualbox-ubuntu-02-installazione-vbox

How can I install software or packages without Internet (offline).

Linux Operating System uses a system of shared libraries in which different software share same libraries for their ‘under the hood’ work. This is a really useful and powerful thing and is in accordance with the Unix theory, ”Do one thing and do it very good” (or something like this).

But this system become irritating when you are not connected to internet and need to get some software, as you can’t straight way download them for some reasons.

This happen to me sometimes as I spend most of time in my college and I don’t have a fast Internet connection to download everything in minutes.

So I needed some way to download my favorite software from Windows machines in my College and install them on my Linux machine at home. But the problem was dependencies, I could download the software but who will look after their dependencies.

So I decided giving Keryx a try. Keryx is a software developed for downloading software for your GNU/Linux machine from anywhere and from any other system.

Keryx

Lemon is an open source point of sale for Linux and other unix systems.

Lemon is open source and uses open source components. The best advantage of being open source is that you own your information and you are free to move where you want without being tied to a provider.
Other advantage is that it gives you the freedom to study the source code, and if you know how, you can adapt it to your needs, correct bugs you find and help to improve it. And, if you dont know how to do this, you can request features, report  bugs, or hire someone to adapt it.

Safer Environment.
Being linux or any unix system the target operating system to run lemon on, makes a safer place for your information against virus attacks, and also lowers the costs in operating system and antivirus licenses.

Single Database, Multiple Terminals.
You can have a single database serving multiple POS terminals. With other comercial products you must pay for each terminal, with lemon you can have as many as you need without worring about license fees for each one.
lemon-web

Thursday, March 20, 2014

Circlepack is a c program for the creation, display, manipulation, and storage of circle packings using the x window system.

Circlepack is a c program for the creation, display, manipulation, and storage of circle packings using the x window system.

Computations may be done in either hyperbolic, euclidean, or spherical geometry, though the routines for the latter are not yet complete, for the theory behind the package, one must consult the research literature.
One of the author's primary interests concerns the parallels between the developing theory of circle packings and the classical theory of analytic functions.

A circle packing is a configuration of circles with a specified pattern of tangencies.

See the examples below; the circles typically must assume a variety of different sizes in order to fit together in a prescribed tangency pattern. (It is easy to confuse this with the well-known topic of `sphere packing'  -- how many ping-pong balls fit in a box car -- but there is almost no contact between these two topics!!)
Circle packings were introduced by William Thurston in his Notes.
circlepack
 

Monday, March 17, 2014

Cantor or a successfull integration in the KDE Community.

Cantor is a free software mathematics application for scientific statistics and analysis.It is part of the KDE Software Compilation 4, and was introduced with the 4.4 release as part of the KDE Education Project's kdeedu package.

Features.

Cantor is a graphical user interface that delegates its mathematical operations to one of several back ends. Its plugin-based structure allows adding different backends. It can make use of Sage, Maxima, R, KAlgebra, Qalculate!, Python, Scilab and GNU Octave.

Cantor-0.1

Cantor provides a consistent interface to these backends; its project page lists the following features:

        Nice Worksheet view for evaluating expressions
        View of plotting results inside the worksheet or in a separate window
        Typesetting of mathematical formulas using LaTeX
        Backend aware syntax highlighting
        Plugin based assistant dialogs for common tasks (like integrating a function or entering a matrix)

Cantor was the first KDE project to implement upload to the GetHotNewStuff addon service, which is used to download or upload example worksheets. It provided impetus for improvement of this feature for KDE SC 4.4.

KDE 4.4 will see a new KDE educational application which is a frontend to several existing mathematical software such as R, Sage and Maxima: Cantor. Cantor offers a worksheet as a nice GUI for all those backends and is not targeted to kids but to scientists. More about Cantor will be detailed by the developer when he has time to blog about it!
A.R., the developer, is a newcomer within KDE and this part of the story tells my perception of his integration in our community. This blog post addresses A.R.'s integration and reflects on the general process of contributing to KDE.

So, what does it take to become a KDE contributor?
- the idea: A.R. had an idea of a software that he needs. This is the fuel, the motivation. He then probably wants it to be Free Software. Somehow he chooses KDE. You need to have some use cases for your project.
- the preparation: the idea is taking shape (in Cantor case, the application has been developed based on KDE libs and is working, it quite looks as A.R. wanted it to look). The developer is alone and feels his project will have a better chance to reach the outer world if he is part of a bigger family.
- the big dive: now it is time to ask KDE how to join and what to do. You can do it by mail or by IRC or by contacting someone you know in the project. You don't dive without some very specialized equipment so you'll be invited to read some techbase pages, apply for a svn account and import your code into playground. If you never used svn, this is a challenge but there should be people helping you and guiding you through the process, fixing things along and explaining you what you are unsure about (they are your oxygen tanks!).
This is probably where the community shows his openness or not.
- the never-ending-finishing-touches (struggling for air): you are now familiar with svn and some people already looked at your project and gave you feedback. First feedback is usually about missing features, coding problems (style, i18n, ...) and bugs. So brace yourself because it might feel a bit negative. People also should encourage you.
At that point, you should know several people in the community, some related to your project and also core developers, artists, ..., you communicate via mailing lists, maybe you chat via IRC. You might have come to a KDE event already. You are at ease in KDE world!

I was amazed how A.R. managed to easily and quietly go through all these steps. I suggested to use GHNS in order to share examples and worksheets. Not only A.R. implemented it for download, he also managed to be the first one to implement upload. He contacted Jeremy W, Josef S and Frank K and he thus initiated some impulse to improve GHNS and file sharing. The finishing touches to upload should be tackled for 4.4.

I don't know why A.R. chose KDE or how he took the big dive or how he now feels about KDE, I only crossed his path a few times on IRC so this text is only my own perception of the process.

cantor-full_480

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

Sunday, March 9, 2014

Top 10 blog posts for February 2014 from Linuxlandit & The Conqueror Penguin.

1.- Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory.

Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory.

Cadabra a  field-theory motivated approach to computer algebra- Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory. It has extensive functionality for tensor computer algebra, tensor polynomial simplification including multi-term symmetries, fermions and anti-commuting variables, Clifford algebras and Fierz transformations,

More »

2.- The Basic Linear Algebra Communication Subprograms constitute a message-passing library designed for linear algebra.

The Basic Linear Algebra Communication Subprograms constitute a message-passing library designed for linear algebra.

The BLACS (Basic Linear Algebra Communication Subprograms) project is an ongoing investigation whose purpose is to create a linear algebra oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms. The length of time required to implement efficient distributed memory algorithms makes it impractical to rewrite

More »

3.- AutoClass solves the problem of automatic discovery of classes in data.

AutoClass solves the problem of automatic discovery of classes in data.

AutoClass solves the problem of automatic discovery of classes in data. AutoClass solves the problem of automatic discovery of classes in data (sometimes called clustering or unsupervised learning), as distinct from the generation of class descriptions from labeled examples (called supervised learning). It aims to discover the 'natural' classes in the data. The AutoClass project is applicable

More »

4.- ARIBAS is an interactive interpreter for big integer arithmetic.

ARIBAS is an interactive interpreter for big integer arithmetic.

ARIBAS is an interactive interpreter for big integer arithmetic and multi-precision floating point arithmetic with a Pascal/Modula like syntax. It has several builtin functions for algorithmic number theory like gcd, Jacobi symbol, Rabin probabilistic prime test, factorization algorithms (Pollard rho, elliptic curve, continued fraction, quadratic sieve), etc. ARIBAS is used for the examples of

More »

5.- ADMesh is a program for processing triangulated solid meshes.

ADMesh is a program for processing triangulated solid meshes.

ADMesh is a program for processing triangulated solid meshes. Currently, ADMesh only reads the STL file format that is used for rapid prototyping applications, although it can write STL, VRML, OFF, and DXF files. ADMesh is a free software, it is distributed under the terms of the GNU General Public License (GPL) version 2. The full license is in the file COPYING that comes with the ADMesh

More »

6.- SlimBoat Guide: Kill Popups with Popup Blocker and Popular Web Service Integration.

SlimBoat Guide: Kill Popups with Popup Blocker and Popular Web Service Integration.

Popup Blocker. The popup blocker inside the web browser eliminates annoying popup Ad windows or so-called pop-under windows before they have chance to jump out in front of your eyes. When a popup window is blocked, you will hear a beep sound and see a blinking icon towards the right end of the status bar of the web browser. You can click the blinking icon to restore desired popup windows

More »

7.- SlimBoat Guide: Open Multiple Sites As Site Group and Weather Forecast and Current Condition.

SlimBoat Guide: Open Multiple Sites As Site Group and Weather Forecast and Current Condition.

Site Group. Site groups allow you to define a collection of web sites as a group. For example, you can put together a bunch of news sites as a group and open them every morning with a single click. You can create as many groups as you want. You can also organize the groups into subfolders like the way you organize regular bookmarks. You can even include one or more auto-login entries inside a

More »

8.- SlimBoat Guide: Fast Internet Download Manager and Download Youtube Video to MP4.

SlimBoat Guide: Fast Internet Download Manager and Download Youtube Video to MP4.

Download Manager. Are you also tired of broken connections which force you to restart the download all the way from zero? Are you tired of Internet Explorer opening as many download dialogs for each file you are downloading? If that is true, the download manager included in the SlimBoat is going to make your life a lot easier! With the download manager, you can pause and resume download

More »

9.- SlimBoat Guide: Quick Search and Various Application Styles.

SlimBoat Guide: Quick Search and Various Application Styles.

SlimBoat gives you easy access to many general search engines like Google, Yahoo, Bing.com and special search engines like Wikipedia, Amazon.com by way of the quick-search box. SlimBoat supports various application styles to emulate the look and appearance of different operating systems, such as Windows, Linux and Mac. The screen shot of different application styles are shown below, You can

More »

10.- SlimBoat Guide: Automatic Web Page Translation.

SlimBoat Guide: Automatic Web Page Translation.

With the built-in translation feature inside SlimBoat, translating web pages from one language to another has never been easier. SlimBoat supports translation between almost any languages in the world. SlimBoat supports both translation of a full web page and translation of selected text. To translate a full web page, just select "Language->Translate Current Page" from the menu. To

More »

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

Friday, March 7, 2014

Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory.

Cadabra a  field-theory motivated approach to computer algebra-

Cadabra is a computer algebra system (CAS) designed specifically for the solution of problems encountered in field theory. It has extensive functionality for tensor computer algebra, tensor polynomial simplification including multi-term symmetries, fermions and anti-commuting variables, Clifford algebras and Fierz transformations, implicit coordinate dependence, multiple index types and many more. The input format is a subset of TeX. Both a command-line and a graphical interface are available.

Key features of Cadabra:

    Input and output using TeX notation.
    Designed for field-theory problems, with handling of anti-commuting and non-commuting objects without special notations for their products, gamma matrix algebra, Fierz identities, Dirac conjugation, vielbeine, flat and curved, covariant and contravariant indices, implicit dependence of tensors on coordinates, partial and covariant derivatives...
    Powerful tensor simplification algorithms, not just for mono-term symmetries but also for multi-terms symmetries like the Bianchi identity, or dimensionally-dependent symmetries like the Schouten identity.

cadabra

Technical highlights:

    Internal graph data structure based on tree.hh
    A multiple-inheritance typing system using properties.
    Open source C++ code, with documentation on how to extend the system with new algorithm modules.

All feedback is welcome (bugs reports, criticism, suggestions); please contact kasper.peeters (at) durham.ac.uk or post to the mailing list.

Download.

Binary packages for Linux, Mac OS X (and no longer for Windows) can be found on these pages. The source code, available below, should compile on most Linux and Mac systems. However, I only have limited access to various distributions and versions of these operating systems. If you try to compile it yourself and encounter problems, please let me know.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end; on some systems there will also be an entry for Cadabra in your Applications or Start menu.

Linux.

Ubuntu

Ubuntu distributions have Cadabra packages in the standard repositories. Just install with

sudo apt-get install cadabra

or use e.g. synaptic. If you want the latest version, add my PPA to your system, using

sudo add-apt-repository ppa:kasper-peeters/ppa
sudo apt-get update

Optionally, install the cmtt12.ttf font into your ~/.fonts directory to improve the GUI display.

If you encounter a LaTeX error related to breqn.sty, please do

sudo apt-get install texlive-latex3

This is a broken dependency issue in the official repositories (which is fixed in the PPA version).

If you want to install the packages by hand (using e.g. gdebi or dpkg), use the direct link to the modglue packages and the direct link to the cadabra packages. If you need Cadabra for an older Ubuntu version, send me an email.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Education menu).

Debian

Cadabra is now also part of Debian, and is available in the 'sid (unstable)' branch. Thanks to Gürkan Sengün for making this happen.

Packes for older Debian systems (Etch and Lenny) are available thanks to the work of Burkhard Bunk. Please consult the Debian packages page at the physics department of Humboldt University Berlin for instructions on how to install these.

Note that their repository does not have the latest Cadabra version.

 

Fedora

I have built packages for Fedora 16 and 17 using the OpenSUSE build server.

Fedora 16 / 32 bits

Fedora 16 / 64 bits

You need to install all four packages (lie, breqn, modglue and cadabra, in this order) in order to get a working Cadabra installation.

You may also want to install one extra font (optional), cmtt12.ttf. Simply place this in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Education menu).

Scientific Linux

The packages below were created and tested on Scientific Linux 5.3, but work on more recent versions as well. These packages are relocatable. If you need packages for an older version of Scientific Linux, please drop me an email.

package
SL-5.3 RPM
SL-5.3 SRPM

breqn
breqn-0.94-1.i386.rpm
breqn-0.94-1.src.rpm

LiE
lie-2.2.2-1.i386.rpm
lie-2.2.2-1.src.rpm

libmodglue
modglue-1.15-1.i386.rpm
modglue-1.15-1.src.rpm

Cadabra
cadabra-1.23-1.i386.rpm
cadabra-1.23-1.src.rpm

extra font (optional)
cmtt12.ttf

Store the font in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the Applications/Edutainment menu).

openSUSE

The packages below were created and tested on openSUSE 11.2, but hopefully work on more recent versions as well. These packages are relocatable. If you need packages for an older version of openSUSE, please drop me an email.

package
openSUSE 11.2 RPM
openSUSE 11.2 SRPM

LiE
lie-2.2.2-1.i386.rpm
lie-2.2.2-1.src.rpm

libmodglue
modglue-1.16-1.i386.rpm
modglue-1.16-1.src.rpm

Cadabra
cadabra-1.23-1.i386.rpm
cadabra-1.23-1.src.rpm

extra font (optional)
cmtt12.ttf

Store the font in the ~/.fonts directory in your home directory; this will improve the GUI display.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end (or choose cadabra from the More Applications/New applications menu).

Gentoo

Packages for Cadabra, modglue and LiE are available in the science overlay of Gentoo. Users can access the science overlay using the layman utility:

  1. Type "layman -a science" to add the science overlay,
  2. add "sci-mathematics/lie", "sci-libs/modglue" and "sci-mathematics/cadabra" to your package.keywords (in /etc/portage)
  3. Type "emerge cadabra" to install cadabra and its dependencies.

Thanks to François Bissey for making this happen.

Other Linux distributions

If you need a package for a different Linux distribution, contact me by email or try to compile from source.

Mac OS X.

Fink

The Fink version is outdated and known to lead to problems; if you would like to see it updated please contact me.

MacPorts

Important for Mavericks users: the Cadabra dependencies fail to build on Apple's latest OS. This is under investigation; if you have any insight please let me know.

Thanks to Greg Wright, cadabra is available for Mac OS X users through MacPorts; see the record for cadabra for details and the currently available version.

Simply type "sudo port install cadabra" and all required software will be installed automatically (note: this may install some software which you already have installed from other sources). If you do not want the graphical user interface, add the +no_gui option at the end.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end.

Source code.

Installing from source should be no harder than with any other well-behaved GNU tools, i.e. it should be as simple as configure/make/make install. However, you will need to have some additional libraries and tools installed before you can compile cadabra itself. In particular,

  • gmp (configured with --enable-cxx) (on Debian, apt-get install libgmp3-dev libgmpxx3)
  • pcre with C++ wrapper enabled (on Debian, apt-get install libpcre3-dev lib)
  • LiE (on Debian, apt-get install lie)

In order to compile the graphical front-end (add the --enable-gui flag to configure) you also need

Cadabra's configure script will look for these libraries and programs, and tell you when you need to install them. Consult the documentation of these programs/libraries for installation instructions.

You then need to compile and install my modglue library, which is used to connect the various pieces of cadabra together. Download this version here, since it's tuned to cadabra:

This should be a matter of configure/make/make install. Finally, compile and install cadabra itself,

Again, this should be a matter of configure/make/make install. If compilation succeeds, you can also try "make test" for some self-tests (which should all pass).

As always, please mail me if you need help.

After installation, the command cadabra will start the command line version and xcadabra will start the graphical front-end.

Screenshots.

Native graphical user interface

Cadabra comes with its own graphical notebook frontend, which is based on the gtk toolkit (or rather its C++ wrapper gtkmm) and uses LaTeX to typeset expressions. Here are some screenshots:

native gui native gui

TeXmacs interface

There is also a TeXmacs frontend, displayed in the screenshots below. The associated TeXmacs files can be found in the "texmacs" subdirectory of the source tarball.

screenshot 1 screenshot 2

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:

The Basic Linear Algebra Communication Subprograms constitute a message-passing library designed for linear algebra.

The BLACS (Basic Linear Algebra Communication Subprograms) project is an ongoing investigation whose purpose is to create a linear algebra oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms.

The length of time required to implement efficient distributed memory algorithms makes it impractical to rewrite programs for every new parallel machine. The BLACS exist in order to make linear algebra applications both easier to program and more portable. It is for this reason that the BLACS are used as the communication layer of ScaLAPACK. Key ideas in the BLACS include:

Standard interface across platforms.

One of the main strengths of the BLACS is that code which uses the BLACS for its communication layer can run unchanged on any supported platform. There are various packages designed to provide a message passing interface that remains unchanged on several platforms, including PICL, and more recently, MPI. These packages are not available on all of the platforms that we wish to use. More importantly, they are attempts at general libraries, and are thus somewhat harder to use than a more restricted code.

The BLACS are written specifically for linear algebra programming. Since the audience of the BLACS is known, the interface and methods of using the routines can be simpler than for those of more general message passing layers.

NIIntelmklFFT

The BLACS have been written on top of the following message passing layers:

CMMD
Allows the BLACS to run on Thinking Machine's CM-5.
MPI
Allows the BLACS to run across most parallel platforms.
MPL
Allows the BLACS to run on IBM's SP series (SP1 and SP2).
NX
Allows the BLACS to run on Intel's supercomputer series (iPSC2, iPSC/860, DELTA and PARAGON).
PVM
Allows the BLACS to run anywhere PVM is supported, which includes most UNIX systems.

The BLACS are freely available, and can be downloaded from here.

Process Grid and scoped operations.

The processes of a parallel machine with P processes are often presented to the user as a linear array of process IDs, labeled 0 through (P - 1). For reasons described below, it is often more convenient to map this 1-D array of P processes into a logical two dimensional process mesh, or grid. This grid will have R process rows and C process columns, where R * C = G <= P. A process can now be referenced by its coordinates within the grid (indicated by the notation {i, j}, where 0 <= i < R, and 0 <= j < C), rather than a single number. An example of such a mapping is shown in below.
    



An operation which involves more than just a sender and a receiver is called a scoped operation. All processes that participate in a scoped operation are said to be within the operation's scope.

On a system using a linear array of processes, the only natural scope is all processes. Using a 2-D grid, we have 3 natural scopes, as shown in the following table.



SCOPE                    MEANING

------   ----------------------------------------------


Row      All processes in a process row participate.


Column   All processes in a process column participate.


All      All processes in the process grid participate.




These groupings of processes are of particular interest to the linear algebra programmer, since distributed data decompositions of a 2D array (a linear algebra matrix) tend to follow this process mapping. For instance, all of a distributed matrix row can be found on a process row, etc.



Viewing the rows/columns of the process grid as essentially autonomous subsystems provides the programmer with additional levels of parallelism. Of course, how independent these rows and columns actually are will depend upon the underlying machine. For instance, if the grid's processors are connected via ethernet, we can see that the only gain will be in ease of programming. Speed is unlikely to increase, since if one processor is communicating, no others can. If this is the case, process rows or columns will not be able to perform different distributed tasks at the same time. Fortunately, most modern supercomputer interconnection networks are at least as rich as a 2D grid, so that these additional levels of parallelism can be exploited.



Context.



In the BLACS, each process grid is enclosed in a context. A context may be thought of as a message passing universe. This means that a grid can safely communicate even if other (possibly overlapping) grids are also communicating.



In most respects, we can use the terms "grid" and "context" interchangeably. I.e., we may say "perform operation in context X" or "in grid X". The slight difference here is that the user may define two exactly identical grids (say, two 1x3 process grids, both of which use processes 0, 1, and 2), but each will be wrapped in its own context, so that they are distinct in operation, even though they are indistinguishable from a process grid standpoint.



Contexts are used so that individual routines using the BLACS can, when required, safely operate without worrying if other distributed codes are being executed on the same machine.



Another example of the use of context might be to define a normal 2D process grid about which most computation takes place. However, at certain sections it may be more convenient to access the processes as a 1D grid, and at certain others we may wish, for instance, to share information among nearest neighbors. We will therefore want each process to have access to three contexts: the 2D grid, the 1D grid, and a small grid which contains the process and its nearest neighbors.



Therefore, we see that context allows us to:



    Create arbitrary groups of processes upon which to execute

    Create an indeterminate number of overlapping or disjoint grids


    Isolate each grid so that grids do not interfere with each other



In the BLACS, there are two grid creation routines (BLACS_GRIDINIT and BLACS_GRIDMAP ) which create a process grid and its enclosing context. These routines return context handles, which are simple integers. Subsequent BLACS routines will be passed these handles, which allow the BLACS to determine what context/grid a routine is being called from. The user should never actually manipulate these handles: they are opaque data objects which are only meaningful for the BLACS routines.



Contexts consume resources. It is therefore advisable to release contexts when they are no longer needed. This is done via the routine BLACS_GRIDEXIT. When the entire BLACS system is shut down (via a call to BLACS_EXIT), all outstanding contexts are automatically freed.



Array-based Communication.



Many communication packages can be classified as having operations based on one dimensional arrays, which are the machine representation for linear algebra's vector class. In programming linear algebra problems, however, it is more natural to express all operations in terms of matrices. Vectors and scalars are, of course, simply subclasses of matrices. On computers, a linear algebra matrix is represented by a two dimensional array (2D array), and therefore the BLACS operate on 2D arrays.



The BLACS recognize the two most common classes of matrices for dense linear algebra. The first of these classes consist of general rectangular matrices, which in machine storage are 2D arrays consisting of M rows and N columns, with a leading dimension, LDA, that determines the distance between successive columns in memory.



The general rectangular matrices therefore take the following parameters as input when determining what array to operate on:


M
(input) INTEGER

The number of matrix rows to be operated on.
N
(input) INTEGER

The number of matrix columns to be operated on.
A
(input/output) TYPE DEPENDS ON ROUTINE, array of dimension (LDA,N)

A pointer to the beginning of the (sub)array to be sent.
LDA
(input) INTEGER

The distance between two elements in matrix row.
The second class of matrices recognized by the BLACS are trapezoidal matrices (triangular matrices are a sub-class of trapezoidal) Trapezoidal arrays are defined by M, N, and LDA, as above, but they have two additional parameters as well. These parameters are:
UPLO
(input) CHARACTER*1

Indicates whether the matrix is upper or lower trapezoidal, as discussed below.
DIAG
(input) CHARACTER*1

Indicates whether the diagonal of the matrix is unit diagonal (will not be operated on) or otherwise (will be operated on).
The shape of the trapezoidal arrays is determined by these parameters as follows:

            



The packing of arrays (if required) so that they may be sent efficiently is hidden, allowing the user to concentrate on the logical matrix, rather than how the data is organized in the machine's memory.

If you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:



Recent Posts

Linux News

My Blog List

BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog Add to Technorati Favorites BlogItalia.it - La directory italiana dei blog Il Bloggatore Find the best blogs at Blogs.com. AddThis Social Bookmark Button page counter Mi Ping en TotalPing.com