diff --git a/doc/tutorial/auto_examples/combo/sg_execution_times.rst b/doc/tutorial/auto_examples/combo/sg_execution_times.rst
index 58958daabc197a267c3fa7eb224ef8ebbc65c577..b171394bbecfe941e4920c3881a766e2c20d5d0f 100644
--- a/doc/tutorial/auto_examples/combo/sg_execution_times.rst
+++ b/doc/tutorial/auto_examples/combo/sg_execution_times.rst
@@ -3,12 +3,38 @@
 
 .. _sphx_glr_tutorial_auto_examples_combo_sg_execution_times:
 
+
 Computation times
 =================
-**00:03.474** total execution time for **tutorial_auto_examples_combo** files:
+**00:00.547** total execution time for 2 files **from tutorial/auto_examples/combo**:
+
+.. container::
+
+  .. raw:: html
+
+    <style scoped>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
+    <link href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css" rel="stylesheet" />
+    </style>
+    <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
+    <script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
+    <script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
+    <script type="text/javascript" class="init">
+    $(document).ready( function () {
+        $('table.sg-datatable').DataTable({order: [[1, 'desc']]});
+    } );
+    </script>
+
+  .. list-table::
+   :header-rows: 1
+   :class: table table-striped sg-datatable
 
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_2_views_2_classes.py` (``plot_combo_2_views_2_classes.py``) | 00:02.387 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_3_views_3_classes.py` (``plot_combo_3_views_3_classes.py``) | 00:01.088 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
+   * - Example
+     - Time
+     - Mem (MB)
+   * - :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_3_views_3_classes.py` (``plot_combo_3_views_3_classes.py``)
+     - 00:00.295
+     - 0.0
+   * - :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_2_views_2_classes.py` (``plot_combo_2_views_2_classes.py``)
+     - 00:00.252
+     - 0.0
diff --git a/doc/tutorial/auto_examples/index.rst b/doc/tutorial/auto_examples/index.rst
index ae4af5f17c90c7d2913059f96e26fd508d90f9c8..326b5888a430aeb6f8ea0bc0342ac02971706564 100644
--- a/doc/tutorial/auto_examples/index.rst
+++ b/doc/tutorial/auto_examples/index.rst
@@ -1,9 +1,5 @@
 :orphan:
 
-
-
-.. _sphx_glr_tutorial_auto_examples:
-
 .. _examples:
 
 Multimodal Examples
@@ -13,13 +9,15 @@ Multimodal Examples
 
 
 
+
 .. raw:: html
 
-    <div class="sphx-glr-clear"></div>
+    <div class="sphx-glr-thumbnails">
 
 
+.. raw:: html
 
-.. _sphx_glr_tutorial_auto_examples_combo:
+    </div>
 
 
 MuCuMBo Examples
@@ -31,52 +29,48 @@ cooperation between views for classification.
 
 
 
