Main > Free Download Search >

Free lapack software for linux

lapack

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 16
LAPACK 3.1.1

LAPACK 3.1.1


LAPACK is a linear algebra library, based on LINPACK and EISPACK. more>>
LAPACK is a linear algebra library, based on LINPACK and EISPACK.
LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.
The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.
If youre uncertain of the LAPACK routine name to address your applications needs, check out the LAPACK Search Engine.
The original goal of the LAPACK project was to make the widely used EISPACK and LINPACK libraries run efficiently on shared-memory vector and parallel processors.
On these machines, LINPACK and EISPACK are inefficient because their memory access patterns disregard the multi-layered memory hierarchies of the machines, thereby spending too much time moving data instead of doing useful floating-point operations.
LAPACK addresses this problem by reorganizing the algorithms to use block matrix operations, such as matrix multiplication, in the innermost loops. These block operations can be optimized for each architecture to account for the memory hierarchy, and so provide a transportable way to achieve high efficiency on diverse modern machines. We use the term "transportable" instead of "portable" because, for fastest possible performance, LAPACK requires that highly optimized block matrix operations be already implemented on each machine.
LAPACK routines are written so that as much as possible of the computation is performed by calls to the Basic Linear Algebra Subprograms (BLAS). While LINPACK and EISPACK are based on the vector operation kernels of the Level 1 BLAS, LAPACK was designed at the outset to exploit the Level 3 BLAS -- a set of specifications for Fortran subprograms that do various types of matrix multiplication and the solution of triangular systems with multiple right-hand sides.
Because of the coarse granularity of the Level 3 BLAS operations, their use promotes high efficiency on many high-performance computers, particularly if specially coded implementations are provided by the manufacturer.
Highly efficient machine-specific implementations of the BLAS are available for many modern high-performance computers. For details of known vendor- or ISV-provided BLAS, consult the BLAS FAQ. Alternatively, the user can download ATLAS to automatically generate an optimized BLAS library for the architecture. A Fortran77 reference implementation of the BLAS in available from netlib; however, its use is discouraged as it will not perform as well as a specially tuned implementation.
Enhancements:
- The BLAS implementation was completed.
- The number of timers accessible was increased.
- Code cleanups and bugfixes were made.
<<less
Download (10.6MB)
Added: 2007-03-09 License: BSD License Price:
968 downloads
 
Other version of LAPACK
LAPACK 1.8.0 (ScaLAPACK)LAPack Development Team - LAPACK 1.8.0 (ScaLAPACK)LAPACK 1.8.0 (ScaLAPACK) LAPACK is a linear algebra library. LAPACK. LAPACK is a linear algebra library, based on
License:BSD License
Download (4.8MB)
805 downloads
Added: 2007-08-14
LinAl 1.0

LinAl 1.0


LinAl was designed to bring together C++ and FORTRAN. more>>
LinAl was designed to bring together C++ and FORTRAN. At the same time LinAl is supposed to be easy to use, fast, and reasonably safe.

LinAl library is based on STL techniques and uses the STL containers for the storage of matrix data and STL algorithms where feasible.

Low level, algebraic operators, linear solvers, and eigenvalue solvers are implemented, based on calls to BLAS, LAPACK, and CGSOLX.

At the same time LinAl is supposed to be easy to use, fast and, to a certain extent, type save. While certain compromises were made in the class layout and design, strong emphasis was put on simplicity and speed.

The library is based on STL techniques and uses STL containers for the storage of matrix data furthermore STL algorithms are used where feasible. Low level, algebraic operators as well as linear solvers and eigenvalue solvers are implemented, based on calls to BLAS, LAPACK and CGSOLX and LANCZOS. These packages can be found on netlib.

Interested? Fantastic, download the package, get them compiler hummin and see whats this all about. Problems? Thats what the mailing list is for. So what are you waiting for?
<<less
Download (0.12MB)
Added: 2006-02-17 License: LGPL (GNU Lesser General Public License) Price:
1347 downloads
Free Finite Element Package 0.8.3

