code: @Nonnull
    @ReturnsMutableCopy
    public Matrix getD ()
    {
      final Matrix aNewMatrix = new Matrix (m_nDim, m_nDim);
      final double [] [] aNewArray = aNewMatrix.internalGetArray ();
      for (int nRow = 0; nRow < m_nDim; nRow++)
      {
        final double [] aDstRow = aNewArray[nRow];
        Arrays.fill (aDstRow, 0.0);
        aDstRow[nRow] = m_aEVd[nRow];
  
        final double dEVe = m_aEVe[nRow];
        if (dEVe > 0)
          aDstRow[nRow + 1] = dEVe;
        else
          if (dEVe < 0)
            aDstRow[nRow - 1] = dEVe;
      }
      return aNewMatrix;
    }
docs: Return the block diagonal eigenvalue matrix
  
  @return D