+.. raw:: html
+
+    <div class="sphx-glr-thumbnails">
+
+
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="In this toy example, we generate data from two classes, split between two two-dimensional views...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_combo_2_views_2_classes_thumb.png
+  .. image:: /tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_combo_2_views_2_classes_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_2_views_2_classes.py`
+  :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_2_views_2_classes.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">MuCombo 2 views, 2 classes example</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/combo/plot_combo_2_views_2_classes
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="In this toy example, we generate data from three classes, split between three two-dimensional v...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_combo_3_views_3_classes_thumb.png
+  .. image:: /tutorial/auto_examples/combo/images/thumb/sphx_glr_plot_combo_3_views_3_classes_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_3_views_3_classes.py`
+  :ref:`sphx_glr_tutorial_auto_examples_combo_plot_combo_3_views_3_classes.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">MuCombo 3 views, 3 classes example</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/combo/plot_combo_3_views_3_classes
 .. raw:: html
 
-    <div class="sphx-glr-clear"></div>
-
-
-
-.. _sphx_glr_tutorial_auto_examples_mumbo:
+    </div>
 
 
 MuMBo Examples
@@ -88,52 +82,48 @@ cooperation between views for classification.
 
 
 
+.. raw:: html
+
+    <div class="sphx-glr-thumbnails">
+
+
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="In this toy example, we generate data from two classes, split between two two-dimensional views...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/mumbo/images/thumb/sphx_glr_plot_mumbo_2_views_2_classes_thumb.png
+  .. image:: /tutorial/auto_examples/mumbo/images/thumb/sphx_glr_plot_mumbo_2_views_2_classes_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_mumbo_plot_mumbo_2_views_2_classes.py`
+  :ref:`sphx_glr_tutorial_auto_examples_mumbo_plot_mumbo_2_views_2_classes.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Mumbo 2 views, 2 classes example</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/mumbo/plot_mumbo_2_views_2_classes
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="In this toy example, we generate data from three classes, split between three two-dimensional v...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/mumbo/images/thumb/sphx_glr_plot_mumbo_3_views_3_classes_thumb.png
+  .. image:: /tutorial/auto_examples/mumbo/images/thumb/sphx_glr_plot_mumbo_3_views_3_classes_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_mumbo_plot_mumbo_3_views_3_classes.py`
+  :ref:`sphx_glr_tutorial_auto_examples_mumbo_plot_mumbo_3_views_3_classes.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Mumbo 3 views, 3 classes example</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/mumbo/plot_mumbo_3_views_3_classes
 .. raw:: html
 
-    <div class="sphx-glr-clear"></div>
-
-
-
-.. _sphx_glr_tutorial_auto_examples_mvml:
+    </div>
 
 
 MVML Examples
@@ -144,32 +134,31 @@ The following toy examples illustrate how the MVML algorithm
 
 
 
+.. raw:: html
+
+    <div class="sphx-glr-thumbnails">
+
+
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="Demonstration uses scikit-learn for retrieving datasets and for calculating rbf kernel function...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/mvml/images/thumb/sphx_glr_plot_mvml__thumb.png
+  .. image:: /tutorial/auto_examples/mvml/images/thumb/sphx_glr_plot_mvml__thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_mvml_plot_mvml_.py`
+  :ref:`sphx_glr_tutorial_auto_examples_mvml_plot_mvml_.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">MVML</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/mvml/plot_mvml_
 .. raw:: html
 
-    <div class="sphx-glr-clear"></div>
-
-
-
-.. _sphx_glr_tutorial_auto_examples_usecase:
+    </div>
 
 
 Use Case Examples on Digit
@@ -180,126 +169,123 @@ The following toy examples illustrate how the multimodal as usecase on digit  da
 
 
 
+.. raw:: html
+
+    <div class="sphx-glr-thumbnails">
+
+
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="Function plot_subplot">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_usecase_function_thumb.png
+  .. image:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_usecase_function_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_usecase_usecase_function.py`
+  :ref:`sphx_glr_tutorial_auto_examples_usecase_usecase_function.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Use Case Function module</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/usecase/usecase_function
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="multi class digit from sklearn, multivue  - vue 0 digit data (color of sklearn)  - vue 1 gradia...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png
+  .. image:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py`
+  :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Use Case of MVML on digit</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/usecase/plot_usecase_exampleMVML
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="multi class digit from sklearn, multivue  - vue 0 digit data (color of sklearn)  - vue 1 gradia...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMumBo_thumb.png
+  .. image:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMumBo_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMumBo.py`
+  :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMumBo.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Use Case MumBo on digit</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/usecase/plot_usecase_exampleMumBo
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="Use Case MKL on digit">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMKL_thumb.png
+  .. image:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMKL_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMKL.py`
+  :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMKL.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Use Case MKL on digit</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/usecase/plot_usecase_exampleMKL
-
 .. raw:: html
 
     <div class="sphx-glr-thumbcontainer" tooltip="multi class digit from sklearn, multivue  - vue 0 digit data (color of sklearn)  - vue 1 gradia...">
 
 .. only:: html
 
- .. figure:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMuComBo_thumb.png
+  .. image:: /tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMuComBo_thumb.png
+    :alt:
 
-     :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMuComBo.py`
+  :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMuComBo.py`
 
 .. raw:: html
 
+      <div class="sphx-glr-thumbnail-title">Use Case MuComBo on digit</div>
     </div>
 
 
-.. toctree::
-   :hidden:
-
-   /tutorial/auto_examples/usecase/plot_usecase_exampleMuComBo
 .. raw:: html
 
-    <div class="sphx-glr-clear"></div>
+    </div>
 
 
+.. toctree::
+   :hidden:
+   :includehidden:
 
