Menu

Tree [02e176] master /
 History

HTTPS access


File Date Author Commit
 ChangeLog.md 2020-11-08 This Recruit This Recruit [cf625d] Swichted to less agressive naming
 Doxyfile 2020-11-07 This Recruit This Recruit [595d72] Initial Upload
 LICENSE 2020-11-08 This Recruit This Recruit [fa87f8] Changed to Unlicense License
 Makefile 2020-11-07 This Recruit This Recruit [595d72] Initial Upload
 README.md 2020-11-08 This Recruit This Recruit [02e176] Fixed link to license file in readme, again
 TODO.md 2020-11-07 This Recruit This Recruit [595d72] Initial Upload
 example.cpp 2020-11-07 This Recruit This Recruit [595d72] Initial Upload
 matrixCPlusPlus.cpp 2020-11-07 This Recruit This Recruit [595d72] Initial Upload
 matrixCPlusPlus.h 2020-11-07 This Recruit This Recruit [595d72] Initial Upload

Read Me

MatrixC++ - README

MatrixC++ is a lightweight matrix library developed in C++. MatrixC++ is designed
to help solve engineering and math problems requiring vectors and matrices.
MatrixC++ is OS independent and is as portable as we can make it. MatrixC++
supports overloaded operators, links with Lapack, and includes functions to
facilitate porting from Octave type matrix scripting languages to C++.

Platforms

MatrixC++ compiles and runs with g++, clang++, and Visual Studio 2015.

Simple Example:

#include <iostream>
#include "matrixCPlusPlus.h"

int main(void) {

    matrixCPlusPlus::Matrix<double,3,3> A = {1.,2.,3.,0.,0.,0.,0,0,0};
    matrixCPlusPlus::Matrix<double,3,3> B = {1,1,1,3,4,5,3,6,10};
    std::cout << A+inv(B);

    return(0);
}

To compile: $ g++ example.cpp -llapack or
g++ example.cpp "-l:liblapack.so.3"

See also matrixCPlusPlus.cpp for an additional ideas.

Installation

Place matrixCPlusPlus.h in the directory of your choosing. Tell your
compiler where it is. For g++, add -I<your directory="">; see the provided
Makefile for an example. In your code, #include "matrixCPlusPlus.h" where you
need to and off you go.</your>

Dependencies

If one needs to take a matrix inverse or determinant, Lapack
is required. Lapack is an open source linear algebra package and is available
from http://www.netlib.org/lapack/. For Linux, Cygwin and MinGW users, one can
install or build Lapack very easily. Visual Studio platforms can require a bit
more effort. Most expediently, one can download the compiled libraries from
http://icl.cs.utk.edu/lapack-for-windows/lapack/. Another option is compile and
link with CLapack, and f2c'd version of Lapack. In fact, one can extract the
necessary files in less than two hours. In future versions, I plan to include
the requisite files. I also plan to investigate the now included C interface
to Lapack.

Authors

MatrixC++, formerly CMatrix and DMatrix, was originally written by
The Riddler. Dog House picked up the baton. Many others helped with
suggestions and bug fixes.

Mail suggestions to Dog House

License

This file is part of MatrixC++, the C++ matrix library distribution.
This project is licensed under the terms of the Unlicense license. The full text
of the license file can be found in LICENSE.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.