blas
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 15
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.
<<lessLush 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.
Download (4.2MB)
Added: 2006-08-08 License: GPL (GNU General Public License) Price:
1189 downloads
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?
<<lessLinAl 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?
Download (0.12MB)
Added: 2006-02-17 License: LGPL (GNU Lesser General Public License) Price:
1347 downloads
USF FlashMob RC4
USF FlashMob is a Live CD made by FlashMobComputing.org more>>
USF FlashMob is a Live CD made by FlashMobComputing.org
USF FlashMob RC4 contains updates that we made to the server code the night before flashmob day. This will allow power users to run larger flashmobs and configure individual nodes with different processor types. In addition we have released the source code for USF_FlashMob_RC_4 (source).
We have put the source for the FlashMob ISO image into the following directories:
- kernel: The patched and modified kernel Linux kernel (2.4.25) that we use on the CD. Kernel modules added to the CD.
- fmtools: The code that runs the FlashMob (fm_* programs).
- mpi: The source for the implementations of MPI on the CD. These are unmodified versions of LAM-MPI and LAMPI.
- blas: The source we used for the ATLAS BLAS libraries. This is unmodified.
- hpl: The modified versions of HPL we used on the CD.
Documentation to build a FlashMob CD does not exist yet. Take a look at the morphix scripts in fmtools. These will let you "unpack" and "pack" a FlashMob CD.
<<lessUSF FlashMob RC4 contains updates that we made to the server code the night before flashmob day. This will allow power users to run larger flashmobs and configure individual nodes with different processor types. In addition we have released the source code for USF_FlashMob_RC_4 (source).
We have put the source for the FlashMob ISO image into the following directories:
- kernel: The patched and modified kernel Linux kernel (2.4.25) that we use on the CD. Kernel modules added to the CD.
- fmtools: The code that runs the FlashMob (fm_* programs).
- mpi: The source for the implementations of MPI on the CD. These are unmodified versions of LAM-MPI and LAMPI.
- blas: The source we used for the ATLAS BLAS libraries. This is unmodified.
- hpl: The modified versions of HPL we used on the CD.
Documentation to build a FlashMob CD does not exist yet. Take a look at the morphix scripts in fmtools. These will let you "unpack" and "pack" a FlashMob CD.
Download (229.3MB)
Added: 2006-12-04 License: GPL (GNU General Public License) Price:
1058 downloads
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.
<<lessLAPACK 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.
Download (10.6MB)
Added: 2007-03-09 License: BSD License Price:
968 downloads
Other version of LAPACK
License:BSD License
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).
<<lessATLAS 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).
Download (1.6MB)
Added: 2007-08-12 License: BSD License Price:
839 downloads
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- 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.
Download (0.15MB)
Added: 2007-07-13 License: BSD License Price:
834 downloads
Template Numerical Toolkit 1.26
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects. more>>
Template Numerical Toolkit (TNT) is a collection of interfaces and reference implementations of numerical objects useful for scientific computing in C++.
The toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
<<lessThe toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. Template Numerical Toolkits goal is to provide reusable software components that address many of the portability and maintennace problems with C++ codes.
TNT provides a distinction between interfaces and implementations of TNT components. For example, there is a TNT interface for two-dimensional arrays which describes how individual elements are accessed and how certain information, such as the array dimensions, can be used in algorithms; however, there can be several implementations of such an interface: one that uses expression templates, or one that uses BLAS kernels, or another that is instrumented to provide debugging information.
By specifying only the interface, applications codes may utilize such algorithms, while giving library developers the greatest flexibility in employing optimization or portability strategies.
TNT Data Structures
- C-style arrays
- Fortran-style arrays
- Sparse Matrices
- Vector/Matrix
TNT utilities
- array I/O
- math routines (hypot(), sign(), etc.)
- Stopwatch class for timing measurements
Libraries that utilize TNT
- JAMA: a linear algebra library with QR, SVD, Cholesky and Eigenvector solvers.
- old (pre 1.0) TNT routines for LU, QR, and Eigenvalue problems
Download (0.028MB)
Added: 2006-03-30 License: Public Domain Price:
1308 downloads
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.
<<lessFFEP 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.
Download (0.33MB)
Added: 2006-04-27 License: BSD License Price:
1282 downloads
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.
<<lessdnAnalytics 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.
Download (MB)
Added: 2006-04-27 License: BSD License Price:
1276 downloads
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!
<<lessSeldon 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!
Download (0.067MB)
Added: 2006-06-16 License: GPL (GNU General Public License) Price:
1225 downloads
C++ expression template matrix library 0.6.1
C++ expression template matrix library is a C++ expression template matrix library. more>>
exmats goal is to provide an easy to use, yet very efficient matrix library. Overloaded operators allow to write algebraic expressions like v=A*u +u in C++, instead of bunch of boring functions.
This syntactic sugar comes with runtime cost, one way to eliminate the overhead is to use Expression Templates (ET).
Using ET, we can further boost up the efficient by analyzing the expression at compile time and generate the most efficient code for that expression.
This library is still under early development.
Main features:
Generic:
- The element type of the matrix is generic, it can be any type of the C++ build-in type like int, float, double.
- Other types like complex or arbitrary precision type can also be used as the element type.
- Matrix expression can be make up of any element type, that is, an integer matrix can be added to a float matrix and then assign to a double matrix.
Easy to use:
- You can write matrix expression using +, -, *, / operators as usual mathematic notation.
Safe:
- There are 3 levels of error checking policy you can apply on each class of matrix.
Efficient:
- Specialized, hand made comparable optimized code can be generated for different expressions.
- SIMD code can be used on small size matrix.
- Provide a interface to use BLAS as the math kernel, which is highly optimized for out of cache operations.
Enhancements:
- Cross product bug fixed
- Added determinant, minor view, cofactor view and adjoint view for matrix
- Added support for column major memory layout
- Helper macro for deriving ET enabled sub-class from exmat::Mat easily
- Array version for approximated math
<<lessThis syntactic sugar comes with runtime cost, one way to eliminate the overhead is to use Expression Templates (ET).
Using ET, we can further boost up the efficient by analyzing the expression at compile time and generate the most efficient code for that expression.
This library is still under early development.
Main features:
Generic:
- The element type of the matrix is generic, it can be any type of the C++ build-in type like int, float, double.
- Other types like complex or arbitrary precision type can also be used as the element type.
- Matrix expression can be make up of any element type, that is, an integer matrix can be added to a float matrix and then assign to a double matrix.
Easy to use:
- You can write matrix expression using +, -, *, / operators as usual mathematic notation.
Safe:
- There are 3 levels of error checking policy you can apply on each class of matrix.
Efficient:
- Specialized, hand made comparable optimized code can be generated for different expressions.
- SIMD code can be used on small size matrix.
- Provide a interface to use BLAS as the math kernel, which is highly optimized for out of cache operations.
Enhancements:
- Cross product bug fixed
- Added determinant, minor view, cofactor view and adjoint view for matrix
- Added support for column major memory layout
- Helper macro for deriving ET enabled sub-class from exmat::Mat easily
- Array version for approximated math
Download (0.30MB)
Added: 2006-05-06 License: LGPL (GNU Lesser General Public License) Price:
1266 downloads
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.
<<lessThe 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.
Download (0.45MB)
Added: 2006-05-21 License: BSD License Price:
1256 downloads
High Performance Linpack 1.0a
High Performance Linpack is a highly parallel, high performance benchmarking tool. more>>
HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.
The algorithm used by HPL can be summarized by the following keywords: Two-dimensional block-cyclic data distribution - Right-looking variant of the LU factorization with row partial pivoting featuring multiple look-ahead depths - Recursive panel factorization with pivot search and column broadcast combined - Various virtual panel broadcast topologies - bandwidth reducing swap-broadcast algorithm - backward substitution with look-ahead of depth 1.
The HPL package provides a testing and timing program to quantify the accuracy of the obtained solution as well as the time it took to compute it. The best performance achievable by this software on your system depends on a large variety of factors.
Nonetheless, with some restrictive assumptions on the interconnection network, the algorithm described here and its attached implementation are scalable in the sense that their parallel efficiency is maintained constant with respect to the per processor memory usage.
The HPL software package requires the availibility on your system of an implementation of the Message Passing Interface MPI (1.1 compliant). An implementation of either the Basic Linear Algebra Subprograms BLAS or the Vector Signal Image Processing Library VSIPL is also needed. Machine-specific as well as generic implementations of MPI, the BLAS and VSIPL are available for a large variety of systems.
<<lessThe algorithm used by HPL can be summarized by the following keywords: Two-dimensional block-cyclic data distribution - Right-looking variant of the LU factorization with row partial pivoting featuring multiple look-ahead depths - Recursive panel factorization with pivot search and column broadcast combined - Various virtual panel broadcast topologies - bandwidth reducing swap-broadcast algorithm - backward substitution with look-ahead of depth 1.
The HPL package provides a testing and timing program to quantify the accuracy of the obtained solution as well as the time it took to compute it. The best performance achievable by this software on your system depends on a large variety of factors.
Nonetheless, with some restrictive assumptions on the interconnection network, the algorithm described here and its attached implementation are scalable in the sense that their parallel efficiency is maintained constant with respect to the per processor memory usage.
The HPL software package requires the availibility on your system of an implementation of the Message Passing Interface MPI (1.1 compliant). An implementation of either the Basic Linear Algebra Subprograms BLAS or the Vector Signal Image Processing Library VSIPL is also needed. Machine-specific as well as generic implementations of MPI, the BLAS and VSIPL are available for a large variety of systems.
Download (0.50MB)
Added: 2005-04-11 License: BSD License Price:
1682 downloads
IT++ 3.10.12 / 3.99.3.1
IT++ is a C++ library of mathematical, signal processing, speech processing, and communications classes and functions. more>>
IT++ is a C++ library of mathematical, signal processing, speech processing, and communications classes and functions. IT++ library is being developed by researchers in these areas and is widely used by researchers, both in the communications industry and universities. Since 2004, IT++ is also being developed as a part of the European Network of Excellence (NEWCOM).
The kernel of the IT++ library are templated vector and matrix classes, and lots of functions for vectors and matrices. Such a kernel makes IT++ library similar to Matlab.
IT++ makes an extensive use of existing open-source libraries (but not only) for increased functionality, speed and accuracy. In particular BLAS, CBLAS, LAPACK and FFTW libraries might be used. Instead of NetLibs reference BLAS and LAPACK, some optimized platform-specific libraries can be used as well, i.e.:
- ATLAS (Automatically Tuned Linear Algebra Software) - includes optimised BLAS, CBLAS and a limited set of LAPACK routines
- MKL (Intel Math Kernel Library) - includes all required BLAS, CBLAS, LAPACK and FFT routines (FFTW not required)
- ACML (AMD Core Math Library) - includes BLAS, LAPACK and FFT routines (FFTW not required)
It is possible to compile and use IT++ without any of the above listed libraries, but the functionality will be reduced.
The IT++ library originates from the former department of Information Theory at the Chalmers University of Technology, Gothenburg, Sweden. Because the library is coded in C++, the name IT++ seemed like a good idea at the time. While departments come and go, IT++ have developed a life of its own and is now released under the terms of the GNU General Public License (GPL) for you to enjoy.
IT++ should work on GNU/Linux, Sun Solaris, Microsoft Windows (with Cygwin or Microsoft Visual C++ .NET) and Mac OS X (more testers needed).
<<lessThe kernel of the IT++ library are templated vector and matrix classes, and lots of functions for vectors and matrices. Such a kernel makes IT++ library similar to Matlab.
IT++ makes an extensive use of existing open-source libraries (but not only) for increased functionality, speed and accuracy. In particular BLAS, CBLAS, LAPACK and FFTW libraries might be used. Instead of NetLibs reference BLAS and LAPACK, some optimized platform-specific libraries can be used as well, i.e.:
- ATLAS (Automatically Tuned Linear Algebra Software) - includes optimised BLAS, CBLAS and a limited set of LAPACK routines
- MKL (Intel Math Kernel Library) - includes all required BLAS, CBLAS, LAPACK and FFT routines (FFTW not required)
- ACML (AMD Core Math Library) - includes BLAS, LAPACK and FFT routines (FFTW not required)
It is possible to compile and use IT++ without any of the above listed libraries, but the functionality will be reduced.
The IT++ library originates from the former department of Information Theory at the Chalmers University of Technology, Gothenburg, Sweden. Because the library is coded in C++, the name IT++ seemed like a good idea at the time. While departments come and go, IT++ have developed a life of its own and is now released under the terms of the GNU General Public License (GPL) for you to enjoy.
IT++ should work on GNU/Linux, Sun Solaris, Microsoft Windows (with Cygwin or Microsoft Visual C++ .NET) and Mac OS X (more testers needed).
Download (MB)
Added: 2007-08-12 License: GPL (GNU General Public License) Price:
807 downloads
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.
<<lessThese 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.
Download (1.4MB)
Added: 2006-03-08 License: Open Software License Price:
1325 downloads
Secleted [ 0 ] software to compare
- Page: 1 of 1
- 1
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above blas search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed