			 Welcome to MatCalc
			    Version 3.2
=======================================================================
MatCalc is a matrix calculator designed to run from the desktop of
Windows 95/98/NT platforms.  The application can be used to perform
simple arithmetic, data conversions and as a reference for some phys-
ical constants, or as a matrix calculator.  In the latter category,
you can construct and manipulate an infinite variety of real and also
complex matrices and carry out many of the procedures of matrix 
algebra.

MatCalc is distributed as shareware: you are granted a trial license 
for a period of 30 days to see whether you will find the program 
useful and worth the price I'm asking. After that you have the options
of either registering (purchasing) MatCalc, or removing it from your 
system.

If you decide to keep MatCalc, registering will bring you additional 
benefits: enhanced features, free updates and technical support. Last 
but not least, the program will get rid of the "nag screen" which 
starts showing up after one month expires.

Technical support is offered not only to registered users, but also 
(to a reasonable extent) during the trial period. If you have questions
, problems or suggestions, feel free to send me mail or write to my 
postal address.

And, most importantly, let us know what you like and dislike about the 
program: what new features would you like to see, what do you find 
inconvenient, confusing or mathematically incorrect. Your feedback is 
most valuable in making MatCalc the program we want it to be.

Last but not least if you like the program, tell your friends about 
MatCalc and give them a copy (unregistered, of course, i.e. without 
your key file). You will do everyone a favor. Thanks.

=======================================================================
What's New in this Version?

 The interface has been altered in the following ways:

 1) The dynamic link library has been revised, new functions added,
    and redesignated mc.dll.  Earlier versions will not be compatible
    with mc.dll.

 2) Algorithms for calculating analytic matrix functions such as
    exp(M), sin(M), and cos(M) have been added.  

 3) Creation of Hermitian and Unitary complex matrices had been added.
 
 4) Diagonalization of complex Hermitian matrices and determinants of
    complex Hermitian matrices have been added.

 5) Windows-style File and Help menus have been added with submenus
    allowing for saving and retrieving external matrices.

 6) Algorithms for finding eigenvalues of real matrices and eigen-
    values plus eigenvectors of real symmetric matrices have been 
    added.

 7) Linear programming solutions using the simplex method have been 
    added.

 8) An expression parsing module has been added which allows you to
    evaluate matrix polynomial expressions.


=======================================================================
Contents of MatCalc32.zip includes the following files:

 Mc3.exe - the Windows95/98/NT executable program

 Mc3.hlp - the Help files for mc3.exe 

 Mc3.cnt - the Help contents file for mc3.exe

 mc.dll - the matrix package dynamic link library - must be in same 
          directory

 xpars.exe - matrix expression evaluation module

 RegA-RegZ - matrix containing binary file examples

 my1.mtx - matrix external file example

 Readme1st - this file you are reading now

 WhatsNew.txt - development notes

 License.txt - copy of your MatCalc license agreement

=======================================================================
To Install MatCalc:

1 - Copy the MatCalc32.zip file (or the MatCalc32.exe self-extracting
    file) into it's own directory folder (i.e., 'MatCalc')

2 - Use WinZip or some compatible program to extract the MatCalc32.zip
    contents into the 'MatCalc32' directory.  Alternatively, if you
    downloaded the self-extracting version (MatCalc32.exe), simply
    run this file and it will install the MatCalc files either in the
    default directory, c:/Program Files/MatCalc, or in the directory
    that you designate during the extraction process.

3 - Make sure that the library file mc.dll, the help files mc3.hlp
    and mc3.cnt, and xpars.exe are in the same directory as the mc3.exe file.  
    Otherwise the program won't work properly or not at all.  

4 - Set up a shortcut from the Desktop to run the program, if you wish.

=======================================================================
Using the Program:

1 - You can use the program as a simple arithmetic calculator because
    the simplest matrix has one row and one column and is composed of
    a single element which can be a real number.  

2 - You can enter a matrix either by using the MatCalc numeric keypad
    or by using your computer keyboard.  When you first enter data in
    this manner, the text will appear gray in color.  When you have
    completed your data entry, you can convert the data into an matrix
    form which the computer can use by clicking on the 'Set Edit'(SE) 
    button.  This action converts the gray text to gold as the matrix
    comes to life.  The number of decimal digits carried will depend
    upon the settings of MatCalc.

3 - You can add, subtract, multiply, divide, find the transpose and
    inverse, and raise to a power, any matrix that you enter.  Just
    use the MatCalc operator panel keys.

4 - In the 'Options' list box, you can select any one of numerous
    matrix tests and procedures, as well as storing and recalling
    matrices.  The function panel keys will open the Options List
    to allow selection of different list options.  There are 27
    memory registers capable of holding matrices in virtual memory
    (stored to your hard disk).

5 - Certain special and sometimes difficult to construct matrices
    can be quickly created by using the 'Create' options.  These
    include null, unit, identity, random, prime numbers, rotation,
    reflection, random orthogonal real matrices and Hermitian and
    Unitary complex matrices.

6 - You can convert single numbers or whole matrices from one unit
    to another by clicking the 'Conv' button.  The conversion dialog
    will appear allowing you to convert units of area, energy, length,
    mass, speed, volume, etc.

7 - You can factor matrices using several standard factoring algorithms
    including singular value decomposition, lower upper decomposition,
    QR and others.  You can even find eigenvalues and eigenvectors of
    some matrices. You can diagonalize (set the eigenvalues along the
    diagonal) of real symmetric and Hermitian complex matrices.

8 - You can edit existing matrices using the MatCalc numeric keypad,
    your computer keypad, and mouse pointer drag-drop features.

9 - A limited number of operations involving complex matrices are also
    available.  To manipulate complex matrices, you need to set the
    MatCalc application in the 'Complex' mode.  Do this by clicking
    the 'Mode' key and selecting 'Complex' from the options list.  Then
    all matrices should be entered using the ATT/Bell Labs format for
    complex numbers, i.e., (a, b).  See online help if you need to.

10 - Help is available by pressing the 'Help' button or F1 key.

11 - Pressing the small [x] on the title bar or selecting 'Exit' from
     the File menu terminates the application. 
=======================================================================
Known Problems:

1 - Users without Microsoft Forms 2.0 ActiveX components installed on
    there system will not be able to run MatCalc.  In some cases, no
    warning messages will be given, the program just won't run.

2 - The parsing module, while very helpful in many respects, remains
    under development and needs improvements.

3 - Very large matrices can be constructed.  How large depends on
    several factors and is machine and operating system dependent.  
    If you attempt to construct, save, load or manipulate a large 
    matrix, i.e., a 100 row by 100 column matrix, you will not always
    see an hourglass and the program will appear to be frozen. Usually,
    it is not frozen, simply taking it's sweet time to perform all the
    needed calculations.  It will eventually come around.  The current
    version of MatCalc has been used to construct complex Hermitian
    matrices 32 x 32 containing 1024 complex elements in less than one
    minute.  Any subsequent manipulations of such a large matrix takes
    notably longer times than for smaller matrices.

4 - While the program appears to allow for up to 16 decimal digits,
    it is very unlikely that accuracy prevails to that extent.  To
    a considerable degree, it depends upon the floating point char-
    acteristics of your machine as well as the nature of the calc-
    ulation that you are attempting.  Certain matrices and certain
    calculations can combine to produce very inaccurate results.  It
    is deep within the realm of computer science that a thorough
    analysis of these problems reside.  Such problems are hardly
    unique to MatCalc.

=======================================================================
Reporting Bugs:

Most of your questions regarding the functionality of the program can 
be answered by pressing F1 which will summon the help file.  Or get 
Help from the Help menu.

Please report all bugs and problems to: 

	Email: MBPliam@compuserve.com

	Postal Address:   Dr. Michael B. Pliam
			  207 Clarendon Rd.
                          Burlingame, CA  94010

=======================================================================
Credits and Copyright Information:

The program was compiled using Microsoft Visual C++ 5.0.  It includes
Microsoft Forms 2.0 ActiveX components.  These components are present
in most, but not all, Windows 95/98/NT installations.  I am still 
waiting to hear from Microsoft on whether or not I can legally redis-
tribute these ActiveX components to users who do not already have them.
Believing, as I do, in the infinite largesse of Mr. Gates and his 
associates, I have already taken the liberty of making available a 
'patch' which allows for the installation of these components.

The files frm20.dll regsvr32.exe whcih come with Patch01 are the sole 
intellectual property of Microsoft Corp and are redistributed here for
the sole purpose of providing them to users of MatCalc32.  


=======================================================================
We hope you enjoy the program and that it proves useful for you.  
Please let us know what you like about it and what we might do to 
improve it.

Thanks for using MatCalc

Michael B. Pliam, MD, PhD
President, Pliable Software
February 18, 1999