C/C++ Coding for Matrix Pseudo Inverses in Clinical Near Infrared Spectroscopy.
Near infrared spectroscopy is used clinically to investigate patterns of change in cerebral oxygenation. We have shown that differences reported between authors are likely the result of computer encoding errors in the manipulation of matrices. Current methods compute the inverse of a non-square matrix to derive chromophore concentration values, and solution of another non-square matrix to derive polynomial coefficients of a least squares best fit curve from which the first derivative can be used to estimate blood flow values. Encoding of these pseudo inverses involves too many nested looping steps to easily identify encoding errors. We have given C/C++ source code along with sample numerical values at the termination of each loop within the algorithm. This provides counter checking for future software development by other programmers, and also permits other investigators to report whether the software used for their experiments agrees with previously published material.
B.C. Children's Hospital, University of British Columbia, Vancouver, British Columbia, Canada.
ROY E.
RE
Gagnon
ANDREW J.
AJ
Macnab