-.. only :: html
 
- .. container:: sphx-glr-footer
-    :class: sphx-glr-footer-gallery
+   /tutorial/auto_examples/combo/index.rst
+   /tutorial/auto_examples/mumbo/index.rst
+   /tutorial/auto_examples/mvml/index.rst
+   /tutorial/auto_examples/usecase/index.rst
 
 
-  .. container:: sphx-glr-download sphx-glr-download-python
+.. only:: html
 
-    :download:`Download all examples in Python source code: auto_examples_python.zip <//home/baptiste/Documents/Gitwork/scikit-multimodallearn/doc/tutorial/auto_examples/auto_examples_python.zip>`
+  .. container:: sphx-glr-footer sphx-glr-footer-gallery
 
+    .. container:: sphx-glr-download sphx-glr-download-python
 
+      :download:`Download all examples in Python source code: auto_examples_python.zip </tutorial/auto_examples/auto_examples_python.zip>`
 
-  .. container:: sphx-glr-download sphx-glr-download-jupyter
+    .. container:: sphx-glr-download sphx-glr-download-jupyter
 
-    :download:`Download all examples in Jupyter notebooks: auto_examples_jupyter.zip <//home/baptiste/Documents/Gitwork/scikit-multimodallearn/doc/tutorial/auto_examples/auto_examples_jupyter.zip>`
+      :download:`Download all examples in Jupyter notebooks: auto_examples_jupyter.zip </tutorial/auto_examples/auto_examples_jupyter.zip>`
 
 
 .. only:: html
diff --git a/doc/tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png b/doc/tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png
index 087d4b634111b639b717f38ce1d964eabd236313..ffc418ddee9df59486f461b7646d995585d860fc 100644
Binary files a/doc/tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png and b/doc/tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png differ
diff --git a/doc/tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png b/doc/tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png
index accc9a2c7c21ff9cc54ac3465f86660bc4a9d1e2..6491586918ae7556dbcbafdd43b43f55bf154cd4 100644
Binary files a/doc/tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png and b/doc/tutorial/auto_examples/usecase/images/thumb/sphx_glr_plot_usecase_exampleMVML_thumb.png differ
diff --git a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.ipynb b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.ipynb
index d6a3734a7bdac97290808f4e7f53804756e90b25..be3c67e222ce5b8a0e898c8b96f93d3c76ff72a7 100644
--- a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.ipynb
+++ b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.ipynb
@@ -1,21 +1,10 @@
 {
   "cells": [
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "collapsed": false
-      },
-      "outputs": [],
-      "source": [
-        "%matplotlib inline"
-      ]
-    },
     {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "\n# Use Case of MVML on digit\n\nUse case for all classifier of multimodallearn MVML\n\nmulti class digit from sklearn, multivue\n - vue 0 digit data (color of sklearn)\n - vue 1 gradiant of image in first direction\n - vue 2 gradiant of image in second direction\n\n\n"
+        "\n# Use Case of MVML on digit\nUse case for all classifier of multimodallearn MVML\n\nmulti class digit from sklearn, multivue\n - vue 0 digit data (color of sklearn)\n - vue 1 gradiant of image in first direction\n - vue 2 gradiant of image in second direction\n"
       ]
     },
     {
@@ -46,7 +35,7 @@
       "name": "python",
       "nbconvert_exporter": "python",
       "pygments_lexer": "ipython3",
-      "version": "3.6.8"
+      "version": "3.10.12"
     }
   },
   "nbformat": 4,
