|
Project Information
Links
|
MCAS is a computational algebra and plot system based on constant interval arithmetics. It is designed to make accurate numerical computations and visualizations of mathematical and field specific functions and relations. News
FeaturesBelow is a list of implemented features and design goals of MCAS project:
MotivationComputations involving floating point numbers, nevertheless what precision is used, almost always generate some round-off error and uncertainty to the computed results. Usually the error could be estimated or even reduced by using better algorithms. However, there are also situations in which the complexity of the studied problem makes all known methods unsatisfactory or unusable. Most tools in the market use classical computational model, where both argument and solution are single floating-point or multi-precision numbers. When doing computations on arbitrary expression trees, this can give totally different value than expected. This means we can do only precise calculations but not accurate ones. By the term accurate I mean solutions proven to be analytically correct. Also, when using single points as fundamental computational basis, it is possible to plot graphs only using methods based on sampling and its enhancements. No matter how they were advanced and complicated, they never will result in a proper graph. Of course for simple functions like polynomials or exponential this is enough. But consider plotting sin(1/x), when x is going towards zero. All methods based on sampling fail, as there is infinite number of oscillations, and the results seen in main stream CAS software and plot libraries are poor and don't match the actual plot. This is the main motivation for implementing interval arithmetics in MCAS, giving the public a tool which is not only precise as are the other tools in the market, but most of all, accurate, to prove that the exact solution to the problem belongs to the computed interval. Besides the accuracy, new plotting methods can be derived form the interval approach, which can exponentially reduce the number of function evaluations needed. DesignMCAS system consists of three main parts, which include mathematical libraries, server-side virtual machine and client-side user interfaces. The communication between libraries and VM is based on dynamic linking (both compile time and runtime binding) and between user interfaces and VM Unix sockets are being used for compatibility reasons. Mathematical LibrariesThe most important library is libivl, which implement the fundamentals of constant interval arithmetics for single-dimensional and complex numbers and several algorithms based on those fundamentals:
This library uses extensively MPFR library for numerical computations purpose and is designed to be its natural extension. This means MPFR users will see it simple to use libivl as a standalone interval computations library. Virtual MachineUser InterfacesDownloadTo obtain the latest release of MCAS check Featured Downloads section. You can also use the SVN repository through Source tab or by executing following command: svn checkout http://mcas.googlecode.com/svn/trunk/ mcas InstallationCompiling and installing MCAS is as simple as executing following code: cd mcas make make install Make sure to install GMP and MPFR libraries first. You can always build only specified parts of MCAS. If you would like to build, for example, libivl only, then execute: make libivl AuthorMCAS is been developed by Mateusz Paprocki. |