diff --git a/Documentation/Doxyfile b/Documentation/Doxyfile
index 58f4b4b1f5dd14df7d91fabad213d05e09fcf08e..8b3faf7032228a2d66bdb75a1784db70e0e14a07 100644
--- a/Documentation/Doxyfile
+++ b/Documentation/Doxyfile
@@ -2123,6 +2123,7 @@ INCLUDE_FILE_PATTERNS  =
 PREDEFINED = DOXYGEN_ONLY
 PREDEFINED += HAVE_MPI
 PREDEFINED += HAVE_CUDA
+PREDEFINED += HAVE_HYPRE
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
 # tag can be used to specify a list of macro names that should be expanded. The
diff --git a/Documentation/Pages/main-page.md b/Documentation/Pages/main-page.md
index 8ad6e6d80bbce5da120f208e30e6d9e5a0e3a9e4..32d97d75f47c039c34356a4ae9b777df4352aa69 100644
--- a/Documentation/Pages/main-page.md
+++ b/Documentation/Pages/main-page.md
@@ -178,6 +178,11 @@ computing platform, and (optionally) some libraries.
       <td> </td>
       <td> Only used for the compilation of the `tnl-decompose-mesh` tool. </td>
   </tr>
+  <tr><td> [Hypre](https://github.com/hypre-space/hypre) </td>
+      <td> \ref Hypre "Wrappers for Hypre solvers" </td>
+      <td> `-DHAVE_HYPRE -lHYPRE` </td>
+      <td> Attention should be paid to Hypre build options, e.g. `--enable-bigint`. </td>
+  </tr>
   <tr><td> [libpng](http://www.libpng.org/pub/png/libpng.html) </td>
       <td> \ref TNL::Images "Image processing" classes </td>
       <td> `-DHAVE_PNG_H -lpng` </td>
diff --git a/src/TNL/Containers/HypreParVector.h b/src/TNL/Containers/HypreParVector.h
index a26b3c96b5c2f16b6f24f3b5b5053366951742f4..20258e3dd9ba409d2c84248568893200ac0daaa9 100644
--- a/src/TNL/Containers/HypreParVector.h
+++ b/src/TNL/Containers/HypreParVector.h
@@ -23,6 +23,8 @@ namespace Containers {
  * - https://github.com/hypre-space/hypre/blob/master/src/parcsr_mv/par_vector.h
  * - https://github.com/hypre-space/hypre/blob/master/src/parcsr_mv/par_vector.c
  * - https://github.com/hypre-space/hypre/blob/master/src/parcsr_mv/_hypre_parcsr_mv.h (catch-all interface)
+ *
+ * \ingroup Hypre
  */
 class HypreParVector
 {
diff --git a/src/TNL/Containers/HypreVector.h b/src/TNL/Containers/HypreVector.h
index 9dce7dbe36637311e5276393d16cd8870ae92975..5fc6a6ebdc92156e0650b959eeae702ab53de590 100644
--- a/src/TNL/Containers/HypreVector.h
+++ b/src/TNL/Containers/HypreVector.h
@@ -24,6 +24,8 @@ namespace Containers {
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/vector.h
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/vector.c
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/seq_mv.h (catch-all interface)
+ *
+ * \ingroup Hypre
  */
 class HypreVector
 {
diff --git a/src/TNL/Hypre.h b/src/TNL/Hypre.h
index 1cdecf007a6fd38b6f34a51f04ac37aed596b1e0..591b82fcc168a2788cd138e4bea9681cff99eb54 100644
--- a/src/TNL/Hypre.h
+++ b/src/TNL/Hypre.h
@@ -36,6 +36,19 @@
 
 namespace TNL {
 
+/**
+ * \defgroup Hypre  Wrappers for the Hypre library
+ *
+ * This group includes various wrapper classes for data structures and
+ * algorithms implemented in the [Hypre library][hypre]. See the
+ * [example][example] for how these wrappers can be used.
+ *
+ * [hypre]: https://github.com/hypre-space/hypre
+ * [example]: https://mmg-gitlab.fjfi.cvut.cz/gitlab/tnl/tnl-dev/-/blob/develop/src/Examples/Hypre/tnl-hypre-ex5.cpp
+ *
+ * @{
+ */
+
 /**
  * \brief A simple RAII wrapper for Hypre's initialization and finalization.
  *
@@ -111,4 +124,7 @@ struct Hypre
    #endif
 // clang-format on
 
+// this is a Doxygen end-group marker
+//! @}
+
 #endif  // HAVE_HYPRE
diff --git a/src/TNL/Matrices/HypreCSRMatrix.h b/src/TNL/Matrices/HypreCSRMatrix.h
index eca80e816ccbe97ab589657dc4976a2760aec225..0a9590ba453e259b0570819b664437acab850dea 100644
--- a/src/TNL/Matrices/HypreCSRMatrix.h
+++ b/src/TNL/Matrices/HypreCSRMatrix.h
@@ -24,6 +24,8 @@ namespace Matrices {
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/csr_matrix.h
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/csr_matrix.c
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/seq_mv.h (catch-all interface)
+ *
+ * \ingroup Hypre
  */
 class HypreCSRMatrix
 {
diff --git a/src/TNL/Matrices/HypreParCSRMatrix.h b/src/TNL/Matrices/HypreParCSRMatrix.h
index 225fc4917eed5448baf6fb7fc21e80bdc1b8d559..b409e8d7c5e6ab2b58d8cb4edef527aada8edfdc 100644
--- a/src/TNL/Matrices/HypreParCSRMatrix.h
+++ b/src/TNL/Matrices/HypreParCSRMatrix.h
@@ -20,6 +20,8 @@ namespace Matrices {
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/csr_matrix.h
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/csr_matrix.c
  * - https://github.com/hypre-space/hypre/blob/master/src/seq_mv/seq_mv.h (catch-all interface)
+ *
+ * \ingroup Hypre
  */
 class HypreParCSRMatrix
 {
diff --git a/src/TNL/Solvers/Linear/Hypre.h b/src/TNL/Solvers/Linear/Hypre.h
index ec46cd852fedf49d188e905bcf2059f63ee0fc70..229da24f65e2695e51c2c4876769faf7d3992d52 100644
--- a/src/TNL/Solvers/Linear/Hypre.h
+++ b/src/TNL/Solvers/Linear/Hypre.h
@@ -17,6 +17,9 @@ namespace TNL {
 namespace Solvers {
 namespace Linear {
 
+//! \addtogroup Hypre
+//! @{
+
 //! \brief Abstract class for Hypre's solvers and preconditioners
 class HypreSolver
 {
@@ -762,4 +765,7 @@ protected:
 
    #include "Hypre.hpp"
 
+// this is a Doxygen end-group marker
+//! @}
+
 #endif  // HAVE_HYPRE