Matrix Comparison Facility
Downloading Instructions
Requirements
For command-line tool
-
To install and use matcmp, you need the Gnu C compiler (gcc),
Version 2.4.5 or later.
For graphical tool
- To install and use xmatcmp, you need the Gnu C compiler (gcc,
Version 2.4.5 or later),
TCL (Version 7.3), and
Tk (Version 3.6).
Downloading
For command-line tool
-
The distribution of matcmp is available via anonymous ftp from
ftp.cs.orst.edu; a compressed tarfile will be found at
/pub/pancake/MCF/MCF_Cmdline.tar.Z.
Download
the matcmp source distribution via your web browser.
For graphical tool
-
The distribution of xmatcmp is available via anonymous ftp from
ftp.cs.orst.edu; a tarfile will be found at
/pub/pancake/MCF/MCF_Graphical.tar.Z.
Download
the xmatcmp source distribution via your web browser.
Information is available on
obtaining Tcl7.3/Tk3.6 or GNU gcc, as well as on
determining whether the necessary version of
Tcl/Tk is installed on your system.
Building the Tool(s)
After you've downloaded the command-line or graphical distribution file,
uncompress it using the command
uncompress MCF_xxxxxxxx.tar.Z
where xxxxxxxx is Cmdline or Graphical,
depending on which version of the tool you have chosen.
Then untar it using the command
tar -xvf MCF_xxxxxxxx.tar
This will create a directory MCF_xxxxxxxx, containing two or three
subdirectories, a README file, and copies of the man pages for the tool
and the input file format.
Move to the build subdirectory and type
make
to create the executable, which will be placed in the demo subdirectory.
(Additional details will be found in the README files.)
Using the Tool
Example input files are provided for you:
- dense1: a 52x50 matrix, fully populated with non-zero values
in the range -10.0 to 10.0
- dense2: a 50x50 matrix, populated with values from 0.0 to 14.1
- sparse1: a 50x50 matrix, with 215 non-zero values
- sparse2: a 50x50 matrix, with 147 non-zero values
For command-line tool
-
Step 1: If you are in the build subdirectory, move to MCF_Cmdline/demo
Step 2: Invoke the tool.
The following are examples of user questions and how the tool could be
applied to answer them:
- Did I remember to initialize my array to real (non-zero) values?
prompt> matcmp dense1 EQ 0
- Do I have any elements in my matrix that are less than 10 ?
prompt> matcmp dense1 GT 10
- Did my results change between the two versions of my program ?
prompt> matcmp dense1 dense2
- Same question, but using MCF's "sparse" matrix format
prompt> matcmp -sparse sparse1 sparse2
For graphical tool
-
Step 1: If you are in the build subdirectory, move to MCF_Graphical/demo
Step 2: Invoke the tool.
The following are examples of user questions and how the tool could be
applied to answer them:
- What are the values in my matrix ?
prompt> xmatcmp dense1&
This invokes the tool, asking it to compare each value with zero,
thereby visualizing the values stored in the matrix.
-
Which elements in my matrix are greater than zero ? There are two
ways to do this:
(a) change the comparison operator from EQ to LT
(b) invoke the tool over again, using LT and 0 as the arguments
prompt> xmatcmp dense1 LT 0&
- Did both versions of my program produce the same results ?
prompt> xmatcmp dense1 dense2&
- Are all the elements in my new results less than they were before ?
Again, while this can be done by returning to the command line:
prompt> xmatcmp dense1 GE dense2&
it is simpler to change the comparison operator to GE within the tool.
- I know the values won't match exactly (because of round-off error),
but are they fairly close?
Change the tolerance value within the tool (say, to 2.75), then
choose the EQ operator.
Let Us Know!
If you find MCF useful and/or wish to receive notification of
future releases, please let us know! Send mail to
pancake@cs.orst.edu.
MCF was written by Bhanu Balasubramaniam, under the direction of Cherri
Pancake. The design and implementation of MCF are available for royalty-free
adoption and use for non-commercial purposes, by any public or private
organization. Queries about licensing arrangements for commercial use
of MCF should be directed to Cherri Pancake,
pancake@cs.orst.edu.
Back to MCF home page