The processing time and storage requirements for FMS depend on the number of equations and vectors, matrix profile, matrix symmetry, data type and operation being performed.
The following table lists the number of words required to store matrices and vectors.
Data Type | Real | Complex | |||
---|---|---|---|---|---|
Matrix Symmetry | Symmetric | Nonsymmetric | Symmetric | Nonsymmetric | |
Matrix | Profile | NB | N(2B-1) | 2NB | 2N(2B-1) |
Full | N(N+1)/2 | NN | N(N+1) | 2NN | |
Vector | NX | 2NX |
Values specified are in units of words (8-bytes).
N = Number of equations.
B = Average half bandwidth (from
FMSBW).
X = Number of vectors.
Disk storage requirements are usually specified in megabytes (Mbytes). To convert the values in the above table to Mbytes, multiply by 8 and divide by 1,000,000. For example, a full complex nonsymmetric matrix with 20,000 equations would require 6,400 Mbytes of disk storage.
The following table lists the number of floating point operations required to factor and multiply a matrix. The number of operations listed includes addition and multiplication. The operation count for solution includes forward reduction and back substitution.
Data Type | Real | Complex | |||
---|---|---|---|---|---|
Matrix Symmetry | Symmetric | Nonsymmetric | Symmetric | Nonsymmetric | |
Factor | Profile | NEE | 2NEE | 4NEE | 8NEE |
Full | NNN/3 | 2NNN/3 | 4NNN/3 | 8NNN/3 | |
Solve or Multiply | Profile | 2XN(2B-1) | 8XN(2B-1) | ||
Full | 2XNN | 8XNN |
Values specified are the number of floating point operations (add and multiply).
N = Number of equations.
B = Average half bandwidth (from
FMSBW).
E = Effective factoring bandwidth (from
FMSBW).
X = Number of vectors.
You may use the operation counts in the table above to estimate processing time. The performance of scientific computers is usually rated in units of Mflops (Millions of floating point operations per second). To estimate processing time, you may use the following equation:
T = F/(1,000,000 C)
T = processing time (seconds)
F = number of floating point operations from the table above.
C = processing speed (Mflops).