diff --git a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py
index 98fc33815ab0b775421b3c6750779e376fc6e7ee..25cffa9eef85e327ccb58076e6d316641b14ef16 100644
--- a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py
+++ b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py
@@ -2,7 +2,7 @@
 """
 =========================
 Use Case of MVML on digit
-========================
+=========================
 Use case for all classifier of multimodallearn MVML
 
 multi class digit from sklearn, multivue
diff --git a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py.md5 b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py.md5
index ec045359ca81cc9fa94c470f5d121e6a4b162394..c0712d4c49e0a8a74766deeccb863eb4ce14e904 100644
--- a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py.md5
+++ b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py.md5
@@ -1 +1 @@
-c401fe6af938dc5fef9c977303a2fdcf
\ No newline at end of file
+4ee120b4ec2ad3c5ca1f2fabd633baa2
\ No newline at end of file
diff --git a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.rst b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.rst
index 00713953e2f2644460cd1400a2aae4237b6dd181..c30ad60a2a4b9ab7c09b332ef18c0c563381b5e6 100644
--- a/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.rst
+++ b/doc/tutorial/auto_examples/usecase/plot_usecase_exampleMVML.rst
@@ -1,7 +1,18 @@
-.. note::
-    :class: sphx-glr-download-link-note
 
-    Click :ref:`here <sphx_glr_download_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py>` to download the full example code
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "tutorial/auto_examples/usecase/plot_usecase_exampleMVML.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
+.. only:: html
+
+    .. note::
+        :class: sphx-glr-download-link-note
+
+        :ref:`Go to the end <sphx_glr_download_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py>`
+        to download the full example code
+
 .. rst-class:: sphx-glr-example-title
 
 .. _sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py:
@@ -9,7 +20,7 @@
 
 =========================
 Use Case of MVML on digit
-========================
+=========================
 Use case for all classifier of multimodallearn MVML
 
 multi class digit from sklearn, multivue
@@ -17,68 +28,22 @@ multi class digit from sklearn, multivue
  - vue 1 gradiant of image in first direction
  - vue 2 gradiant of image in second direction
 
+.. GENERATED FROM PYTHON SOURCE LINES 14-72
 
 
 
-.. image:: /tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png
-    :class: sphx-glr-single-img
+.. image-sg:: /tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png
+   :alt: MVML: result96.44444444444444, train vue 0 color, test vue 0 color, test vue 1 gradiant 0, test vue 2 gradiant 1
+   :srcset: /tutorial/auto_examples/usecase/images/sphx_glr_plot_usecase_exampleMVML_001.png
+   :class: sphx-glr-single-img
 
 
 .. rst-class:: sphx-glr-script-out
 
- Out:
-
  .. code-block:: none
 
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 2}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 5, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 1}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 2}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 2}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 1}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 2}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 3, 'precond_A_1': 2}
-    WARNING:root:warning appears during fit process{'precond_A': 5, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 5, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 4}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 6}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 1}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
-    WARNING:root:warning appears during fit process{'precond_A': 4, 'precond_A_1': 5}
     result of MVML on digit with oneversone
-    96.88888888888889
-    /home/dominique/projets/ANR-Lives/scikit-multimodallearn/examples/usecase/plot_usecase_exampleMVML.py:70: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
-      plt.show()
+    96.44444444444444
 
 
 
@@ -87,8 +52,7 @@ multi class digit from sklearn, multivue
 
 |
 
-
-.. code-block:: default
+.. code-block:: Python
 
 
     import numpy as np
@@ -152,28 +116,22 @@ multi class digit from sklearn, multivue
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  14.485 seconds)
+   **Total running time of the script:** (1 minutes 27.084 seconds)
 
 
 .. _sphx_glr_download_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py:
 
+.. only:: html
 
-.. only :: html
-
- .. container:: sphx-glr-footer
-    :class: sphx-glr-footer-example
-
-
-
-  .. container:: sphx-glr-download
-
-     :download:`Download Python source code: plot_usecase_exampleMVML.py <plot_usecase_exampleMVML.py>`
+  .. container:: sphx-glr-footer sphx-glr-footer-example
 
+    .. container:: sphx-glr-download sphx-glr-download-jupyter
 
+      :download:`Download Jupyter notebook: plot_usecase_exampleMVML.ipynb <plot_usecase_exampleMVML.ipynb>`
 
-  .. container:: sphx-glr-download
+    .. container:: sphx-glr-download sphx-glr-download-python
 
-     :download:`Download Jupyter notebook: plot_usecase_exampleMVML.ipynb <plot_usecase_exampleMVML.ipynb>`
+      :download:`Download Python source code: plot_usecase_exampleMVML.py <plot_usecase_exampleMVML.py>`
 
 
 .. only:: html
diff --git a/doc/tutorial/auto_examples/usecase/sg_execution_times.rst b/doc/tutorial/auto_examples/usecase/sg_execution_times.rst
index f8c5f4ee2c40c7b18a942f9d2fbac6050f5a308d..07b179c5801abbec7288da001b7d3df598ca315f 100644
--- a/doc/tutorial/auto_examples/usecase/sg_execution_times.rst
+++ b/doc/tutorial/auto_examples/usecase/sg_execution_times.rst
@@ -3,18 +3,47 @@
 
 .. _sphx_glr_tutorial_auto_examples_usecase_sg_execution_times:
 
+
 Computation times
 =================
-**02:26.402** total execution time for **tutorial_auto_examples_usecase** files:
-
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMKL.py` (``plot_usecase_exampleMKL.py``)         | 01:59.263 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMuComBo.py` (``plot_usecase_exampleMuComBo.py``) | 00:27.139 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py` (``plot_usecase_exampleMVML.py``)       | 00:00.000 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMumBo.py` (``plot_usecase_exampleMumBo.py``)     | 00:00.000 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_tutorial_auto_examples_usecase_usecase_function.py` (``usecase_function.py``)                       | 00:00.000 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------------------+-----------+--------+
+**01:27.084** total execution time for 5 files **from tutorial/auto_examples/usecase**:
+
+.. container::
+
+  .. raw:: html
+
+    <style scoped>
+    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
+    <link href="https://cdn.datatables.net/1.13.6/css/dataTables.bootstrap5.min.css" rel="stylesheet" />
+    </style>
+    <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
+    <script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
+    <script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
+    <script type="text/javascript" class="init">
+    $(document).ready( function () {
+        $('table.sg-datatable').DataTable({order: [[1, 'desc']]});
+    } );
+    </script>
+
+  .. list-table::
+   :header-rows: 1
+   :class: table table-striped sg-datatable
+
+   * - Example
+     - Time
+     - Mem (MB)
+   * - :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMVML.py` (``plot_usecase_exampleMVML.py``)
+     - 01:27.084
+     - 0.0
+   * - :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMKL.py` (``plot_usecase_exampleMKL.py``)
+     - 00:00.000
+     - 0.0
+   * - :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMuComBo.py` (``plot_usecase_exampleMuComBo.py``)
+     - 00:00.000
+     - 0.0
+   * - :ref:`sphx_glr_tutorial_auto_examples_usecase_plot_usecase_exampleMumBo.py` (``plot_usecase_exampleMumBo.py``)
+     - 00:00.000
+     - 0.0
+   * - :ref:`sphx_glr_tutorial_auto_examples_usecase_usecase_function.py` (``usecase_function.py``)
+     - 00:00.000
+     - 0.0
diff --git a/doc/tutorial/auto_examples/usecase/usecase_function.ipynb b/doc/tutorial/auto_examples/usecase/usecase_function.ipynb
index 43f3d5747509aa97c14dac986076569a3757427d..558477256eda6af37e9982a92b5d75b7c4f63385 100644
--- a/doc/tutorial/auto_examples/usecase/usecase_function.ipynb
+++ b/doc/tutorial/auto_examples/usecase/usecase_function.ipynb
@@ -1,21 +1,10 @@
 {
   "cells": [
-    {
-      "cell_type": "code",
-      "execution_count": null,
-      "metadata": {
-        "collapsed": false
-      },
-      "outputs": [],
-      "source": [
-        "%matplotlib inline"
-      ]
-    },
     {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "\n# Use Case Function module\n\n\nFunction plot_subplot\n\n\n"
+        "\n# Use Case Function module\n\nFunction plot_subplot\n"
       ]
     },
     {
@@ -46,7 +35,7 @@
       "name": "python",
       "nbconvert_exporter": "python",
       "pygments_lexer": "ipython3",
-      "version": "3.6.8"
+      "version": "3.10.12"
     }
   },
   "nbformat": 4,
diff --git a/doc/tutorial/auto_examples/usecase/usecase_function.rst b/doc/tutorial/auto_examples/usecase/usecase_function.rst
index 54decb5e38103b7ae928825cc00da56373d588ed..74fd77c7e8173eb5158a29a166ed3a24726979d0 100644
--- a/doc/tutorial/auto_examples/usecase/usecase_function.rst
+++ b/doc/tutorial/auto_examples/usecase/usecase_function.rst
@@ -1,12 +1,21 @@
+
+.. DO NOT EDIT.
+.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
+.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
+.. "tutorial/auto_examples/usecase/usecase_function.py"
+.. LINE NUMBERS ARE GIVEN BELOW.
+
 .. only:: html
 
     .. note::
         :class: sphx-glr-download-link-note
 
-        Click :ref:`here <sphx_glr_download_tutorial_auto_examples_usecase_usecase_function.py>`     to download the full example code
-    .. rst-class:: sphx-glr-example-title
+        :ref:`Go to the end <sphx_glr_download_tutorial_auto_examples_usecase_usecase_function.py>`
+        to download the full example code
 
-    .. _sphx_glr_tutorial_auto_examples_usecase_usecase_function.py:
+.. rst-class:: sphx-glr-example-title
+
+.. _sphx_glr_tutorial_auto_examples_usecase_usecase_function.py:
 
 
 ========================
@@ -15,9 +24,9 @@ Use Case Function module
 
 Function plot_subplot
 
+.. GENERATED FROM PYTHON SOURCE LINES 10-36
 
-
-.. code-block:: default
+.. code-block:: Python
 
 
     import numpy as np
@@ -47,30 +56,19 @@ Function plot_subplot
     if __name__ == '__main__':
         pass
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 0 minutes  0.000 seconds)
-
-
 .. _sphx_glr_download_tutorial_auto_examples_usecase_usecase_function.py:
 
+.. only:: html
 
-.. only :: html
-
- .. container:: sphx-glr-footer
-    :class: sphx-glr-footer-example
-
-
-
-  .. container:: sphx-glr-download sphx-glr-download-python
-
-     :download:`Download Python source code: usecase_function.py <usecase_function.py>`
+  .. container:: sphx-glr-footer sphx-glr-footer-example
 
+    .. container:: sphx-glr-download sphx-glr-download-jupyter
 
+      :download:`Download Jupyter notebook: usecase_function.ipynb <usecase_function.ipynb>`
 
-  .. container:: sphx-glr-download sphx-glr-download-jupyter
+    .. container:: sphx-glr-download sphx-glr-download-python
 
-     :download:`Download Jupyter notebook: usecase_function.ipynb <usecase_function.ipynb>`
+      :download:`Download Python source code: usecase_function.py <usecase_function.py>`
 
 
 .. only:: html
diff --git a/examples/usecase/plot_usecase_exampleMVML.py b/examples/usecase/plot_usecase_exampleMVML.py
index 98fc33815ab0b775421b3c6750779e376fc6e7ee..25cffa9eef85e327ccb58076e6d316641b14ef16 100644
--- a/examples/usecase/plot_usecase_exampleMVML.py
+++ b/examples/usecase/plot_usecase_exampleMVML.py
@@ -2,7 +2,7 @@
 """
 =========================
 Use Case of MVML on digit
