In this section, the word matrix is used to refer to a mathematical object and the word array is used to refer to its representation as a C data structure. In the following list of array types, the C Stat Library functions require input consisting of matrix dimension values and all values for the matrix entries. These values are stored in row-major order in the arrays.
Each function processes the input array and typically returns a pointer to a “result.” For example, in solving linear regression, the pointer points to the estimated coefficients. Normally, the input array values are not changed by the functions.
In the C Stat Library, an array is a pointer to a contiguous block of data. An array is not a pointer to a pointer to the rows of the matrix. Typical declarations are as follows:
float
*a = {1, 2, 3, 4};
float b[2][2] = {1, 2,
3, 4};
float c[] = {1,
2, 3, 4};
Note: If you are using non-ANSI C and the variables are of type auto, the above declarations would need to be declared as type static float.
A general matrix is a square n × n matrix. The data type of a general array can be int, float, or double.
A rectangular matrix is an m × n matrix. The data type of a rectangular array can be int, float, or double.
A symmetric matrix is a square n × n matrix A,
such that AT = A. (The
matrix
AT is the transpose of
A.) The data type of a symmetric array can be int, float,
or double.
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |