EMatrix
README.md
Go to the documentation of this file.
1 # EMatrix - README
2 
3 EMatrix is a lightweight matrix library developed in C++. EMatrix is designed
4 to help solve engineering and math problems requiring vectors and matrices.
5 EMatrix is OS independent and is as portable as we can make it. EMatrix
6 supports overloaded operators, links with Lapack, and includes functions to
7 facilitate porting from Octave type matrix scripting languages to C++.
8 
9 ## Platforms
10 EMatrix compiles and runs with g++ and clang++, as well as,
11 Visual Studio 2015.
12 
13 ## Simple Example:
14 
15  #include <iostream>
16  #include "EMatrix.h"
17 
18  int main(void) {
19 
20  ematrix::Matrix<double,3,3> A = {1.,2.,3.,0.,0.,0.,0,0,0};
21  ematrix::Matrix<double,3,3> B = {1,1,1,3,4,5,3,6,10};
22  std::cout << A+inv(B);
23 
24  return(0);
25  }
26 
27 **To compile:** $ g++ example_in_readme.cpp -llapack or
28 g++ example_in_readme.cpp "-l:liblapack.so.3"
29 
30 See also [test_EMartrix.cpp](../../test_EMatrix.cpp) for an additional ideas.
31 
32 ## Installation
33 Place EMatrix.h in the directory of your choosing. Tell your
34 compiler where it is. For g++, add -I<your directory>; see the provided
35 Makefile for an example. In your code, #include "EMatrix.h" where you need to
36 and off you go.
37 
38 ## Dependencies
39 If one needs to take a matrix inverse or determinant, Lapack
40 is required. Lapack is an open source linear algebra package and is available
41 from http://www.netlib.org/lapack/. For Linux, Cygwin and MinGW users, one can
42 install or build Lapack very easily. Visual Studio platforms can require a bit
43 more effort. Most expediently, one can download the compiled libraries from
44 http://icl.cs.utk.edu/lapack-for-windows/lapack/. Another option is compile and
45 link with CLapack, and f2c'd version of Lapack. In fact, one can extract the
46 necessary files in less than two hours. In future versions, I plan to include
47 the requisite files. I also plan to investigate the now included C interface
48 to Lapack.
49 
50 ## Authors
51 EMatrix, formerly CMatrix and DMatrix, was originally written by
52 The Riddler. This Author picked up the baton. Many others helped with
53 suggestions and bug fixes.
54 
55 Mail suggestions to The Joker <apdougla@users.sourceforge.net>
56 
57 ## License
58 This file is part of EMatrix, the C++ matrix library distribution.
59 This project is licensed under the terms of the MIT license. The full text
60 of the license file can be found in [LICENSE](../../LICENSE).
61