private boolean positiveRank(Matrix3f matrix, float[] maxMagnitudeStore, Vector3f maxRowStore) {
        // Locate the maximum-magnitude entry of the matrix.
        maxMagnitudeStore[0] = -1f;
        int iRow, iCol, iMaxRow = -1;
        for (iRow = 0; iRow < 3; iRow++) {
            for (iCol = iRow; iCol < 3; iCol++) {
                float fAbs = FastMath.abs(matrix.get(iRow, iCol));
                if (fAbs > maxMagnitudeStore[0]) {
                    maxMagnitudeStore[0] = fAbs;
                    iMaxRow = iRow;
                }
            }
        }

        // Return the row containing the maximum, to be used for eigenvector
        // construction.
        maxRowStore.set(matrix.getRow(iMaxRow));

        return maxMagnitudeStore[0] >= FastMath.ZERO_TOLERANCE;
    }
Check the rank of the given Matrix to determine if it is positive. While
doing so, store the max magnitude entry in the given float store and the
max row of the matrix in the Vector store.

@param matrix
           the Matrix3f to analyze.
@param maxMagnitudeStore
           a float array in which to store (in the 0th position) the max
           magnitude entry of the matrix.
@param maxRowStore
           a Vector3f to store the values of the row of the matrix
           containing the max magnitude entry.
@return true if the given matrix has a non 0 rank.
jme3-core/src/main/java/com/jme3/math/Eigen3f.java