MFsym_sqrt
 MDsym_sqrt 
MEsym_sqrt 

Function  Square root of a symmetric, positive definite matrix 

Syntax C/C++  #include <MFstd.h>
int MFsym_sqrt( fMatrix MB, fMatrix MA, ui len ); 
C++ MatObj  #include <OptiVec.h>
void matrix<T>::sqrt( const matrix<T>& MA ); 
Pascal/Delphi  uses MFstd;
function MFsym_sqrt( MB, MA:fMatrix; len:UIntSize ):IntBool; 

Description  The squareroot of a symmetric, positive definite matrix is calculated, so that MB * MB = MA is satisfied. Please note that nonsymmetric matrices or matrices which are not positive definite may or may not have existing squareroots, too. The present algorithm, however, is restricted to the most simple case where a squareroot always exists. It uses eigenvalues and eigenvectors and fails whenever a negative eigenvalue is encountered, indicating an input matrix which is not positive definite. In the latter case, an error message is displayed and the result is calculated with zero substituted for the negative eigenvalue. This result may still be useful, namely if the negative eigenvalue is very small.
A return value of FALSE or 0 indicates success, whereas a nonzero return value indicates that the input matrix did not meet the condition of being symmetric and positive definite. 

Return value  FALSE (0), if the matrix squareroot could be calculated; otherwise TRUE (1) 