Free Finite Element Package 0.8.3


Free Finite Element Package is a modular collection of C libraries which contain numerical methods. more>>
Free Finite Element Package is a modular collection of C libraries which contain numerical methods required when working with linear and quadratic finite elements in two dimensions.

FFEP works on GNU/Linux and is portable to every system where MEML (i.e. LAPACK and BLAS) are available. The goal of FFEP is to provide basic functions for approximating the solution of elliptic and parabolic partial differential equation in two dimensions with Dirichlet and Neumann boundary conditions.

<<less
Download (0.33MB)
Added: 2006-04-27 License: BSD License Price:
1282 downloads
LFMat 0.1.1

LFMat 0.1.1


LFMats goal is to furnish convenient matrix tools for the finite element methods. more>>
LFMats goal is to furnish convenient matrix tools for the finite element methods. Actually, theres a lot of libraries for linear algebra on the net, but it seems that its still hard to find flexible and high performance free software for the required procedures (genericity, speed, adaptated storage, ...).
LFMat is a generic purpose, fully templated open source C++ matrix library. Particular attention has been furnished to get convenient storage for SIMD instructions like 3Dnow! and SSE2 on x86 processors and Altivec on PowerPC ones. It means that theres specializations for severals important types like float or double in order to get the deserving performances.
Furthermore, important routines make careful use of cache, leading -- as example -- to solvers up to 8 times faster than standard lapack ones in the same situation (see benchmarks).
Matrices can contain any kind of data (double, float, symbolic expressions, ...) and user can choose orientation, storage style and structure (see tutorial). Furthermore, matrices can be of fixed size (known at compilation time), allowing compilers to make additional optimizations.
Main features:
For now, storage styles can be:
- dense (n*m elements for a rectangular matrix, n*(n+1)/2 for a square symmetric matrix),
- dense uncompressed (n*n for a symmetric matrix),
- sky line (user gives the beginning and/or the end of each lines),
- sparse, row or column compressed,
- band.
Structures can be:
- generic (no particular properties),
- diagonal.
- symmetric,
- antisymmetric,
- hermitian,
- triangular, upper or lower,
- The number of reserved elements depends on both storage and structure.
Furthermore, matrices can be:
- row oriented,
- column oriented,
- diagonal oriented (still in progress).
- Some useful procedures have been coded for different kind of matrices:
- solvers (cholesky, ... see Table 1.2 ),
- operators (*, ... see Table 1.3),
- eigen values finders.
- converter between different kind of matrices
All these procedures have been designed to be fast, using cache and SIMD instruction where possible.
<<less
Download (0.40MB)
Added: 2006-03-02 License: GPL (GNU General Public License) Price:
1333 downloads
PDL::LinearAlgebra::Complex 0.03

PDL::LinearAlgebra::Complex 0.03


PDL::LinearAlgebra::Complex is a PDL interface to the lapack linear algebra programming library (complex number). more>>
PDL::LinearAlgebra::Complex is a PDL interface to the lapack linear algebra programming library (complex number).

SYNOPSIS

use PDL::Complex
use PDL::LinearAlgebra::Complex;

$a = r2C random (100,100);
$s = r2C zeroes(100);
$u = r2C zeroes(100,100);
$v = r2C zeroes(100,100);
$info = 0;
$job = 0;
cgesdd($a, $job, $info, $s , $u, $v);

This module provide an interface to parts of the lapack library (complex number). These routine accept either float or double piddles.

EOD

