Saturday, August 8, 2009

Apache Math 2.0

Apache Commons Math 2.0 released.

Commons Math is made up of a small set of math/stat utilities addressing programming problems like the ones in the list below. This list is not exhaustive, it's just meant to give a feel for the kinds of things that Commons Math provides.

•Computing means, variances and other summary statistics for a list of numbers
•Fitting a line to a set of data points using linear regression
•Finding a smooth curve that passes through a collection of points (interpolation)
•Fitting a parametric model to a set of measurements using least-squares methods
•Solving equations involving real-valued functions (i.e. root-finding)
•Solving systems of linear equations
•Solving Ordinary Differential Equations
•Minimizing multi-dimensional functions
•Generating random numbers with more restrictions (e.g distribution, range) than what is possible using the JDK
•Generating random samples and/or datasets that are "like" the data in an input file
•Performing statistical significance tests
•Miscellaneous mathematical functions such as factorials, binomial coefficients and "special functions" (e.g. gamma, beta functions)

Commons Math is divided into fifteen subpackages, based on functionality provided.

1.org.apache.commons.math.stat - statistics, statistical tests
2.org.apache.commons.math.analysis - rootfinding, integration, interpolation, polynomials
3.org.apache.commons.math.random - random numbers, strings and data generation
4.org.apache.commons.math.special - special functions (Gamma, Beta)
5.org.apache.commons.math.linear - matrices, solving linear systems
6.org.apache.commons.math.util - common math/stat functions extending java.lang.Math
7.org.apache.commons.math.complex - complex numbers
8.org.apache.commons.math.distribution - probability distributions
9.org.apache.commons.math.fraction - rational numbers
10.org.apache.commons.math.transform - transform methods (Fast Fourier)
11.org.apache.commons.math.geometry - 3D geometry (vectors and rotations)
12.org.apache.commons.math.estimation - parametric estimation problems
13.org.apache.commons.math.optimization - functions minimization
14.org.apache.commons.math.ode - Ordinary Differential Equations integration
15.org.apache.commons.math.genetics - Genetic Algorithms

Wednesday, June 10, 2009

Java Algebra System (JAS) Project

The Java Algebra System (JAS) is an object oriented, type safe and multi-threaded approach to computer algebra. JAS provides a well designed software library using generic types for algebraic computations implemented in the Java programming language. The library can be used as any other Java software package or it can be used interactively or interpreted through an jython (Java Python) front end. The focus of JAS is at the moment on commutative and solvable polynomials, Groebner bases and applications. By the use of Java as implementation language JAS is 64-bit and multi-core cpu ready.

The library contains at the moment of the following packages:

edu.jas.structure:
contains interfaces for the most general algebraic structures like RingElem and RingFactory.

edu.jas.arith:
contains classes for arithmetic in the basic coefficient rings like BigRational, BigInteger or BigComplex.

edu.jas.poly:
contains classes for polynomial and solvable polynomial arithmetic like GenPolynomial, GenSolvablePolynomial and others such as AlgebraicNumber and a polynomial parser GenPolynomialTokenizer.

edu.jas.vector:
contains classes for vectors and lists of polynomials and solvable polynomials like GenVector or ModuleList.

edu.jas.gb:
contains classes for polynomial and solvable polynomial reduction, Groebner bases over fields and ideal arithmetic as well as thread parallel and distributed versions of Buchbergers algorithm like ReductionSeq, GroebnerBaseAbstract, GroebnerBaseSeq, GroebnerBaseParallel and GroebnerBaseDistributed. New are Groebner bases in polynomial rings over principal ideal domains and Euclidean domains, so called D- and E-Groebner bases, e.g. EGroebnerBaseSeq. Latest additions are Groebner bases for polynomial rings over regular rings (direct products of fields or integral domains) in RGroebnerBaseSeq and RGroebnerBasePseudoSeq.

edu.jas.gbmod:
contains classes for module Groebner bases and syzygies over polynomials and solvable polynomials like ModGroebnerBase or SolvableSyzygy.
edu.jas.application:
contains classes with applications of Groebner bases such as ideal intersections and ideal quotients implemented in Ideal or SolvableIdeal. Latest additions are comprehensive Groebner bases for polynomial rings over parameter rings in class ComprehensiveGroebnerBaseSeq.

edu.jas.ufd:
contains classes for unique factorization domains. Like the interface GreatestCommonDivisor, the abstract class GreatestCommonDivisorAbstract and various implementations, e.g. polynomial remainder sequences and modular algorithms. The package now contains factorization algorithms for univariate polynomials over several coefficient rings: modulo primes in class FactorModular, over integers in class FactorInteger, over rational numbers in class FactorRational and over algebraic numbers in class FactorAlgebraic.

edu.jas.root:
contains classes for real root computations. Like the interface RealRoots, the abstract class RealRootsAbstract and at the moment of a single implementation based on Sturm sequences RealRootsSturm. The package further contains an implementation for real algebraic numbers RealAlgebraicNumber with a corresponding factory RealAlgebraicRing.

edu.jas.ps:
contains univariate power series arithmetic in class UnivPowerSeries.

edu.jas.util:
contains further utilities for parallel and distributed computations like ThreadPool, DistThreadPool or DistHashTable (part of this package has become obsolete with JDK 1.5).

Wednesday, March 4, 2009

Society for Industrial and Applied Mathematics (SIAM)

Society for Industrial and Applied Mathematics (SIAM)
SIAM exists to ensure the strongest interactions between mathematics and other scientific and technological communities through membership activities, publication of journals and books, and conferences.

Tuesday, March 3, 2009

Wednesday, January 7, 2009

The R Project for Statistical Computing

The R Project for Statistical Computing

R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity.

One of R's strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed. Great care has been taken over the defaults for the minor design choices in graphics, but the user retains full control.

R is available as Free Software under the terms of the Free Software Foundation's GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.


Data Analysts Captivated by R’s Power
“R is really important to the point that it’s hard to overvalue it,” said Daryl Pregibon, a research scientist at Google, which uses the software widely. “It allows statisticians to do very intricate and complicated analyses without knowing the blood and guts of computing systems.”

Thursday, January 1, 2009

PhysicsForums.com

I came across PhysicsForums.com today.

Some of the forum topics related to math:

Math & Science Learning Materials

Physics Forums > Mathematics

Physics Forums > Mathematics > General Math

Physics Forums > Mathematics > Calculus & Analysis

Physics Forums > Mathematics > Differential Equations

Physics Forums > Mathematics > Linear & Abstract Algebra

Physics Forums > Mathematics > Topology & Geometry

Physics Forums > Mathematics > Set Theory, Logic, Probability, Statistics

Physics Forums > Mathematics > Number Theory

Physics Forums > Other Sciences > Computer Science > Math & Science Software