README 3.55 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
-*- text -*-

Software License for MTL

Copyright (c) 2007-2008 The Trustees of Indiana University. All rights reserved.
Authors: Peter Gottschling and Andrew Lumsdaine

This file is part of the Matrix Template Library

See also license.mtl.txt in the distribution.
---------------------------------------------------------------

              The Matrix Template Library
14
                      Version 4
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

I. Introduction
===============

The Matrix Template Library is a C++ class library for basic linear
algebra. The MTL is designed for high-performance while at the same
time taking advantage of the generic programming paradigm (ala the
STL) to allow much greater flexibility and breadth of
functionality. Many new and advanced programming techniques were used
in the construction of this library.

The MTL is a low level library in the sense that the user must be
conscious of the matrix type being used, and that all computationally
expensive operations are explicit. The MTL is not a C++ Matlab or
Mathematica. Nevertheless, the interface is designed to be simple and easy
to use.

The matrix types provided include compressed sparse row/column,
traditional row- and column-major dense, Morton-order, and block-recursive
matrices. All matrix types share a common and easy to use interface.

The algorithms consist of the traditional basic linear algebra
routines (from the BLAS level-1 to 3) which includes matrix and vector
arithmetic.


II. Compilers
=============

The Matrix Template Library is written in compliance with the C++ standard
and should be compilable with every compiler compliant with the standard.
It has been tested (and passed) with the following compilers and architectures:

Linux & MacOS
-------------
    clang++ 3.0 (32 bit)
    g++ 4.1.3 (32 and 64 bit)
    g++ 4.2.4 (64bit)
    g++ 4.3.4 (32 and 64 bit)
    g++ 4.4.3 (32 and 64 bit)
    g++ 4.5.1 (64 bit)
    g++ 4.6.0 (64 bit)
    g++ 4.6.1 (64 bit)
    icc 9.1 (32 and 64 bit)
    icc 10.0 (32 and 64 bit)
    icc 10.1 (32 and 64 bit)
    icc 11.0 (32 and 64 bit)
    icc 11.1 (32 and 64 bit)

Windows
-------
    VC 8.0 from Visual Studio 2005 (32 bit)
    VC 9.0 from Visual Studio 2008 (32 bit)
    VC 10.0 from Visual Studio 2010 (32 bit)

Compilers that are not standard-compliant (e.g. VC 6.0 from VS 2003) are not subject to support.


III. Documentation
==================

The documentation can be generated with doxygen in the main directory and
is found in the /libs/numeric/mtl/doc. You
can also view the documentation at our web site:
http://www.simunova.com/node/184
At the moment, the documentation illustrates the basic operations and
partially provides a reference manual of some classes and functions.
A detailed description of more features, especially tuning opportunities,
is in the works.

There are also a large number of examples in the /libs/numeric/mtl/examples
directory.


IV. Installation Procedure
==========================

See the file INSTALL in this directory.



V. Contact Information
=======================

The Matrix Template Library is available at the main distribution site:

    http://www.mtl4.org

This distribution includes:

    - Source code for the MTL (all header files /boost/numeric/mtl)
    - Some completing sources (header files /boost/numeric/meta_math)
    - A test suite (/libs/numeric/mtl/test)
    - Some example code (/libs/numeric/mtl/examples)

Bug reports should be sent to mtl4@osl.iu.edu.

Questions, comments, suggestions, and requests for additional
information should also be directed to mtl4@osl.iu.edu.

Subscribe at:

     http://www.osl.iu.edu/mailman/listinfo.cgi/mtl4