pp_defc("gesvd", HandleBad => 0, RedoDimsCode => $SIZE(r) = $PDL(A)->ndims > 2 ? min($PDL(A)->dims[1], $PDL(A)->dims[2]) : 1;, Pars => [io,phys]A(2,m,n); int jobu(); int jobvt(); [o,phys]s(r); [o,phys]U(2,p,q); [o,phys]VT(2,s,t); int [o,phys]info(), GenericTypes => [F,D], Code => generate_code
integer lwork;
char trau, travt;
types(F) %{

extern int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n, float *a,
integer *lda, float *s, float *u, int *ldu,
float *vt, integer *ldvt, float *work, integer *lwork, float *rwork,
integer *info);
float *rwork;
float tmp_work[2];
%}
types(D) %{

extern int zgesvd_(char *jobz,char *jobvt, integer *m, integer *n,
double *a, integer *lda, double *s, double *u, int *ldu,
double *vt, integer *ldvt, double *work, integer *lwork, double *rwork,
integer *info);
double *rwork;
double tmp_work[2];
%}
lwork = ($PRIV(__m_size) < $PRIV(__n_size)) ? 5*$PRIV(__m_size) : 5*$PRIV(__n_size);
types(F) %{
rwork = (float *)malloc(lwork * sizeof(float));
%}
types(D) %{
rwork = (double *)malloc(lwork * sizeof(double));
%}
lwork = -1;


switch ($jobu())
{
case 1: trau = A;
break;
case 2: trau = S;
break;
case 3: trau = O;
break;
default: trau = N;
}
switch ($jobvt())
{
case 1: travt = A;
break;
case 2: travt = S;
break;
case 3: travt = O;
break;
default: travt = N;
}



$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
&tmp_work[0],
&lwork,
rwork,
$P(info));

lwork = (integer )tmp_work[0];
{
types(F) %{

float *work = (float *)malloc(2*lwork * sizeof(float));
%}
types(D) %{

double *work = (double *)malloc(2*lwork * sizeof(double));
%}
$TFD(cgesvd_,zgesvd_)(
&trau,
&travt,
&$PRIV(__m_size),
&$PRIV(__n_size),
$P(A),
&$PRIV(__m_size),
$P(s),
$P(U),
&$PRIV(__p_size),
$P(VT),
&$PRIV(__s_size),
work,
&lwork,
rwork,
$P(info));
free(work);
}
free(rwork);
,
Doc=>

<<less
Download (0.12MB)
Added: 2007-06-27 License: Perl Artistic License Price:
849 downloads
ATLAS 3.6.0 / 3.7.37

ATLAS 3.6.0 / 3.7.37


ATLAS project is an ongoing research effort focusing on applying empirical techniques. more>>
ATLAS (Automatically Tuned Linear Algebra Software) project is an ongoing research effort focusing on applying empirical techniques in order to provide portable performance.
ATLAS provides C and Fortran77 interfaces to a portably efficient BLAS implementation, as well as a few routines from LAPACK.
Whats New in 3.7.37 Development Release:
- Some smoothing operations to allow easier use of Windows compilers, and many major bugfixes (primarily in system analysis for configuration).
<<less
Download (1.6MB)
Added: 2007-08-12 License: BSD License Price:
839 downloads
dnAnalytics Numerical Library 0.2

dnAnalytics Numerical Library 0.2


dnAnalytics Numerical Library is a numerical library for the .NET Framework. more>>
dnAnalytics Numerical Library is a numerical library for the .NET Framework. The library is written in C# and is available as a fully managed library, but also provides an interface to native BLAS and LAPACK libraries.
dnAnalytics Numerical Library is compatible with Mono and has been tested on Windows, and various Linux distributions. The current release includes matrix, vector and complex number classes, and support for basic linear algebra routines (such as LU, Cholesky, QR, Levinson, and SVD).
We will be adding optimization, calculus, random number, statistical, option pricing, genetic programming, and neural network components in the future.
Main features:
- Fully managed mode.
- Optional support for the native numerical libraries:
- Intel Math Kernel Library (MKL)
- AMD Core Math Library (ACML)
- ATLAS and CLAPACK
- Support for sparse matrices and vectors.
- Dense and sparse solvers.
- QR, LU, SVD, Cholesky, Levinson, and Symmetric Levinson decomposition classes.
- Matrix IO classes that read and write matrices form/to Matrix Market and delimited files.
- Complex and "special" math routines.
- Overload mathematical operators to simplify complex expressions.
- Runs under Microsoft Windows and Linux.
- Works with Mono.
<<less
Download (MB)
Added: 2006-04-27 License: BSD License Price:
1276 downloads
Lush 1.2

Lush 1.2


Lush is a programming language for researchers. more>>
Lush project is an object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications.
Lush is designed to be used in situations where one would want to combine the flexibility of a high-level, weakly-typed interpreted language, with the efficiency of a strongly-typed, natively-compiled language, and with the easy integration of code written in C, C++, or other languages.
Lush is Free Software (under the GPL license). It runs on GNU/Linux, Mac OS-X, Solaris, Irix, and on Windows under Cygwin.
Lush can be used advantageously for projects where one would otherwise use a combination of an interpreted language like Matlab, Python, Perl, S+, or even (gasp!) BASIC, and a compiled language like C.
Lush brings the best of both worlds by wrapping three languages into one: (1) a weakly-typed, garbage-collected, dynamically scoped, interpreted language with a simple Lisp-like syntax, (2) a strongly-typed, lexically-scoped compiled language that uses the same Lisp-like syntax, and (3) the C language, which can be freely mixed with Lush code within a single program, even within a single function. It sounds complicated, but it is not. In fact, Lush is designed to be very simple to learn and easy to use.
If you do research and development in signal processing, image processing, machine learning, computer vision, bio-informatics, data mining, statistics, simulation, optimization, or artificial intelligence, and feel limited by Matlab and other existing tools, Lush is for you. If you want a simple environment to experiment with graphics, video, and sounds, Lush is for you.
Main features:
- A very clean, simple, and easy to learn Lisp-like syntax.
- A compiler that produces very efficient C code and relies on the C compiler to produce efficient native code (no inefficient bytecode or virtual machine).
- An easy way to interface C functions and libraries, and a powerful dynamic linker/loader for object files or libraries (.o, .a and .so files) written in other compiled languages.
- The ability to freely mix Lisp and C in a single function.
- A powerful set of vector/matrix/tensor operations.
- A huge library of over 10,000 numerical routines, including full interfaces to GSL, LAPACK, and BLAS.
- A library of image and signal processing routines.
- An extensive set of graphic routines, including an object-oriented GUI toolkit, an interface to OpenGL/GLU/GLUT, and the OpenInventor scene rendering engine.
- An interface to the Simple Directmedia Layer (SDL) multimedia library, including a sprite class with pixel-accurate collision detection (perfect for 2D games).
- Sound and video grabbing (using ALSA and Video4Linux).
- Several libraries for machine learning, neural net, statistical estimation, Hidden Markov Models (gblearn2, Torch, HTK, SVM).
- libraries for computer vision (OpenCV, Intels open source Vision Library), and 3D scene rendering (OpenInventor).
- bindings to the JavaVM API and to the Python C API.
- Lush is Free Software.
<<less
Download (4.2MB)
Added: 2006-08-08 License: GPL (GNU General Public License) Price:
1189 downloads
PDL::LinearAlgebra 0.03

PDL::LinearAlgebra 0.03


PDL::LinearAlgebra Perl module contains linear algebra utils for PDL. more>>
PDL::LinearAlgebra Perl module contains linear algebra utils for PDL.

SYNOPSIS

use PDL::LinearAlgebra;

$a = random (100,100);
($U, $s, $V) = mdsvd($a);

This module provides a convenient interface to PDL::LinearAlgebra::Real and PDL::LinearAlgebra::Complex.

FUNCTIONS

setlaerror

Set action type when error is encountered, returns previous type. Available values are NO, WARN and BARF (predefined constants). If, for example, in computation of the inverse, singularity is detected, the routine can silently return values from computation (see manuals), warn about singularity or barf. BARF is the default value.