-========================
+=========================
 Use case for all classifier of multimodallearn MVML
 
 multi class digit from sklearn, multivue
diff --git a/multimodal/kernels/mvml.py b/multimodal/kernels/mvml.py
index 92b5b3eadddb7edbe528bbb74cc023cfb0bc7984..afee667b72dff9a4aed0f73c15ba1708741bbc1f 100644
--- a/multimodal/kernels/mvml.py
+++ b/multimodal/kernels/mvml.py
@@ -187,8 +187,8 @@ class MVML(MKernel, BaseEstimator, ClassifierMixin, RegressorMixin):
         ----------
 
         X : - Metriclearn_array {array-like, sparse matrix}, shape = (n_samples, n_features)
-              Training multi-view input samples. can be also Kernel where attibute 'kernel'
-              is set to precompute "precomputed"
+              Training multi-view input samples. can be also Kernel where attibute 'kernel' 
+              is set to precompute "precomputed" 
             or
             - Dictionary of {array like} with shape = (n_samples, n_features)  for multi-view
               for each view.
@@ -208,7 +208,7 @@ class MVML(MKernel, BaseEstimator, ClassifierMixin, RegressorMixin):
             - views_ind is a 1-D array of sorted integers, the entries
               indicate the limits of the slices used to extract the views,
               where view ``n`` is given by
