Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Matrices/READ_ME, Revision 1.1.1.1
1.1 maekawa 1: Integer and floating vectors, matrices and linear-system solvers in PHCv2
2:
3: New in this release is the availability of multi-precision numbers,
4: implemented with appropriate Ada 95 concepts.
5: Also QR decomposition and least squares approximation have been added.
6:
7: This library is organized in four parts :
8: 1) generic packages: vectors, vectors of vectors, matrices, and _io.
9: 2) instantiations:
10: {standard,multprec}_{natural,integer,floating,complex}_
11: {vectors,vecvecs,matrices}[_{io}]
12: 3) gcd's and factorizations to solve linear systems
13: 4) random generators and test programs, with prefix ts_*
14: The organization above is hierarchic. Other possible views are classifications
15: by numeric types (e.g., everything with standard_integer*,*integer*, etc...) or
16: by data types (e.g., everything with *matrices*, *vectors*, etc...).
17:
18: --------------------------------------------------------------------------------
19: file name : short description
20: --------------------------------------------------------------------------------
21: generic_vectors : vectors with coefficients in any ring
22: generic_vectors_io : input/output for generic vectors
23: generic_vecvecs : vectors of vectors over any ring
24: generic_vecvecs_io : input/output for vectors of vectors
25: generic_matrices : matrices with coefficients in any ring
26: generic_matrices_io : input/output for generic matrices
27: generic_vecmats : vectors of matrices over any ring
28: generic_vecmats_io : input/output for vectors of matrices
29: --------------------------------------------------------------------------------
30: standard_natural_vectors : vectors of standard natural numbers
31: standard_natural_vectors_io : generic_vectors_io(standard natural)
32: standard_natural_vecvecs : generic_vecvecs(standard natural)
33: standard_natural_vecvecs_io : generic_vecvecs_io(standard natural)
34: standard_natural_matrices : matrices of standard natural numbers
35: standard_natural_matrices_io : generic_matrices_io(standard natural)
36: standard_integer_vectors : vectors of standard integer numbers
37: standard_integer_vectors_io : generic_vectors_io(standard integer)
38: standard_integer_norms : norms for standard integer vectors
39: standard_integer_vecvecs : generic_vecvecs(standard integer)
40: standard_integer_vecvecs_io : generic_vecvecs_io(standard integer)
41: standard_integer_matrices : matrices of standard integer numbers
42: standard_integer_matrices_io : generic_matrices_io(standard integer)
43: standard_integer_vecmats : generic_vecmats(standard integer)
44: standard_integer_vecmats_io : generic_vecmats_io(standard integer)
45: standard_floating_vectors : vectors of standard floating numbers
46: standard_floating_vectors_io : generic_vectors_io(standard floating)
47: standard_floating_vecvecs : generic_vecvecs(standard floating)
48: standard_floating_vecvecs_io : generic_vecvecs_io(standard floating)
49: standard_floating_matrices : matrices of standard floating numbers
50: standard_floating_matrices_io : generic_matrices_io(standard floating)
51: standard_floating_vecmats : generic_vecmats(standard floating)
52: standard_floating_vecmats_io : generic_vecmats_io(standard floating)
53: standard_complex_vectors : vectors of standard complex numbers
54: standard_complex_vectors_io : generic_vectors_io(standard complex)
55: standard_complex_vecvecs : generic_vecvecs(standard complex)
56: standard_complex_vecvecs_io : generic_vecvecs_io(standard complex)
57: standard_complex_matrices : matrices of standard complex numbers
58: standard_complex_matrices_io : generic_matrices_io(standard complex)
59: standard_complex_vecmats : generic_vecmats(standard complex)
60: standard_complex_vecmats_io : generic_vecmats_io(standard complex)
61: multprec_natural_vectors : vectors of multi-precision natural numbers
62: multprec_natural_vectors_io : generic_vectors_io(multprec natural)
63: multprec_natural_vecvecs : generic_vecvecs(multprec natural)
64: multprec_natural_vecvecs_io : generic_vecvecs_io(multprec natural)
65: multprec_natural_matrices : matrices of multi-precision natural numbers
66: multprec_natural_matrices_io : generic_matrices_io(multprec natural)
67: multprec_integer_vectors : vectors of multi-precision integer numbers
68: multprec_integer_vectors_io : generic_vectors_io(multprec integer)
69: multprec_integer_vecvecs : generic_vecvecs(multprec integer)
70: multprec_integer_vecvecs_io : generic_vecvecs_io(multprec integer)
71: multprec_integer_matrices : matrices of multi-precision integer numbers
72: multprec_integer_matrices_io : generic_matrices_io(multprec integer)
73: multprec_floating_vectors : vectors of multi-precision floating numbers
74: multprec_floating_vectors_io : generic_vectors_io(multprec floating)
75: multprec_floating_vecvecs : generic_vecvecs(multprec floating)
76: multprec_floating_vecvecs_io : generic_vecvecs_io(multprec floating)
77: multprec_floating_matrices : matrices of multi-precision floating
78: multprec_floating_matrices_io : generic_matrices_io(multprec floating)
79: multprec_complex_vectors : vectors of multi-precision complex numbers
80: multprec_complex_vectors_io : generic_vectors_io(multprec complex)
81: multprec_complex_vecvecs : generic_vecvecs(multprec complex)
82: multprec_complex_vecvecs_io : generic_vecvecs_io(multprec complex)
83: --------------------------------------------------------------------------------
84: greatest_common_divisors : greatest common divisors over any domain
85: standard_common_divisors : gcd/lcm for the standard integer numbers
86: multprec_common_divisors : gcd/lcm for the multi-precision integers
87: generic_integer_linear_solvers : solvers of linear systems over any domain
88: standard_integer_linear_solvers : linear-system solvers for standard integers
89: standard_integer_linear_equalities : manipulation of linear equalities
90: multprec_integer_linear_solvers : linear-system solvers for multprec integers
91: generic_floating_linear_solvers : solvers of linear systems of floats
92: standard_floating_linear_solvers : linear-system solvers for standard floats
93: multprec_floating_linear_solvers : linear-system solvers for multprec floats
94: standard_complex_linear_solvers : linear-system solvers for standard complex
95: multprec_complex_linear_solvers : linear-system solvers for multprec complex
96: generic_norms_equals : norms and equality routines
97: standard_floating_norms_equals : norms/equals for standard floating numbers
98: standard_floating_two_norms : Euclidean norms for standard floating vecs
99: multprec_floating_norms_equals : norms/equals for multprec floating numbers
100: standard_complex_norms_equals : norms/equals for standard complex numbers
101: multprec_complex_norms_equals : norms/equals for multprec complex numbers
102: standard_floating_qr_decomposition : QR-decomposition for standard floats
103: standard_complex_qr_decomposition : QR-decomposition of standard complex #s
104: standard_floating_least_squares : least squares for standard floats
105: standard_complex_least_squares : least squares for standard complex #s
106: --------------------------------------------------------------------------------
107: standard_random_vectors : vectors of random standard numbers
108: standard_random_vecvecs : vecvecs of random standard numbers
109: standard_random_matrices : matrices of random standard numbers
110: multprec_random_vectors : vectors of random multi-precision numbers
111: multprec_random_vecvecs : vecvecs of random multi-precision numbers
112: multprec_random_matrices : matrices of random multi-precision numbers
113: --------------------------------------------------------------------------------
114: ts_natvec : test vectors/vecvecs of natural numbers
115: ts_natmat : test matrices of natural numbers
116: ts_intvec : test vectors/vecvecs of integer numbers
117: ts_intmat : test solvers of integer numbers
118: ts_gcd : test greatest common divisors
119: ts_fltvec : test vectors/vecvecs of floating numbers
120: ts_fltmat : test solvers of floating linear systems
121: ts_fltdls : test dynamic matrix triangulators
122: ts_cmpvec : test vectors/vecvecs of complex numbers
123: ts_cmpmat : test solvers of complex linear systems
124: ts_qrd : test QR-decomposition and least squares
125: --------------------------------------------------------------------------------
126: The generic_* packages are different from the abstract_* packages in the
127: sense that they export types and operations, i.e.: they have a body.
128:
129: The LU-factorizations for real and complex numbers have been translated from
130: the LINPACK f77 library. Adaptions have been made for multi-precision.
131: The LINPACK f77 library was also the source for QR and least squares.
132:
133: There are three types of linear systems: over integer, floating-point reals
134: and complex numbers. For each numeric type, there is only one generic
135: implementation, except for the complex numbers, where it became too complex
136: to elaborate the mixed floating-complex arithmetic with generics.
137: Also with norms and equalities, no generics are used for complex numbers.
138:
139: This library contains 134 files:
140: 1 READ_ME file
141: 92 specifications (ads), including 7 generic packages
142: 41 implementations (adb), including 11 test programs
143: wc *adb counts 7742 lines of Ada code.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>