$a = sequence(5,5);
$err = setlaerror(NO);
($inv, $info)= minv($a);
if ($info){
# Change the diagonal (the inverse doesnt exist but its an example)
$a->diagonal(0,1)+=1e-8;
($inv, $info)= minv($a);
}
if ($info){
print "Cant compute the inversen";
}
else{
print "Inverse of $a is $inv";
}
setlaerror($err);

getlaerror

Get error type.

0 => NO,
1 => WARN,
2 => BARF
t
PDL = t(PDL, SCALAR(conj))
conj : Conjugate Transpose = 1 | Transpose = 0, default = 1;

Convenient function for transposing real or complex 2D array(s). For PDL::Complex, if conj is true returns conjugate transpose array(s) and doesnt support dataflow. Supports threading.

issym

PDL = issym(PDL, SCALAR|PDL(tol),SCALAR(hermitian))
tol : tolerance value, default: 1e-8 for double else 1e-5
hermitian : Hermitian = 1 | Symmetric = 0, default = 1;

Check symmetricity/Hermitianicity of matrix. Supports threading.

diag

Return i-th diagonal if matrix in entry or matrix with i-th diagonal with entry. I-th diagonal returned flows data back&forth. Can be used as lvalue subs if your perl supports it. Supports threading.

PDL = diag(PDL, SCALAR(i), SCALAR(vector)))
i : i-th diagonal, default = 0
vector : create diagonal matrices by threading over row vectors, default = 0
my $a = random(5,5);
my $diag = diag($a,2);
# If your perl support lvaluable subroutines.
$a->diag(-2) .= pdl(1,2,3);
# Construct a (5,5,5) PDL (5 matrices) with
# diagonals from row vectors of $a
$a->diag(0,1)

tritosym

Return symmetric or Hermitian matrix from lower or upper triangular matrix. Supports inplace and threading. Uses tricpy or ctricpy from Lapack.

PDL = tritosym(PDL, SCALAR(uplo), SCALAR(conj))
uplo : UPPER = 0 | LOWER = 1, default = 0
conj : Hermitian = 1 | Symmetric = 0, default = 1;
# Assume $a is symmetric triangular
my $a = random(10,10);
my $b = tritosym($a);

positivise

Return entry pdl with changed sign by row so that average of positive sign > 0. In other words thread among dimension 1 and row = -row if Sum(sign(row)) < 0. Works inplace.

my $a = random(10,10);
$a -= 0.5;
$a->xchg(0,1)->inplace->positivise;

mcrossprod

Compute the cross-product of two matrix: A x B. If only one matrix is given, take B to be the same as A. Supports threading. Uses crossprod or ccrossprod.