-              ``X[:, views_ind[n]:views_ind[n+1]]``.
+              ``X[:, views_ind[n]:views_ind[n+1]]`` .
 
               With this convention each view is therefore a view (in the NumPy
               sense) of X and no copy of the data is done.
@@ -657,4 +657,4 @@ class MVML(MKernel, BaseEstimator, ClassifierMixin, RegressorMixin):
         score : float
             Mean accuracy of self.predict(X) wrt. y.
         """
-        return super(MVML, self).score(X, y)
\ No newline at end of file
+        return super(MVML, self).score(X, y)
diff --git a/multimodal/tests/test_mumbo.py b/multimodal/tests/test_mumbo.py
index fd626247b536fb2013e1160ac2dfec55a2b584e8..204097c05f92c5e333c5b7b6be8f97efa1dabfe5 100644
--- a/multimodal/tests/test_mumbo.py
+++ b/multimodal/tests/test_mumbo.py
@@ -450,15 +450,15 @@ class TestMumboClassifier(unittest.TestCase):
         clf = MumboClassifier()
         self.assertRaises(ValueError, clf.fit, X, y, views_ind)
 
-        views_ind = np.array([np.array([-1]), np.array([1, 2])])
+        views_ind = np.array([np.array([-1]), np.array([1, 2])], dtype=object)
         clf = MumboClassifier()
         self.assertRaises(ValueError, clf.fit, X, y, views_ind)
 
-        views_ind = np.array([np.array([3]), np.array([1, 2])])
+        views_ind = np.array([np.array([3]), np.array([1, 2])], dtype=object)
         clf = MumboClassifier()
         self.assertRaises(ValueError, clf.fit, X, y, views_ind)
 
-        views_ind = np.array([np.array([0.5]), np.array([1, 2])])
+        views_ind = np.array([np.array([0.5]), np.array([1, 2])], dtype=object)
         clf = MumboClassifier()
         self.assertRaises(ValueError, clf.fit, X, y, views_ind)
 
@@ -520,7 +520,7 @@ class TestMumboClassifier(unittest.TestCase):
 
         X = np.array([[0., 0.5, 0.7], [1., 1.5, 1.7], [2., 2.5, 2.7]])
         y = np.array([1, 1, 1])
-        views_ind = np.array([np.array([0, 2]), np.array([1])])
+        views_ind = np.array([np.array([0, 2]), np.array([1])], dtype=object)
         clf = MumboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_equal(clf.predict(X), y)
@@ -573,7 +573,7 @@ class TestMumboClassifier(unittest.TestCase):
                            np.array([0, 1]))
         self.assertEqual(clf.decision_function(X).shape, y.shape)
 
-        views_ind = np.array([np.array([2, 0]), np.array([1])])
+        views_ind = np.array([np.array([2, 0]), np.array([1])], dtype=object)
         clf = MumboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_equal(clf.predict(X), y)
@@ -598,7 +598,7 @@ class TestMumboClassifier(unittest.TestCase):
         np.testing.assert_equal(clf.predict(data), np.array([0, 1]))
         self.assertEqual(clf.decision_function(X).shape, y.shape)
 
-        views_ind = np.array([np.array([2, 0]), np.array([1]), np.array([3, 4])])
+        views_ind = np.array([np.array([2, 0]), np.array([1]), np.array([3, 4])], dtype=object)
         clf = MumboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_equal(clf.predict(X), y)
@@ -626,7 +626,7 @@ class TestMumboClassifier(unittest.TestCase):
         np.testing.assert_equal(clf.predict(data), np.array([0, 1, 2]))
         self.assertEqual(clf.decision_function(X).shape, (X.shape[0], 3))
 
-        views_ind = np.array([np.array([1, 0]), np.array([2]), np.array([3, 4])])
+        views_ind = np.array([np.array([1, 0]), np.array([2]), np.array([3, 4])], dtype=object)
         clf = MumboClassifier()
         clf.fit(X, y, views_ind)
         np.testing.assert_equal(clf.predict(X), y)
@@ -923,4 +923,4 @@ class TestMumboClassifier(unittest.TestCase):
 
 
 if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
+    unittest.main()
diff --git a/requirements.txt b/requirements.txt
index 41c623e9003401e52b8e5b3df0f43144d9437936..57a71bf96f8fc53c94c65e1e5bcca0b1421dead4 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,3 @@
-cvxopt==1.2.0
+cvxopt==1.3.0
 coverage==4.5.3
+numpy