Loading in 5 sec....

A Computational Environment for Interval Matrices in C++PowerPoint Presentation

A Computational Environment for Interval Matrices in C++

- By
**nova** - Follow User

- 74 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' A Computational Environment for Interval Matrices in C++' - nova

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### A Computational Environment for Interval Matrices in C++

Michael Nooner and Chenyi Hu

Computer Science Department, University of Central Arkansas

Introduction

- Motivations
- What is IntBLAS
- Why use IntBLAS
- The package

Motivations

- Profil, IntLAB, IntLib
- Easy to use
- Cross platform

What Is IntBLAS

- Interval BLAS Standard
- Basic Interval Arithmetic Subroutines (IntLib)
- Interval Basic Linear Algebra Subroutines
- Level 1, 2, 3

- C++ Implementation
- Three core objects
- Three auxiliary objects

Why use IntBLAS

- Easy to install
- GCC
- Visual Studio
- More on the way …

- Cross Platform
- Open Source (LGPL)
- Well Documented
- Easy to use

The Package

- One header
- IntBLAS.h

- Two Static Libraries
- intblas.lib (optimized)
- intblas_d.lib (debug)

- One Namespace
- intblas

- One Initialization Function
- INIT_INTERVAL()

The Package

#include<IntBLAS.h>

using namespace intblas;

int main()

{

INIT_INTERVAL();

Interval a( .1 );

IntervalMatrix m( 2, 2 ), result;

m[0][0] = 2.3; m[0][1] = 3.3;

m[1][0] = 5.5; m[1][1] = a;

result = m + a;

Core Classes

- Three Main Classes
- Interval
- IntervalVector
- IntervalMatrix

Interval Class

- IntLib
- Double precision
- Rounding
- Round Up: add one ε
- Round Down: subtract one ε
- 16th – 18th significant digit

Interval Class

- Arithmetic operators
- Standard Functions
- ipow, isin, isqrt, ilog, iatan …

- Additional interval set routines
- isEmpty(), midpoint(), width(), …

IntervalVector and IntervalMatrix

- BLAS Standard
- Method/Function pairs
double norm( NORMTYPE n );

friend double norm( IntervalMatrix& a, NORMTYPE n );

- Arithmetic operators
- Assignment operator
- Intermediate values

Error Handling

- INTERVAL_EXCEPTION
int code

char msg[200]

- Global Error Object
- 32 predefined codes
setError( int code, const char* msg = NULL )

getLastError()

- 32 predefined codes

IntervalVectorT & IntervalMatrixT

- Enables strong dimension checking
- Typdef common matrices and vectorstypedef IntervalMatrixT<2,2> IMatrix2x2;. . .IMatrix2x2 m, n, o;

Problem

- Solve the following set of linear equations:

Problem

- By paper the solution is

Conclusion

- Interval Basic Linear Algebra Subprograms
- Easy to install
- Cross Platform
- Open Source
- Well Documented
- Easy to use
- Download it from http://www.geocities.com/mike_nooner

Future Work

- Banded and Sparse Matrices
- Arbitrary precision arithmetic
- Fuzzy Logic Module
- Interval Based LU Decomposition
- Other cool stuff!

Download Presentation

Connecting to Server..