PDL = mcrossprod(PDL(A), (PDL(B))
my $a = random(10,10);
my $crossproduct = mcrossprod($a);

mrank

Compute the rank of a matrix, using a singular value decomposition. from Lapack.

SCALAR = mrank(PDL, SCALAR(TOL))
TOL: tolerance value, default : mnorm(dims(PDL),inf) * mnorm(PDL) * EPS
my $a = random(10,10);
my $b = mrank($a, 1e-5);

mnorm

Compute norm of real or complex matrix Supports threading.
PDL(norm) = mnorm(PDL, SCALAR(ord));

ord :
0|inf : Infinity norm
1|one : One norm
2|two : norm 2 (default)
3|fro : frobenius norm
my $a = random(10,10);
my $norm = mnrom($a);

mdet

Compute determinant of a general square matrix using LU factorization. Supports threading. Uses getrf or cgetrf from Lapack.

PDL(determinant) = mdet(PDL);
my $a = random(10,10);
my $det = mdet($a);

mposdet

Compute determinant of a symmetric or Hermitian positive definite square matrix using Cholesky factorization. Supports threading. Uses potrf or cpotrf from Lapack.

(PDL, PDL) = mposdet(PDL, SCALAR)
SCALAR : UPPER = 0 | LOWER = 1, default = 0
my $a = random(10,10);
my $det = mposdet($a);

mcond

Compute the condition number (two-norm) of a general matrix.
The condition number (two-norm) is defined:

norm (a) * norm (inv (a)).

Uses a singular value decomposition. Supports threading.

PDL = mcond(PDL)
my $a = random(10,10);
my $cond = mcond($a);

mrcond

Estimate the reciprocal condition number of a general square matrix using LU factorization in either the 1-norm or the infinity-norm.
The reciprocal condition number is defined:

1/(norm (a) * norm (inv (a)))

Supports threading.

PDL = mrcond(PDL, SCALAR(ord))
ord :
0 : Infinity norm (default)
1 : One norm
my $a = random(10,10);
my $rcond = mrcond($a,1);

morth

Return an orthonormal basis of the range space of matrix A.

PDL = morth(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $ortho = morth($a, 1e-8);

mnull

Return an orthonormal basis of the null space of matrix A.

PDL = mnull(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $null = mnull($a, 1e-8);

minv

Compute inverse of a general square matrix using LU factorization. Supports inplace and threading. Uses getrf and getri or cgetrf and cgetri from Lapack and return inverse, info in array context.

PDL(inv) = minv(PDL)
my $a = random(10,10);
my $inv = minv($a);

mtriinv

Compute inverse of a triangular matrix. Supports inplace and threading. Uses trtri or ctrtri from Lapack. Returns inverse, info in array context.

(PDL, PDL(info))) = mtriinv(PDL, SCALAR(uplo), SCALAR|PDL(diag))
uplo : UPPER = 0 | LOWER = 1, default = 0
diag : UNITARY DIAGONAL = 1, default = 0
# Assume $a is upper triangular
my $a = random(10,10);
my $inv = mtriinv($a);

<<less
Download (0.12MB)
Added: 2007-06-27 License: Perl Artistic License Price:
849 downloads
Meta Matrix Library 0.7.2

Meta Matrix Library 0.7.2


Meta Matrix Library is a modular designed collection of C libraries. more>>
Meta Matrix Library is a modular designed collection of C libraries. Meta Matrix Library was developed as part of the Free Finite Element Package to provide easy and consistent access to numerical linear algebra software for sparse and dense matrices.

The dense matrix and vector operations of the package are based on LAPACK and BLAS (focused upon ATLAS). For more details of LAPACK and BLAS see Related Links. Beyond this MEML supports UMFPACK ( SuperLU projected ) as solver for linear systems of equations with sparse matrices.

<<less
Download (0.45MB)
Added: 2006-05-21 License: BSD License Price:
1256 downloads
TBCI 2.5.3

TBCI 2.5.3


TBCI is a C++ library which provides classes for Vectors, Matrices, etc. more>>
TBCI is a C++ library which provides classes for Matrices, Vectors, etc., and defines operations on them such as additions, multiplications, etc. There are many Matrix classes providing specializations for different sparse matrices.
They all feature a similar interface. TBCI comes with an extensive set of solvers for linear systems and an interface to lapack libraries.
It uses the temporary base class idiom, which avoids unnecessary copying of data by having a notion of real and temporary objects which are treated differently with respect to assignment and copy ctor.
Enhancements:
- A number of little bugs have been fixed.
- The CSCMatrix::setval() function only worked with proper input sorting; malloc_cache can now extend empty vectors; GMres and SVD are safer against badly prepared input.
- The sources compile fine now with -pedantic.
- There are also a few minor feature enhancements: All matrices now have a transpose() member.
- Error checking messages have been improved.
- The SMP code now has bind_threads() support, and better autotools support has been added.
- The RPMs for i386 now contain libraries both with and without SSE2 support.
<<less
Download (0.46MB)
Added: 2006-11-24 License: GPL (GNU General Public License) Price:
1064 downloads
Pyvox 0.72

Pyvox 0.72


Pyvox is a set of software tools for medical image processing. more>>
Pyvox is a set of software tools for medical image processing, particularly skull stripping and segmentation of MR brain images; tools to support other applications may be added later.
These tools are intended to support researchers who need to prototype new image analysis algorithms or to develop automated image analysis tools for specific image analysis applications. The sequence of processing operations is specified through the scripting language Python, which can be used interactively or in command files; the core image processing algorithms are written in C for efficient processing of volume images.
Important design criteria for Pyvox include: script files and data files are portable across multiple Unix platforms, including Linux and Mac OS X; suitable for rapid prototyping of new algorithms and analysis protocols; suitable for efficient, automated processing of the finished analysis protocols; and easily extensible by programmers outside the original development team.
Pyvox is being distributed under an Open Source license which permits free use, modification, and redistribution provided that proper credit is given.
Main features:
Medical Image Processing
- Pyvox is designed primarily for medical image processing, because that is what the author needs to do most; other applications of volume images are no doubt possible, but their needs come second.
Rapid Prototyping
- Pyvox should be suitable for rapid prototyping of new algorithms and analysis protocols. To do this, Pyvox is implemented as a extension to the Python language. Python is a high-level object-oriented scripting language which can be used interactively or in programmed scripts and which is designed to be easily extensible in C.
Efficient Execution
- Pyvox should also be suitable for efficient, automated processing of the finished analysis protocols. To do this, the core image processing functions are written in C, which is more efficient than Python.
Software Portability
- The script files that define the analysis protocols and the programs that they invoke should be portable across multiple Unix platforms (including Linux and Mac OS X). To meet this requirement, Pyvox is written to comply with the usual standards, including ANSI C, Posix, and the X Window System.
Data Portability
- The image files and other data files should also be portable across multiple Unix platforms. In particular, it should be possible to create an image file on a big-endian machine (e.g. Sparc), copy it to a little-endian machine (e.g. Pentium), and further process that image without needing to do any conversion of the file. This is accomplished through a set of portable C functions that can read and write data in specified external formats, converting as necessary to or from the platform-native format.
Open-Source Development
- Pyvox should also be easily extensible by programmers outside the original development team. This is accomplished by following good software engineering practice in documenting the software for later maintenance and extensions.
Installation:
If all the prerequisites (Python 2.1, X11 Window System, Tcl/Tk, Motif or Lesstif, and optionally LAPACK and BLAS) are present and installed in the right places, the command sequence
./configure
make
make regress
make install
will usually compile, regression test, and install Pyvox. If that doesnt work, see the Installation chapter of the Pyvox Reference Manual (doc/pyvox.pdf or doc/pyvox.tex) for a detailed installation procedure.
Enhancements:
- The interface for constructing convolution kernels has been completely redesigned and now supports the dynamic modification of kernels.
- Internal types now have min and max attributes which contain the minimum and maximum possible finite positive values representable in that type.
<<less
Download (1.4MB)
Added: 2006-03-08 License: Open Software License Price:
1325 downloads
FLENS 2007-07-13

FLENS 2007-07-13


FLENS is a C++ interface for BLAS and LAPACK. more>>
FLENS is:
- a C++ interface for BLAS and LAPACK
- an extremely convenient C++ interface for BLAS and LAPACK
- an extremely efficient C++ interface to BLAS and LAPACK:
- There is no run-time overhead compared to directly calling BLAS and LAPACK.
- There are no obscure side-effects like internal creation of temporary objects
FLENS is NOT:
- just a C++ interface for BLAS and LAPACK! It is more than that:
- it is extendable: e.g. easy integration of user-defined matrix/vector types.
- it is flexible: e.g. generic programming of numerical algorithms.
FLENS is DEFINITELY NOT:
- ... a replacement for Matlab. While FLENS adopted some nice notations it has a completely different intension. Ok, Matlab uses BLAS and LAPACK just like FLENS. But it uses only a subset. Matlab basically has only two data types and these are general matrices and sparse matrices. If you have matrices with band structure Matlab will not use those BLAS and LAPACK routines that exploit this structure.
- Just to make sure you get us right: We do not want to bash Matlab. It is a great tool. But you have to figure out whats the right tool for your job. Matlab is a great tool because it is very easy to use and it allows rapid prototyping. For many people the performance of Matlab is Ok. For those people there might be absolutely no reason to even consider using FLENS.
- FLENS gives you full control about whats going on behind the scene. It provides (for example) general, triangular, symmetric and hermitian matrix types. Elements of these matrices can be stored in different formats: full storage (store all m x n elements), band storage (store only diagonals of a banded matrix), packed storage (store only the upper or lower triangular part).
- FLENS implements a view concept: You can define that a vector references a row, column or diagonal of a matrix. You can define, that elements of a triangular matrix are those stored in the upper triangular part of a general matrix,...
Enhancements:
- This release adds sparse matrix types.
- There are two types for general and symmetric matrices.
- For element storage, the "compressed row storage" format is used: the elements can be initialized in random (i.e. arbitrary) order.
- The tutorial slides have been extended with a demonstration of how to use sparse matrices, more details about how linear algebra expression are evaluated by FLENS, and an example on how to extend FLENS with new matrix/vector types.
<<less
Download (0.15MB)
Added: 2007-07-13 License: BSD License Price:
834 downloads
Seldon 2005-05-15

Seldon 2005-05-15


Seldon is a C++ library for linear algebra. more>>
Seldon is a C++ library for linear algebra. Seldon provides matrix and vector structures, and some methods and functions for computations (linear algebra). Seldon is designed to be efficient and convenient, which is notably achieved thanks to template classes. Exception handling and several debug levels are helpful while coding.

Seldon provides several types of matrices: full matrices, sparse matrices, symmetric matrices, hermitian matrices and triangular matrices. Each type includes several formats. E.g. symmetric matrices may be stored as full matrices or in packed form (Blas format).

Seldon is fully interfaced with Blas (level 1, 2 and 3), except for Blas functions involving banded matrices (since this format is not available for the moment) and most rank operations. If Blas is not available to the user, a few alternative functions (same functions written in C++) may be used. Seldon includes many other features that are described in the documentation.

Seldon is supposed to be fully compliant with the C++ standard. Therefore, it can be compiled by GNU GCC (>=3.0; tested with version 3.2, 3.3 and 3.4) and by the Intel C++ compiler icc (tested with icc 7.1 and 8.0). No tests were conducted with proprietary compilers under Unix, but the compliance with the C++ standard should ensure portability. The last versions of Microsoft Visual C++ (from Visual C++ 2003) might compile Seldon according to its announced features, but it has not been tested.

As a next step, the Lapack interface is being completed. And any help is welcome!
<<less
Download (0.067MB)
Added: 2006-06-16 License: GPL (GNU General Public License) Price:
1225 downloads
FlowDesigner 0.9.0

FlowDesigner 0.9.0


FlowDesigner is a free (GPL/LGPL) data flow oriented development environment. more>>
FlowDesigner is a free (GPL/LGPL) data flow oriented development environment. It can be used to build complex applications by combining small, reusable building blocks. In some ways, it is similar to both Simulink and LabView, but is hardly a clone of either.
FlowDesigner features a RAD GUI with a visual debugger. Although FlowDesigner can be used as a rapid prototyping tool, it can still be used for building real-time applications such as audio effects processing. Since FlowDesigner is not really an interpreted language, it can be quite fast.
It is written in C++ and features a plugin mechanism that allows plugins/toolboxes to be easiliy added.
Main features:
- Signal processing
- Audio processing (DSP)
- Vector quantization
- Neural network
- Fuzzy logic
- Real-time audio effect processing (pre-alpha)
- Linear algebra using LAPACK (pre-alpha)
- Octave plug-in (pre-alpha)
- Robotics
<<less
Download (2.6MB)
Added: 2005-10-11 License: LGPL (GNU Lesser General Public License) Price:
1477 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 2
  • 1
  • 2