DataLab is a compact statistics package aiming at exploratory data analysis. Please visit the DataLab Web site for more information....


CalcHatMatrix

Declaration: TMatrix.CalcHatMatrix (var HatMat: TMatrix): integer;
The function CalcHatMatrix calculates the hat matrix and stores the result in matrix HatMat:

HatMat := X(XTX)-1XT

The function returns the following error codes:
 0 ... everything is OK
-1 ... the source matrix has zero size
-2 ... not enough memory on heap
-3 ... LU decomposition was not possible (singular covariance matrix)

Hint: Please note that the calculation of the hat matrix can consume considerable amounts of memory. The memory requirement (including the original matrix and HatMat) amounts to 8*((p+n)2 + pn) bytes, with p being the number of columns of the data matrix and n being the number of rows.