Linear Algebra

Selected theorems

and

Documentation of the Shareware Library

 

=== data formats ===

files

The matrix_write_event_data writes the event data while the matrix_read_event_data reads it.  The file format is as follows:

Line #1 1 title                The title-string must not contain any spaces.

Line #2 left_size right_size multipler amount

Line #3 through line #(3 + amount)        left_size of x * multiplier  right_size of y * multiplier

Line #(3 + amount + 1) “this_is_the_end_of_the_data_file”        This line is ignored by the reading subroutine.

We employ an unsigned long integer multiplier to convert the values to integers, in keeping with the inability of most data-bases to represent a floating-point number.

The matrix_write_array writes the array structure while the matrix_read_array reads it.  The file format is as follows:

Line #1 2 tile

Line #2 imx jmx mx imp jmp sym cmp part positive    inh.valid_t inh.valid_d

Line #3 mult (inh.trace * mult) (inh.determinant * mult)   where mult = multiplier / norm(array).

Here we validate the array structure.

Line #4 through line #(4 + imx) jmx of (element * mult) That is, each line is a row of the matrix.

Line #(4 + imx + 1)      “this_is_the_end_of_the_array_file”                  This line is ignored by the reading subroutine.

The matrix_write_complex_array write the cmplx-array structure while the matrix_read_complex_array reads it.  The file format is as follows:

Line #1 3 title

Line #2 imx jmx mx sym   inh.valid_t inh.valid_d

Line #3 mult (inh.trace.a * mult) (inh.trace.b * mult) (inh.sqmagdet * mult * mult)

Here we validate the array structure.

Line #4 through #(4 + imx)       jmx of the ordered pairs (real-element * mult) (imaginary-element * mult)

Line #(4 + imx + 1)      “this_is_the_end_of_the_complex_array_file”                This line is ignored by the reading subroutine.

channel structure

The channel structure includes a set of arrays, within eleven.  Their names are

=== the Library ==

The linear algebra library matrix_library.zip file consists of:

The documentation files are posted on the Web site -- you are reading one of them right now!  The rest of the documentation is available by going UP.

The matrix_m03 and matrix_m04 have the two-fold purpose of providing an example of how to employ the library and of constituting a test of the subroutines in the library.  A dynamic link library file (matrix_dll.dll, in our case) may be located in either the same directory as an  executable file -- in which case it will pre-empt any other dll file of the same name -- or in within the Program Files directory tree -- in which case it will become available system-wide.  The matrix_c09 is the DOS user interface and also serves as an example of how an interface to Excel or Access could be constructed.  Since both Excel and Access have the ability to import from or export to DOS (and from each other), the DOS interface already provides a Excel or Access to utilize the matrix library, indirectly. My intention to provide the latter two direct interfaces had been frustrated by the incompleteness of the installation of Excel and Access on the computer on which I developed this library.  I might be willing to consider providing an interface to Excel or Access, upon request.

[I wrote this library and documentation, in my spare time, beginning in late December 2003 through the middle of May 2004.  It first was posted on the Web sometime in early June 2004.]

 

 

 

 

 

 

UP

Copyright (c) 2003, 4 by R.I. ‘Scibor-Marchocki.  Last revised Saturday 24-th August 2004.