mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-14 12:46:00 +08:00
move the documentation to doc/, add dummy documentation to srcdir/ compiling to
an explanation of how to generate the docs
This commit is contained in:
parent
a52c74095f
commit
64f5d5d318
2
Doxyfile
2
Doxyfile
@ -85,7 +85,7 @@ WARN_LOGFILE =
|
|||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
# configuration options related to the input files
|
# configuration options related to the input files
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
INPUT = src/ ./
|
INPUT = ./
|
||||||
INPUT_ENCODING = UTF-8
|
INPUT_ENCODING = UTF-8
|
||||||
FILE_PATTERNS = *.c \
|
FILE_PATTERNS = *.c \
|
||||||
*.cc \
|
*.cc \
|
||||||
|
281
Doxyfile.in
Normal file
281
Doxyfile.in
Normal file
@ -0,0 +1,281 @@
|
|||||||
|
# Doxyfile 1.5.3
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Project related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
DOXYFILE_ENCODING = UTF-8
|
||||||
|
PROJECT_NAME = Eigen
|
||||||
|
PROJECT_NUMBER = 2.0-alpha1
|
||||||
|
OUTPUT_DIRECTORY = ./
|
||||||
|
CREATE_SUBDIRS = NO
|
||||||
|
OUTPUT_LANGUAGE = English
|
||||||
|
BRIEF_MEMBER_DESC = YES
|
||||||
|
REPEAT_BRIEF = YES
|
||||||
|
ABBREVIATE_BRIEF = "The $name class" \
|
||||||
|
"The $name widget" \
|
||||||
|
"The $name file" \
|
||||||
|
is \
|
||||||
|
provides \
|
||||||
|
specifies \
|
||||||
|
contains \
|
||||||
|
represents \
|
||||||
|
a \
|
||||||
|
an \
|
||||||
|
the
|
||||||
|
ALWAYS_DETAILED_SEC = NO
|
||||||
|
INLINE_INHERITED_MEMB = NO
|
||||||
|
FULL_PATH_NAMES = NO
|
||||||
|
STRIP_FROM_PATH =
|
||||||
|
STRIP_FROM_INC_PATH =
|
||||||
|
SHORT_NAMES = NO
|
||||||
|
JAVADOC_AUTOBRIEF = NO
|
||||||
|
QT_AUTOBRIEF = NO
|
||||||
|
MULTILINE_CPP_IS_BRIEF = NO
|
||||||
|
DETAILS_AT_TOP = NO
|
||||||
|
INHERIT_DOCS = YES
|
||||||
|
SEPARATE_MEMBER_PAGES = NO
|
||||||
|
TAB_SIZE = 8
|
||||||
|
ALIASES =
|
||||||
|
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||||
|
OPTIMIZE_OUTPUT_JAVA = NO
|
||||||
|
BUILTIN_STL_SUPPORT = NO
|
||||||
|
CPP_CLI_SUPPORT = NO
|
||||||
|
DISTRIBUTE_GROUP_DOC = NO
|
||||||
|
SUBGROUPING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Build related configuration options
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
EXTRACT_ALL = NO
|
||||||
|
EXTRACT_PRIVATE = NO
|
||||||
|
EXTRACT_STATIC = NO
|
||||||
|
EXTRACT_LOCAL_CLASSES = NO
|
||||||
|
EXTRACT_LOCAL_METHODS = NO
|
||||||
|
EXTRACT_ANON_NSPACES = NO
|
||||||
|
HIDE_UNDOC_MEMBERS = YES
|
||||||
|
HIDE_UNDOC_CLASSES = YES
|
||||||
|
HIDE_FRIEND_COMPOUNDS = YES
|
||||||
|
HIDE_IN_BODY_DOCS = NO
|
||||||
|
INTERNAL_DOCS = NO
|
||||||
|
CASE_SENSE_NAMES = YES
|
||||||
|
HIDE_SCOPE_NAMES = YES
|
||||||
|
SHOW_INCLUDE_FILES = YES
|
||||||
|
INLINE_INFO = YES
|
||||||
|
SORT_MEMBER_DOCS = YES
|
||||||
|
SORT_BRIEF_DOCS = NO
|
||||||
|
SORT_BY_SCOPE_NAME = NO
|
||||||
|
GENERATE_TODOLIST = YES
|
||||||
|
GENERATE_TESTLIST = YES
|
||||||
|
GENERATE_BUGLIST = YES
|
||||||
|
GENERATE_DEPRECATEDLIST= YES
|
||||||
|
ENABLED_SECTIONS =
|
||||||
|
MAX_INITIALIZER_LINES = 30
|
||||||
|
SHOW_USED_FILES = YES
|
||||||
|
SHOW_DIRECTORIES = NO
|
||||||
|
FILE_VERSION_FILTER =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to warning and progress messages
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
QUIET = NO
|
||||||
|
WARNINGS = YES
|
||||||
|
WARN_IF_UNDOCUMENTED = YES
|
||||||
|
WARN_IF_DOC_ERROR = YES
|
||||||
|
WARN_NO_PARAMDOC = NO
|
||||||
|
WARN_FORMAT = "$file:$line: $text"
|
||||||
|
WARN_LOGFILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the input files
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
INPUT = src/ ./
|
||||||
|
INPUT_ENCODING = UTF-8
|
||||||
|
FILE_PATTERNS = *.c \
|
||||||
|
*.cc \
|
||||||
|
*.cxx \
|
||||||
|
*.cpp \
|
||||||
|
*.c++ \
|
||||||
|
*.d \
|
||||||
|
*.java \
|
||||||
|
*.ii \
|
||||||
|
*.ixx \
|
||||||
|
*.ipp \
|
||||||
|
*.i++ \
|
||||||
|
*.inl \
|
||||||
|
*.h \
|
||||||
|
*.hh \
|
||||||
|
*.hxx \
|
||||||
|
*.hpp \
|
||||||
|
*.h++ \
|
||||||
|
*.idl \
|
||||||
|
*.odl \
|
||||||
|
*.cs \
|
||||||
|
*.php \
|
||||||
|
*.php3 \
|
||||||
|
*.inc \
|
||||||
|
*.m \
|
||||||
|
*.mm \
|
||||||
|
*.dox \
|
||||||
|
*.py \
|
||||||
|
*.C \
|
||||||
|
*.CC \
|
||||||
|
*.C++ \
|
||||||
|
*.II \
|
||||||
|
*.I++ \
|
||||||
|
*.H \
|
||||||
|
*.HH \
|
||||||
|
*.H++ \
|
||||||
|
*.CS \
|
||||||
|
*.PHP \
|
||||||
|
*.PHP3 \
|
||||||
|
*.M \
|
||||||
|
*.MM \
|
||||||
|
*.PY
|
||||||
|
RECURSIVE = NO
|
||||||
|
EXCLUDE =
|
||||||
|
EXCLUDE_SYMLINKS = NO
|
||||||
|
EXCLUDE_PATTERNS =
|
||||||
|
EXCLUDE_SYMBOLS =
|
||||||
|
EXAMPLE_PATH = doc/examples/
|
||||||
|
EXAMPLE_PATTERNS = *
|
||||||
|
EXAMPLE_RECURSIVE = NO
|
||||||
|
IMAGE_PATH =
|
||||||
|
INPUT_FILTER =
|
||||||
|
FILTER_PATTERNS =
|
||||||
|
FILTER_SOURCE_FILES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to source browsing
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SOURCE_BROWSER = NO
|
||||||
|
INLINE_SOURCES = NO
|
||||||
|
STRIP_CODE_COMMENTS = YES
|
||||||
|
REFERENCED_BY_RELATION = YES
|
||||||
|
REFERENCES_RELATION = YES
|
||||||
|
REFERENCES_LINK_SOURCE = YES
|
||||||
|
USE_HTAGS = NO
|
||||||
|
VERBATIM_HEADERS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the alphabetical class index
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ALPHABETICAL_INDEX = NO
|
||||||
|
COLS_IN_ALPHA_INDEX = 5
|
||||||
|
IGNORE_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the HTML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_HTML = YES
|
||||||
|
HTML_OUTPUT = html
|
||||||
|
HTML_FILE_EXTENSION = .html
|
||||||
|
HTML_HEADER =
|
||||||
|
HTML_FOOTER =
|
||||||
|
HTML_STYLESHEET =
|
||||||
|
HTML_ALIGN_MEMBERS = YES
|
||||||
|
GENERATE_HTMLHELP = NO
|
||||||
|
HTML_DYNAMIC_SECTIONS = NO
|
||||||
|
CHM_FILE =
|
||||||
|
HHC_LOCATION =
|
||||||
|
GENERATE_CHI = NO
|
||||||
|
BINARY_TOC = NO
|
||||||
|
TOC_EXPAND = NO
|
||||||
|
DISABLE_INDEX = NO
|
||||||
|
ENUM_VALUES_PER_LINE = 4
|
||||||
|
GENERATE_TREEVIEW = NO
|
||||||
|
TREEVIEW_WIDTH = 250
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the LaTeX output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_LATEX = YES
|
||||||
|
LATEX_OUTPUT = latex
|
||||||
|
LATEX_CMD_NAME = latex
|
||||||
|
MAKEINDEX_CMD_NAME = makeindex
|
||||||
|
COMPACT_LATEX = NO
|
||||||
|
PAPER_TYPE = a4wide
|
||||||
|
EXTRA_PACKAGES =
|
||||||
|
LATEX_HEADER =
|
||||||
|
PDF_HYPERLINKS = NO
|
||||||
|
USE_PDFLATEX = NO
|
||||||
|
LATEX_BATCHMODE = NO
|
||||||
|
LATEX_HIDE_INDICES = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the RTF output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_RTF = NO
|
||||||
|
RTF_OUTPUT = rtf
|
||||||
|
COMPACT_RTF = NO
|
||||||
|
RTF_HYPERLINKS = NO
|
||||||
|
RTF_STYLESHEET_FILE =
|
||||||
|
RTF_EXTENSIONS_FILE =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the man page output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_MAN = NO
|
||||||
|
MAN_OUTPUT = man
|
||||||
|
MAN_EXTENSION = .3
|
||||||
|
MAN_LINKS = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the XML output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_XML = NO
|
||||||
|
XML_OUTPUT = xml
|
||||||
|
XML_SCHEMA =
|
||||||
|
XML_DTD =
|
||||||
|
XML_PROGRAMLISTING = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options for the AutoGen Definitions output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_AUTOGEN_DEF = NO
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# configuration options related to the Perl module output
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
GENERATE_PERLMOD = NO
|
||||||
|
PERLMOD_LATEX = NO
|
||||||
|
PERLMOD_PRETTY = YES
|
||||||
|
PERLMOD_MAKEVAR_PREFIX =
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the preprocessor
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
ENABLE_PREPROCESSING = YES
|
||||||
|
MACRO_EXPANSION = NO
|
||||||
|
EXPAND_ONLY_PREDEF = NO
|
||||||
|
SEARCH_INCLUDES = YES
|
||||||
|
INCLUDE_PATH =
|
||||||
|
INCLUDE_FILE_PATTERNS =
|
||||||
|
PREDEFINED =
|
||||||
|
EXPAND_AS_DEFINED =
|
||||||
|
SKIP_FUNCTION_MACROS = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::additions related to external references
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
TAGFILES =
|
||||||
|
GENERATE_TAGFILE =
|
||||||
|
ALLEXTERNALS = NO
|
||||||
|
EXTERNAL_GROUPS = YES
|
||||||
|
PERL_PATH = /usr/bin/perl
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration options related to the dot tool
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
CLASS_DIAGRAMS = YES
|
||||||
|
MSCGEN_PATH =
|
||||||
|
HIDE_UNDOC_RELATIONS = YES
|
||||||
|
HAVE_DOT = YES
|
||||||
|
CLASS_GRAPH = YES
|
||||||
|
COLLABORATION_GRAPH = YES
|
||||||
|
GROUP_GRAPHS = YES
|
||||||
|
UML_LOOK = NO
|
||||||
|
TEMPLATE_RELATIONS = NO
|
||||||
|
INCLUDE_GRAPH = YES
|
||||||
|
INCLUDED_BY_GRAPH = YES
|
||||||
|
CALL_GRAPH = NO
|
||||||
|
CALLER_GRAPH = NO
|
||||||
|
GRAPHICAL_HIERARCHY = YES
|
||||||
|
DIRECTORY_GRAPH = YES
|
||||||
|
DOT_IMAGE_FORMAT = png
|
||||||
|
DOT_PATH =
|
||||||
|
DOTFILE_DIRS =
|
||||||
|
DOT_GRAPH_MAX_NODES = 50
|
||||||
|
MAX_DOT_GRAPH_DEPTH = 1000
|
||||||
|
DOT_TRANSPARENT = NO
|
||||||
|
DOT_MULTI_TARGETS = NO
|
||||||
|
GENERATE_LEGEND = YES
|
||||||
|
DOT_CLEANUP = YES
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Configuration::additions related to the search engine
|
||||||
|
#---------------------------------------------------------------------------
|
||||||
|
SEARCHENGINE = NO
|
123
Mainpage.dox
123
Mainpage.dox
@ -1,123 +1,16 @@
|
|||||||
o /** @mainpage Eigen
|
o /** @mainpage Eigen
|
||||||
|
|
||||||
<h2>Table of contents</h2>
|
<h3>If you see this page, then you have not properly generated the documentation.</h3>
|
||||||
<a href="#overview">Overview</a><br/>
|
|
||||||
<a href="#license">License</a><br/>
|
|
||||||
<a href="#features">Features</a><br/>
|
|
||||||
<a href="#news">News</a><br/>
|
|
||||||
<a href="#download">Download</a><br/>
|
|
||||||
<a href="#kde">Relation to KDE</a><br/>
|
|
||||||
<a href="#examples">Examples</a><br/>
|
|
||||||
<a href="#applications">Applications using Eigen</a><br/>
|
|
||||||
<a href="#authors">Authors</a><br/>
|
|
||||||
<a href="#contact">Contact us</a><br/>
|
|
||||||
<a href="#mailinglist">Mailing list</a><br/>
|
|
||||||
|
|
||||||
<a name="overview"></a>
|
|
||||||
<h2>Overview</h2>
|
|
||||||
|
|
||||||
Eigen is a C++ template library for vector and matrix math, a.k.a. linear algebra. It aims to concile speed, ease of use, and completeness.
|
|
||||||
|
|
||||||
<a name="license"></a>
|
|
||||||
<h2>License</h2>
|
|
||||||
|
|
||||||
Eigen is distributed under the GPL, version 2 or later, but with an <a href="#exception">exception allowing any software to use it</a>. Thus, to the question
|
|
||||||
"Can my own project use Eigen?", the answer is a definite <b>yes</b>.
|
|
||||||
|
|
||||||
Eigen's <a href="#exception">exception</a> is modeled after the one of the GNU C++ Standard Library, but is simpler and more liberal.
|
|
||||||
|
|
||||||
This is similar to the LGPL in spirit. The reason why we don't use the LGPL is that, as of version 2, it doesn't make sense for a pure template library like Eigen, where all the code is in headers.
|
|
||||||
|
|
||||||
<a name="features"></a>
|
|
||||||
<h2>Features</h2>
|
|
||||||
|
|
||||||
WARNING: this alpha release is NOT feature complete -- far from it! It contains only the Core module, while several other modules are planned.
|
|
||||||
|
|
||||||
|
In order to generate the documentation for Eigen, follow these steps:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Add items</li>
|
<li>make sure you have the required software installed: cmake, doxygen, and a C++ compiler.
|
||||||
<li>Add more items</li>
|
<li>create a new directory, which we will call the "build directory", outside of the Eigen source directory.</li>
|
||||||
|
<li>enter the build directory</li>
|
||||||
|
<li>configure the project: <pre>cmake -DBUILD_DOC=ON /path/to/source/directory</pre></li>
|
||||||
|
<li>now generate the documentaion: <pre>make</pre> or, if you have two CPUs, <pre>make -j2</pre> Note that this will compile the examples, run them, and integrate their output into the documentation. This is why it can take some time.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a name="news"></a>
|
You will now find in the build directory a 'html' subdirectory containing the HTML documentation for Eigen.
|
||||||
<h2>News</h2>
|
|
||||||
|
|
||||||
If you want to stay informed of Eigen news and releases, please subscribe to our <a href="#mailinglist">mailing list</a>. You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
|
||||||
|
|
||||||
<a name="download"></a>
|
|
||||||
<h2>Download</h2>
|
|
||||||
The source code of the latest release is here: <a href="http://download.tuxfamily.org/eigen/eigen-2.0-alpha1.tar.gz">eigen-2.0-alpha1.tar.gz</a><br/>
|
|
||||||
|
|
||||||
Alternatively, you can checkout the development tree by anonymous svn, by doing:
|
|
||||||
<pre>svn co svn://anonsvn.kde.org/home/kde/branches/work/eigen2</pre>
|
|
||||||
or view it online at this address:
|
|
||||||
<a href="http://websvn.kde.org/branches/work/eigen2">http://websvn.kde.org/branches/work/eigen2</a>
|
|
||||||
|
|
||||||
<a name="kde"></a>
|
|
||||||
<h2>Relation to KDE</h2>
|
|
||||||
|
|
||||||
First of all: Eigen doesn't have any dependency. In particular, it doesn't depend on any part of KDE or on Qt.<br/>
|
|
||||||
|
|
||||||
Eigen is part of the KDE project, in the sense that:
|
|
||||||
<ul>
|
|
||||||
<li>Its <a href="http://websvn.kde.org/trunk/kdesupport/eigen/">development tree</a> is hosted in the <a href="http://websvn.kde.org">KDE repository</a>.</li>
|
|
||||||
<li>It has been founded by, and is developed by KDE people.</li>
|
|
||||||
<li>It has originally been designed for the needs of KDE applications, especially <a href="http://edu.kde.org/kalzium">Kalzium</a>.</li>
|
|
||||||
</ul>
|
|
||||||
However, we quickly realized that Eigen could be useful for non-KDE projects, whence our decision to make sure that it has no dependency on KDE or Qt.
|
|
||||||
|
|
||||||
Although Eigen itself doesn't have any dependency, the unit-tests require Qt.
|
|
||||||
|
|
||||||
<a name="examples"></a>
|
|
||||||
<h2>Examples</h2>
|
|
||||||
|
|
||||||
TODO: write more examples, update this section.
|
|
||||||
|
|
||||||
<a name="applications"></a>
|
|
||||||
<h2>Applications using Eigen</h2>
|
|
||||||
|
|
||||||
TODO: update this section
|
|
||||||
|
|
||||||
Please tell us if you know of other interesting projects using Eigen!
|
|
||||||
|
|
||||||
<a name="authors"></a>
|
|
||||||
<h2>Authors</h2>
|
|
||||||
|
|
||||||
<b>Lead Developer:</b> Benoit Jacob (jacob at math jussieu fr)
|
|
||||||
|
|
||||||
<b>Contributors during the Eigen 2 development process:</b>
|
|
||||||
<ul>
|
|
||||||
<li>Michael Olbrich (michael olbrich at gmx net) : initial loop-unrolling metaprogram</li>
|
|
||||||
<li>Christian Mayer (mail at christianmayer de) : reviewed the source code, made many useful suggestions</li>
|
|
||||||
<li>and thanks to everyone on the <a href="#mailinglist">mailing list</a> for your input!
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<a name="contact"></a>
|
|
||||||
<h2>Contact us</h2>
|
|
||||||
|
|
||||||
The best way to contact us is by means of our <a href="#mailinglist">mailing list</a>.<br/>
|
|
||||||
IRC Channel: \#eigen on Freenode.<br/>
|
|
||||||
Website (you're here): <a href="http://eigen.tuxfamily.org">http://eigen.tuxfamily.org</a><br/>
|
|
||||||
|
|
||||||
<a name="mailinglist"></a>
|
|
||||||
<h2>Mailing list</h2>
|
|
||||||
|
|
||||||
The Mailing list for Eigen is: eigen at lists tuxfamily org.<br/>
|
|
||||||
|
|
||||||
To subscribe, send a mail with subject "subscribe" to eigen-request at lists tuxfamily org.<br/>
|
|
||||||
To unsubscribe, send a mail with subject "unsubscribe" to eigen-request at lists tuxfamily org.<br/>
|
|
||||||
|
|
||||||
You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
|
||||||
|
|
||||||
<a name="exception"></a>
|
|
||||||
<h2>Exception to the GPL</h2>
|
|
||||||
Eigen is licensed under the GNU GPL, version 2 or later, plus the following exception, which is replicated into each of the source files of Eigen:
|
|
||||||
<pre>
|
|
||||||
// As a special exception, if other files instantiate templates or use macros
|
|
||||||
// or inline functions from this file, or you compile this file and link it
|
|
||||||
// with other works to produce a work based on this file, this file does not
|
|
||||||
// by itself cause the resulting work to be covered by the GNU General Public
|
|
||||||
// License. This exception does not invalidate any other reasons why a work
|
|
||||||
// based on this file might be covered by the GNU General Public License.
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
add_executable(tutorial tutorial.cpp)
|
FILE(GLOB examples "*.cpp")
|
||||||
add_executable(example example.cpp)
|
|
||||||
|
FOREACH(example examples)
|
||||||
|
|
||||||
|
123
doc/Mainpage.dox
Normal file
123
doc/Mainpage.dox
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
o /** @mainpage Eigen
|
||||||
|
|
||||||
|
<h2>Table of contents</h2>
|
||||||
|
<a href="#overview">Overview</a><br/>
|
||||||
|
<a href="#license">License</a><br/>
|
||||||
|
<a href="#features">Features</a><br/>
|
||||||
|
<a href="#news">News</a><br/>
|
||||||
|
<a href="#download">Download</a><br/>
|
||||||
|
<a href="#kde">Relation to KDE</a><br/>
|
||||||
|
<a href="#examples">Examples</a><br/>
|
||||||
|
<a href="#applications">Applications using Eigen</a><br/>
|
||||||
|
<a href="#authors">Authors</a><br/>
|
||||||
|
<a href="#contact">Contact us</a><br/>
|
||||||
|
<a href="#mailinglist">Mailing list</a><br/>
|
||||||
|
|
||||||
|
<a name="overview"></a>
|
||||||
|
<h2>Overview</h2>
|
||||||
|
|
||||||
|
Eigen is a C++ template library for vector and matrix math, a.k.a. linear algebra. It aims to concile speed, ease of use, and completeness.
|
||||||
|
|
||||||
|
<a name="license"></a>
|
||||||
|
<h2>License</h2>
|
||||||
|
|
||||||
|
Eigen is distributed under the GPL, version 2 or later, but with an <a href="#exception">exception allowing any software to use it</a>. Thus, to the question
|
||||||
|
"Can my own project use Eigen?", the answer is a definite <b>yes</b>.
|
||||||
|
|
||||||
|
Eigen's <a href="#exception">exception</a> is modeled after the one of the GNU C++ Standard Library, but is simpler and more liberal.
|
||||||
|
|
||||||
|
This is similar to the LGPL in spirit. The reason why we don't use the LGPL is that, as of version 2, it doesn't make sense for a pure template library like Eigen, where all the code is in headers.
|
||||||
|
|
||||||
|
<a name="features"></a>
|
||||||
|
<h2>Features</h2>
|
||||||
|
|
||||||
|
WARNING: this alpha release is NOT feature complete -- far from it! It contains only the Core module, while several other modules are planned.
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Add items</li>
|
||||||
|
<li>Add more items</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="news"></a>
|
||||||
|
<h2>News</h2>
|
||||||
|
|
||||||
|
If you want to stay informed of Eigen news and releases, please subscribe to our <a href="#mailinglist">mailing list</a>. You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
||||||
|
|
||||||
|
<a name="download"></a>
|
||||||
|
<h2>Download</h2>
|
||||||
|
The source code of the latest release is here: <a href="http://download.tuxfamily.org/eigen/eigen-2.0-alpha1.tar.gz">eigen-2.0-alpha1.tar.gz</a><br/>
|
||||||
|
|
||||||
|
Alternatively, you can checkout the development tree by anonymous svn, by doing:
|
||||||
|
<pre>svn co svn://anonsvn.kde.org/home/kde/branches/work/eigen2</pre>
|
||||||
|
or view it online at this address:
|
||||||
|
<a href="http://websvn.kde.org/branches/work/eigen2">http://websvn.kde.org/branches/work/eigen2</a>
|
||||||
|
|
||||||
|
<a name="kde"></a>
|
||||||
|
<h2>Relation to KDE</h2>
|
||||||
|
|
||||||
|
First of all: Eigen doesn't have any dependency. In particular, it doesn't depend on any part of KDE or on Qt.<br/>
|
||||||
|
|
||||||
|
Eigen is part of the KDE project, in the sense that:
|
||||||
|
<ul>
|
||||||
|
<li>Its <a href="http://websvn.kde.org/trunk/kdesupport/eigen/">development tree</a> is hosted in the <a href="http://websvn.kde.org">KDE repository</a>.</li>
|
||||||
|
<li>It has been founded by, and is developed by KDE people.</li>
|
||||||
|
<li>It has originally been designed for the needs of KDE applications, especially <a href="http://edu.kde.org/kalzium">Kalzium</a>.</li>
|
||||||
|
</ul>
|
||||||
|
However, we quickly realized that Eigen could be useful for non-KDE projects, whence our decision to make sure that it has no dependency on KDE or Qt.
|
||||||
|
|
||||||
|
Although Eigen itself doesn't have any dependency, the unit-tests require Qt.
|
||||||
|
|
||||||
|
<a name="examples"></a>
|
||||||
|
<h2>Examples</h2>
|
||||||
|
|
||||||
|
TODO: write more examples, update this section.
|
||||||
|
|
||||||
|
<a name="applications"></a>
|
||||||
|
<h2>Applications using Eigen</h2>
|
||||||
|
|
||||||
|
TODO: update this section
|
||||||
|
|
||||||
|
Please tell us if you know of other interesting projects using Eigen!
|
||||||
|
|
||||||
|
<a name="authors"></a>
|
||||||
|
<h2>Authors</h2>
|
||||||
|
|
||||||
|
<b>Lead Developer:</b> Benoit Jacob (jacob at math jussieu fr)
|
||||||
|
|
||||||
|
<b>Contributors during the Eigen 2 development process:</b>
|
||||||
|
<ul>
|
||||||
|
<li>Michael Olbrich (michael olbrich at gmx net) : initial loop-unrolling metaprogram</li>
|
||||||
|
<li>Christian Mayer (mail at christianmayer de) : reviewed the source code, made many useful suggestions</li>
|
||||||
|
<li>and thanks to everyone on the <a href="#mailinglist">mailing list</a> for your input!
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a name="contact"></a>
|
||||||
|
<h2>Contact us</h2>
|
||||||
|
|
||||||
|
The best way to contact us is by means of our <a href="#mailinglist">mailing list</a>.<br/>
|
||||||
|
IRC Channel: \#eigen on Freenode.<br/>
|
||||||
|
Website (you're here): <a href="http://eigen.tuxfamily.org">http://eigen.tuxfamily.org</a><br/>
|
||||||
|
|
||||||
|
<a name="mailinglist"></a>
|
||||||
|
<h2>Mailing list</h2>
|
||||||
|
|
||||||
|
The Mailing list for Eigen is: eigen at lists tuxfamily org.<br/>
|
||||||
|
|
||||||
|
To subscribe, send a mail with subject "subscribe" to eigen-request at lists tuxfamily org.<br/>
|
||||||
|
To unsubscribe, send a mail with subject "unsubscribe" to eigen-request at lists tuxfamily org.<br/>
|
||||||
|
|
||||||
|
You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
||||||
|
|
||||||
|
<a name="exception"></a>
|
||||||
|
<h2>Exception to the GPL</h2>
|
||||||
|
Eigen is licensed under the GNU GPL, version 2 or later, plus the following exception, which is replicated into each of the source files of Eigen:
|
||||||
|
<pre>
|
||||||
|
// As a special exception, if other files instantiate templates or use macros
|
||||||
|
// or inline functions from this file, or you compile this file and link it
|
||||||
|
// with other works to produce a work based on this file, this file does not
|
||||||
|
// by itself cause the resulting work to be covered by the GNU General Public
|
||||||
|
// License. This exception does not invalidate any other reasons why a work
|
||||||
|
// based on this file might be covered by the GNU General Public License.
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
*/
|
@ -8,12 +8,3 @@ int main(int, char**)
|
|||||||
cout << m << endl;
|
cout << m << endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Output:
|
|
||||||
|
|
||||||
1 0 0 0
|
|
||||||
0 1 0 0
|
|
||||||
1 0 1 0
|
|
||||||
0 1 0 1
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user