Matrix.h File Reference


Detailed Description

The Zenautics Matrix Class.

Author:
Glenn D. MacGougan (GDM)
Date:
2008-09-22
Version:
0.06 Beta
Version Information
This is the open source version (BSD license). The Professional Version is avaiable via http://www.zenautics.com. The Professional Version is highly optimized using SIMD and includes optimization for multi-core processors.

License Information
Copyright (c) 2008, Glenn D. MacGougan, Zenautics Technologies Inc.

Redistribution and use in source and binary forms, with or without modification, of the specified files is permitted provided the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

NOTES:
This code was developed using rigourous unit testing for every function and operation. Despite any rigorous development process, bugs are inevitable. Please report bugs and suggested fixes to glenn @ zenautics.com.

Preprocessor Defines
The implementation of exception handling and the use of namespace is not standardized among older compilers, the following deines may be necessary.
define _MATRIX_NO_NAMESPACE // removes namespace support.
define _MATRIX_NO_EXCEPTION // removes exception handling support.

Author:
Glenn D. MacGougan (GDM)
Date:
2008-09-22
Version:
0.06 Beta
Version Information
This is the open source version (BSD license). The Professional Version is avaiable via http://www.zenautics.com. The Professional Version is highly optimized using SIMD and includes optimization for multi-core processors.

License Information
Copyright (c) 2008, Glenn D. MacGougan, Zenautics Technologies Inc.

Redistribution and use in source and binary forms, with or without modification, of the specified files is permitted provided the following conditions are met:

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

NOTES:
This code was developed using rigourous unit testing for every function and operation. Despite any rigorous development process, bugs are inevitable. Please report bugs and suggested fixes to glenn @ zenautics.com.

Preprocessor Defines
define _MATRIX_NO_EXCEPTION // removes exception handling support.

Definition in file Matrix.h.

#include <complex>
#include <string>
#include "cmatrix.h"

Go to the source code of this file.

Namespaces

namespace  Zenautics

Data Structures

class  Zenautics::MatrixException
 A class for exceptions thrown by the Matrix class. More...
class  Zenautics::Matrix
 The matrix/vector class. Both real and complex data are inherently supported. One and two dimensional data. More...
class  Zenautics::Matrix::Element
 This is a nested class that is an element of the matrix. i.e. Matrix M; M(i,j) is the element. It is used for operator(,) access by the Matrix. More...
class  Zenautics::Matrix::RealOnlyAccess
 A nested class for access only to the real part of the matrix. It is used for operator[] access by the Matrix. More...

Functions

bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X,Matrix &Y,const std::string series_label,const std::string units,const bool isConnected=true,const MTX_enumColor color=MTX_BLUE,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot a single X vs Y series directly to a compressed (run-length-encoded) bitmap file.
bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X_1,Matrix &Y_1,const std::string series_label_1,const std::string units_1,Matrix &X_2,Matrix &Y_2,const std::string series_label_2,const std::string units_2,const bool isConnected_1=true,const MTX_enumColor color_1=MTX_BLUE,const bool isConnected_2=true,const MTX_enumColor color_2=MTX_LIMEGREEN,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot two X vs Y series directly to a compressed (run-length-encoded) bitmap file.
bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X_1,Matrix &Y_1,const std::string series_label_1,const std::string units_1,Matrix &X_2,Matrix &Y_2,const std::string series_label_2,const std::string units_2,Matrix &X_3,Matrix &Y_3,const std::string series_label_3,const std::string units_3,const bool isConnected_1=true,const MTX_enumColor color_1=MTX_BLUE,const bool isConnected_2=true,const MTX_enumColor color_2=MTX_LIMEGREEN,const bool isConnected_3=true,const MTX_enumColor color_3=MTX_RED,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot three X vs Y series directly to a compressed (run-length-encoded) bitmap file.
bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X_1,Matrix &Y_1,const std::string series_label_1,const std::string units_1,Matrix &X_2,Matrix &Y_2,const std::string series_label_2,const std::string units_2,Matrix &X_3,Matrix &Y_3,const std::string series_label_3,const std::string units_3,Matrix &X_4,Matrix &Y_4,const std::string series_label_4,const std::string units_4,const bool isConnected_1=true,const MTX_enumColor color_1=MTX_BLUE,const bool isConnected_2=true,const MTX_enumColor color_2=MTX_LIMEGREEN,const bool isConnected_3=true,const MTX_enumColor color_3=MTX_RED,const bool isConnected_4=true,const MTX_enumColor color_4=MTX_PURPLE,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot four X vs Y series directly to a compressed (run-length-encoded) bitmap file.
bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X_1,Matrix &Y_1,const std::string series_label_1,const std::string units_1,Matrix &X_2,Matrix &Y_2,const std::string series_label_2,const std::string units_2,Matrix &X_3,Matrix &Y_3,const std::string series_label_3,const std::string units_3,Matrix &X_4,Matrix &Y_4,const std::string series_label_4,const std::string units_4,Matrix &X_5,Matrix &Y_5,const std::string series_label_5,const std::string units_5,const bool isConnected_1=true,const MTX_enumColor color_1=MTX_BLUE,const bool isConnected_2=true,const MTX_enumColor color_2=MTX_LIMEGREEN,const bool isConnected_3=true,const MTX_enumColor color_3=MTX_RED,const bool isConnected_4=true,const MTX_enumColor color_4=MTX_PURPLE,const bool isConnected_5=true,const MTX_enumColor color_5=MTX_ORANGE,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot five X vs Y series directly to a compressed (run-length-encoded) bitmap file.
bool Zenautics::Plot (const std::string bmpfilename,const std::string title,const std::string xlabel,const std::string ylabel,Matrix &X_1,Matrix &Y_1,const std::string series_label_1,const std::string units_1,Matrix &X_2,Matrix &Y_2,const std::string series_label_2,const std::string units_2,Matrix &X_3,Matrix &Y_3,const std::string series_label_3,const std::string units_3,Matrix &X_4,Matrix &Y_4,const std::string series_label_4,const std::string units_4,Matrix &X_5,Matrix &Y_5,const std::string series_label_5,const std::string units_5,Matrix &X_6,Matrix &Y_6,const std::string series_label_6,const std::string units_6,const bool isConnected_1=true,const MTX_enumColor color_1=MTX_BLUE,const bool isConnected_2=true,const MTX_enumColor color_2=MTX_LIMEGREEN,const bool isConnected_3=true,const MTX_enumColor color_3=MTX_RED,const bool isConnected_4=true,const MTX_enumColor color_4=MTX_PURPLE,const bool isConnected_5=true,const MTX_enumColor color_5=MTX_ORANGE,const bool isConnected_6=true,const MTX_enumColor color_6=MTX_GREEN,const bool isXGridOn=true,const bool isYGridOn=true,const bool includeStats=true,const unsigned precisionStats=5,const unsigned plot_height_cm=8,const unsigned plot_width_cm=10)
 Plot six X vs Y series directly to a compressed (run-length-encoded) bitmap file.


Generated on Sun Feb 8 15:31:11 2009 for The Zenautics Matrix Project by  doxygen 1.5.4