CM2 Math1 /release 4.7.0

by | Jun 1, 2016

  • 4.7.0
  • June, 2016
  • CM2 MeshTools® 4.7.0 and CM2 FEM® Engines 4.2.0
  • Major release of the CM2 Math1 library
  • Due to changes in the API, client applications must be recompiled against the new headers


  • None.

/new features

  • New DoubleZVec, DoubleZMat, DoubleZSym for std::complex<double>.
    Fixed-size vectors and matrices for std::complex<double> are not defined because cannot currently be exported by the Windows DLLs.
  • vecvec::dot, vecvec::diff_dot, vecvec::diff_sqr_two_norm, vecvec::diff_two_norm, vecvec::cross2, vecvec::cross_sqr_two_norm, vecvec::cross_two_norm, matmat::mult:
    generalized to work with different base types (such as double and std::complex<double>).
  • New vecscal::sqr_Herm_norm, vecvec::Herm_dot and vecvec::Herm_axpy for complex vectors.
  • New vecscal::div and matscal::div (mostly useful for integer types).
  • Access operators (vector_fixed, matrix_fixed, symmetric_fixed, dense1D, dense2D, symmetric_full) and some constructors (vector_fixed) are now templatized to force their integration into the user’s compilands.
    This is to enable assert bound-checkings when the user compile its code in DEBUG mode.
  • New Natvis file for Math1 containers debug visualizers (Visual Studio ≥ 2012).


  • Documentation improvements.


  • Bug in matscal::det3 for symmetric matrices.

/breaking changes

  • None.