Extreme Graphics with Extrema
High-energy physics experiments tend to generate huge amounts of data. While this data is passed through analysis software, very often the first thing you may want to do is to graph it and see what it actually looks like. To this end, a powerful graphing and plotting program is an absolute must. One available package is called Extrema (http://exsitewebware.com/extrema/index.html). Extrema evolved from an earlier software package named Physica. Physica was developed at the TRIUMF high-energy centre in British Columbia, Canada. It has both a complete graphical interface for interactive use in data analysis and a command language that allows you to process larger data sets or repetitive tasks in a batch fashion.
Installing Extrema typically is simply a matter of using your distribution's package manager. If you want the source, it is available at the SourceForge site (http://sourceforge.net/projects/extrema). At SourceForge, there also is a Windows version, in case you are stuck using such an operating system.
Once it is installed
on your Linux box, launching it is as simple as typing in
pressing Enter. At start up, you should see two windows: a visualization
window and an analysis window (Figure 1). One of the most important buttons
is the help button. In the analysis window, you can bring it up by clicking
on the question mark (Figure 2). In the help window, you can get more
detailed information on all the functions and operators available
Figure 1. On startup, you are presented with a blank visualization window and an analysis window.
Figure 2. The help window gives you information on all of the available functions, operators and commands.
Extrema provides 3-D contour and density plots. For 2-D graphing, you can control almost all the features, like axes, plot points, colors, fonts and legends. You also can do some data analysis from within Extrema. You can do various types of interpolation, such as linear, Lagrange or Fritsch-Carlson. You can fit an equation to your data with up to 25 parameters. Extrema contains a full scripting language that includes nested loops, branches and conditional statements. You either can write out scripts in a text editor or use the automatic script-writing mode that translates your point-and-click actions to the equivalent script commands.
The first thing you will need to do is get your data into Extrema. Data is stored in variables and is referenced by the variable's name. The first character of a variable name must be alphabetic and cannot be any longer than 32 characters. Other than these restrictions, variable names can contain any alphabetic or numeric characters, underscores or dollar signs. Unlike most things in Linux, variable names are case-insensitive. And remember, function names are reserved, so you can't use them as variable names.
String variables can contain either
a single string of text or an array of text strings. Numeric variables
can contain a single number, a vector (1-D array), a matrix (2-D array)
or a tensor (3-D array). All numbers are stored as double-precision
real values. Unlike most other programming languages, these arrays
are indexed starting at 1, rather than 0. There are no limits to the
size of these arrays, other than the amount of memory available on your
machine. Indexing arrays in Extrema can be interesting. If you want the
eighth element of array x, you simply can reference it with
x. You can
grab elements 8, 9 and 10 with
x[8:10]. These indices can be replaced
with expressions, so you could get the eighth element with
Joey Bernard has a background in both physics and computer science. This serves him well in his day job as a computational research consultant at the University of New Brunswick. He also teaches computational physics and parallel programming.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Django Models and Migrations
- Hacking a Safe with Bash
- Secure Server Deployments in Hostile Territory, Part II
- Home Automation with Raspberry Pi
- Huge Package Overhaul for Debian and Ubuntu
- The Controversy Behind Canonical's Intellectual Property Policy
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development