diff --git a/cmake/TestsRelaxSE.cmake b/cmake/TestsRelaxSE.cmake
index 4335bcd669fbb5970bef5616f58de911aea0c4f6..26e973cb5a68a6467cb6fbea990cb0d177a65484 100644
--- a/cmake/TestsRelaxSE.cmake
+++ b/cmake/TestsRelaxSE.cmake
@@ -46,11 +46,13 @@ if(NOT ENABLE_NOGEN)
   add_runtest(CuO_02240)
   add_runtest(CuO_02240_lowmem)
   add_runtest(CuO_30405)
-  #add_runtest(CuO_03450_nodet2)
+  
   #add_runtest(CuO_03450_nodet3)
   #add_runtest(CuO_03450_nocontraction)
   #add_runtest(CuO_03450_allcontraction)
   add_runtest(CuO_03450)
+  add_runtest(CuO_03450_extravec)
+  add_runtest(CuO_03450_extravec_reconv)
   add_runtest(CuO_12423_block0)
   add_runtest(CuO_12423_block0_lowmem)
   add_runtest(CuO_12423_block01)
diff --git a/doc/code.tex b/doc/code.tex
index 6bbfbbf033eca5924b2b612e3d3ed27b333192b5..973827acf93de00bd0da4c757b15f481c0b1d619 100644
--- a/doc/code.tex
+++ b/doc/code.tex
@@ -1,5 +1,5 @@
 The {\sass} code~\cite{p:relaxse}
-does a fully-decontracted Multirefrence Configuration
+does a fully-decontracted Multireference Configuration
 Interaction (MRCI) calculation using one of the following methods
 \begin{itemize}
 \item {\bf SAS+S~:} single excitations on all determinants of a  reference
@@ -17,15 +17,15 @@ Interaction (MRCI) calculation using one of the following methods
 
 \item {\bf MRSCI~:} single excitations on all determinants of a selected reference space
   (included into a formal Complete Active Space);
-\item {\bf MRSDCI~:} single and double excitations on aall determinants of  selected reference space
+\item {\bf MRSDCI~:} single and double excitations on all determinants of a selected reference space
   (included into a formal Complete Active Space);
 \item {\bf CAS+S~:} single excitations on all determinants of a Complete
   Active Space;
 \item {\bf CAS+SD~:} single  and double excitations on all determinants of a
   Complete Active Space;
-\item {\bf CAS+DDCI~:} single  and double excitations from the Difference
-  Dedicated Configuration Interaction space~\cite{DDCI1992,DDCI1995,DDCI1997},  on all determinants of a 
-  Complete Active Space. 
+\item {\bf CAS+DDCI~:} selected single and double excitations on all determinants of a 
+  Complete Active Space, as defined in the Difference
+  Dedicated Configuration Interaction space~\cite{DDCI1992,DDCI1995,DDCI1997},
   
 \end{itemize}
 
@@ -33,32 +33,32 @@ Interaction (MRCI) calculation using one of the following methods
 \subsection{The orbital classes}
 The code uses a partition of the orbital set into 7 different types
 \begin{description}
-\item[FROZEN]~: (keywork NOrb\_gel) doubly-occupied orbitals that are frozen in the
+\item[FROZEN]~: (keyword NOrb\_gel) doubly-occupied orbitals that are frozen in the
   calculation. In the present version this number should be the same as in
   motra.
-\item[OCCUPIED]~: (keywork NOrb\_occ) doubly-occupied orbitals from which only one hole can be created in the calculation.
-\item[LIGO]~: (keywork NOrb\_ligo)  doubly-occupied orbitals from which two holes can be created in the calculation.
+\item[OCCUPIED]~: (keyword NOrb\_occ) doubly-occupied orbitals from which only one hole can be created in the calculation.
+\item[LIGO]~: (keyword NOrb\_ligo)  doubly-occupied orbitals from which two holes can be created in the calculation.
   These orbitals are typically the occupied ligand orbitals bridging the magnetic interactions.
-\item[ACTIVE]~: (keywork NOrb\_act) active orbitals. When the CAS keywork is
+\item[ACTIVE]~: (keyword NOrb\_act) active orbitals. When the CAS keyword is
   given the the METHOD the whole Complete Active Space is generated. When the
-  SAS keywork is given the the METHOD only a selection of determinants within the CAS is generated~:
+  SAS keyword is given the the METHOD only a selection of determinants within the CAS is generated~:
   \begin{itemize}
   \item all determinants required for building the $S^2,\, S_z$ spin configurations associated with each configuration provided in Ref0,
   \item all single excitations within the CAS on each configuration provided
     in Ref0, and their associated determinants required for the associated $S^2,\, S_z$
     spin configurations.
   \end{itemize}
-\item[LIGV]~: (keywork NOrb\_ligv)  virtual  orbitals on which two particules can be created in the calculation.
+\item[LIGV]~: (keyword NOrb\_ligv)  virtual  orbitals on which two particles can be created in the calculation.
   These orbitals are typically the virtual ligand orbitals bridging the magnetic interactions.
-\item[VIRTUAL]~: (keywork NOrb\_virt) virtual  orbitals on which one particule can be created in the calculation.
-\item[DELETED]~: (keywork NOrb\_del) virtual orbitals deleted in the
+\item[VIRTUAL]~: (keyword NOrb\_virt) virtual  orbitals on which one particle can be created in the calculation.
+\item[DELETED]~: (keyword NOrb\_del) virtual orbitals deleted in the
   calculation. In the present version this number should be the same as in
   motra.
 \end{description}
 
 \subsection{The different methods}
-The different types of calculations can be done with a proper combination the
-the keyword METHOD (ACS or SAS + DDCI or S) and the setting of the different class of orbitals.
+The different types of calculations can be done with a proper combination 
+the keyword METHOD (CAS or SAS + S, DDCI or SD) and the setting of the different class of orbitals.
 For instance \\[2ex]
 \begin{tabular}{l|l|ccccccc}
   \hline   \hline
@@ -88,8 +88,8 @@ For instance \\[2ex]
 \end{tabular}
 
 \subsection{The determinant classes}
-The \sass\ code partition the determinants into 9 classes, defined from the
-number of holes in the OCCUPPIED or LIGO and the number of particules in the LIGV or VIRTUAL classes of orbitals.
+The \sass\ code partitions the determinants into 9 classes, defined from the
+number of holes in the OCCUPIED or LIGO and the number of particles in the LIGV or VIRTUAL classes of orbitals.
 
 {\small
 \begin{minipage}[t]{0.490\linewidth}
@@ -107,7 +107,7 @@ $D_{00}$ & 0 & 0 & n & 0 & 0 \\
                           & 1 & 0 & n & 0 & 1 \\
  \hline 
  %
- \multirow{4}{*}{$D_0^2$} & 0 & 2 & n & 2 & 0 \\
+ \multirow{4}{*}{$D_{02}$} & 0 & 2 & n & 2 & 0 \\
                           & 0 & 2 & n & 1 & 1 \\
                           & 1 & 1 & n & 2 & 0 \\
                           & 1 & 1 & n & 1 & 1 \\
diff --git a/doc/input.tex b/doc/input.tex
index dd523709f62acd61b1e70f790ebf55be04ab7c01..800f61cdbe41013496c8839aa142a5c1ded8fd89 100644
--- a/doc/input.tex
+++ b/doc/input.tex
@@ -2,13 +2,13 @@
 The files required by the \sass code are the following. 
 \begin{filelist}
 \item[INPUT]~: the input file
-\item[prefix.ref0]: the {\sc ref0} short list of determinants. From each
-  determinant in \file{prefix.ref0} all other determinants to get the desired
-  spin configurations will be generated.
+\item[prefix.ref0]: the {\sc ref0} short list of determinants. Only one
+  determinant per spin configuration is needed. All the other determinants to
+  get the desired spin configurations will be automatically generated to get the complete Ref0.
 \item[prefix.TraOne]: the \file{TraOne} frile issued from \program{motra}.
 \item[prefix.TraInt]: the \file{TraInt} frile issued from \program{motra}.
-\item[prefix.restart]:  (optional) the wave-function file for restarts.
-\devonly{ \item[prefix.mat]: (optional) the Hamiltonian matrix for lreadHmat = .true..}
+\item[prefix.guess]: (optional) the wave-function file from a previous
+  calculation for a restart.
 
 \end{filelist}
 
@@ -17,11 +17,11 @@ The files required by the \sass code are the following.
 The files generated  by the code are
 \begin{filelist}
 \item[prefix.out]: the output file.
-\item[prefix.det]: (optional) the list of determinants in human readible
+\item[prefix.det]: (optional) the list of determinants in human readable
   format.
 \item[prefix.bdet]: the list of determinants in binary format.
 \item[prefix.sass]: sass information file.
-\item[prefix.restart]:  the wave-function file for restarts.
+\item[prefix.restart]:  the wave-function file.
 \devonly{ \item[prefix.mat]: (optional, if --nogen and --build-type=Debug) the Hamiltonian matrix.
 \item[prefix.mat2]: (optional, if --nogen and --build-type=Debug)) the Hamiltonian matrix (i, j
   elm(i,j) format
@@ -55,35 +55,74 @@ The required namelists  are the following ones \vspace*{-2.5ex}
 \end{itemize}
 
 \begin{description} \itemsep 3ex
-\item[SassInp]~: dedicated to general informations. 
+\item[SassInp]~: dedicated to general information. 
   \begin{keywordlist}
-  \item[prefix]: prefix for all code files except \file{INPUT}. 
+    
+  \item[prefix]: prefix for all code files except \file{INPUT}.
+    
   \item[print\_det]: (optional, default \ftncode{.false.}) to print the
     determinants list in \file{prefix.det}.
-  \item[iprint]: (optional,  default \ftncode{0}) printinng options.
+    
+  \item[iprint]: (optional,  default \ftncode{0}) printing options.
     \begin{itemize}
     \item \ftncode{0}: no debug print
     \item \ftncode{1}: print individual block timings
     \item \ftncode{2}: print the Fock matrix
     \end{itemize}
+    
   \item[method]: (optional, default \ftncode{SAS+S}) method for determinant generation.
+    The keyword \keyword{method} is compose of two parts. The fist part can be
     \begin{itemize}
-    \item \keyword{SAS+S} : SASS method.
-    \item \keyword{CAS+S} : complete active space + single excitations on all
-      determinants of the CAS.
-    \item \keyword{CAS+SD} : complete active space + single and double excitations on all
-      determinants of the CAS.
-    \item \keyword{CAS+DDCI} : complete active space + single and double
-      excitations belonging to the difference dedicated configuration
-      interaction method.
+    \item \keyword{SAS}~: for a selection of spin configurations in the Ref0, 
+    \item \keyword{CAS}~: for a complete CAS in the Ref0.
     \end{itemize}
+    and the second part that can be
+    \begin{itemize}
+    \item \keyword{+S} for single excitations on top of the reference
+      determinants. The occupied orbitals should be in the \ftncode{Occ} and the
+      virtual one in the \ftncode{Virt} classes.
+    \item \keyword{+SD} for single and double excitations on top of the
+      reference determinant. Note that the occupied orbitals should be in the
+      \ftncode{Ligo} and the virtual one in the \ftncode{Ligv} classes.
+    \item \keyword{+DDCI} for a selection of the single and double excitations
+      (according to the DDCI method) on top of the reference determinant. Note
+      that the occupied orbitals should be in the \ftncode{Ligo} and the virtual
+      one in the \ftncode{Ligv} classes.
+    \end{itemize}
+    \begin{itemize}
+    % \item \keyword{SAS+S} : SASS method.
+    % \item \keyword{CAS+S} : complete active space + single excitations on all
+    %   determinants of the CAS.
+    % \item \keyword{CAS+SD} : complete active space + single and double excitations on all
+    %   determinants of the CAS.
+    % \item \keyword{CAS+DDCI} : complete active space + single and double
+    %   excitations belonging to the difference dedicated configuration
+    %   interaction method.
+    \end{itemize}
+    
   \item[sizebatch] : (optional, default \ftncode{40})  size of blocks for MPI
-    calculations. Recommended size for large calculations~= \ftncode{number of OpenMP threads}. 
-  \item[restart] : (optional, default \ftncode{.false.}) to restart a calculation from a
-    previous job, file \file{prefix.restart} needs to be present .
+    calculations. Recommended size for large calculations~= \ftncode{number of OpenMP threads}.
+    
+  \item[restart] : (optional, default \ftncode{.false.}) to restart a
+    calculation from a previous job.  The keyword \keyword{method}, the spin
+    state and the setting of the orbitals in the different classes should be
+    identical between the two calculations.  The file \file{prefix.restart}
+    from the old
+    calculation should be provided as \file{prefix.guess}. \\
+    Note that the number of required vectors does not need to be identical
+    between the two calculations.\\
+    This option can be used either to converge unconverged vectors (or
+    converge them to a higher accuracy, see \keyword{nconv} keyword below), or
+    to require a larger number of vectors. Only the vectors reputed as not
+    converged will be converged ( see \keyword{nconv} keyword below). \\
+    % 
+    \devonly{ \item[prefix.mat]:
+      (optional) the Hamiltonian matrix for lreadHmat = .true..}
+    
+    
   \item[mem\_reduction] : (optional, default \ftncode{.false.}) turn on/off the
-    memory reduction which saves intermediate vectors to disk and compute the
-    pair of off-diagonal blocs independently to save memory. Gives a 30-40\%
+    memory reduction which computes the
+    pair of off-diagonal blocks independently to save memory. Gives a 30-40\%
     gain in memory at the cost of an increased CPU time.
 
       \devonly{
@@ -102,7 +141,7 @@ The required namelists  are the following ones \vspace*{-2.5ex}
 
       \devonly{
       \item[lreadHmat] : ( optional, default \ftncode{.false.}) Read
-        the Hamiltonian matrice on disk -- to be used with
+        the Hamiltonian matrix on disk -- to be used with
         \ftncode{lexplicitHmat} to compare both matrices.}
 
       \devonly{
@@ -128,7 +167,7 @@ The required namelists  are the following ones \vspace*{-2.5ex}
         }
       
   \end{keywordlist}
-  Typical exemple.
+  Typical example.
   \begin{shell}
     &sassinp 
     prefix="cuo",
@@ -137,18 +176,19 @@ The required namelists  are the following ones \vspace*{-2.5ex}
     &end
   \end{shell}
 
+  \bigskip 
 
 
-\item[InfoMolcasInp]~: dedicated to provide informations on group symmetry,
+\item[InfoMolcasInp]~: dedicated to provide information on group symmetry,
   usually contained in the \program{molcas} \file{RunFile}.
   \begin{keywordlist}
   \item[NIrrep]: number of irreducible representations in the symmetry
-    group.
+    group. As symmetry is not yet implemented it should be 1.
   \item[Ntot]: total number of orbitals.
-  \item[iIrTb]: group multiplication table. 
-  \item[iChTb]: group character table.
+  \item[iIrTb]: group multiplication table. As symmetry is not yet implemented it should be 1.
+  \item[iChTb]: group character table. As symmetry is not yet implemented it should be 1.
   \end{keywordlist}
-  Typical exemple.
+  Typical example  as follows. 
   \begin{shell}
     &infomolcasinp
     nirrep=1, 
@@ -158,7 +198,7 @@ The required namelists  are the following ones \vspace*{-2.5ex}
     &end
   \end{shell}
   
-  
+   \bigskip 
 
 \item[OrbInp]~: dedicated to orbitals information.
   \begin{keywordlist}
@@ -170,7 +210,7 @@ The required namelists  are the following ones \vspace*{-2.5ex}
   \item[Norb\_virt]: vector, number of virtual orbitals.
   \item[NOrb\_del]: vector, number of deleted orbitals.
   \end{keywordlist}
-  Typical exemple.
+  Typical example.
   \begin{shell}
     &orbinp
     norb_gel  = 2, 
@@ -184,20 +224,23 @@ The required namelists  are the following ones \vspace*{-2.5ex}
   \end{shell}
   
 
+ \bigskip 
 
-
-\item[VecInp]~: dedicated to information on the seaked vectors.
+\item[VecInp]~: dedicated to information on the sought vectors.
   \begin{keywordlist}
   \item[NRef0]: number of {\sc ref0} determinants to be read in \file{prefix.ref0}.
   \item[NElact]: number of active/magnetic electrons.
   \item[NVec]: number of desired eigenstates.
-  \item[Stot]: $2S+1$, $S$ spin of the seaked states (default
+  \item[NConv]: (only when the keyword \keyword{restart} is set. Optional,
+    Default read in \file{prefix.guess} file) Defines the number of vectors
+    reputed to be converged. Overwrites the value read in \file{prefix.guess}.
+  \item[Stot]: $2S+1$, $S$ spin of the sought states (default
     \keyword{stot}=1). Used only to generate the complete {\sc ref0} determinants list.
-  \item[Sz]: $2S_z$, the spin sector in wich the diagonalisation takes place.
+  \item[Sz]: $2S_z$, the spin sector in which the diagonalisation takes place.
   \item[vec\_irrep]: (default 1) the irreducible representation of the
-    seaked vectors.  
+    sought vectors.   As symmetry is not yet implemented it should be 1.
   \end{keywordlist}
-  Typical exemple.
+  Typical example.
   \begin{shell}
     &vecinp
     stot=1, 
@@ -209,6 +252,8 @@ The required namelists  are the following ones \vspace*{-2.5ex}
     &end
   \end{shell}
 
+   \bigskip 
+
 
 \item[DavidInp]~: (experts) dedicated to the Davidson procedure fine tuning.
   \begin{keywordlist}
@@ -223,7 +268,7 @@ The required namelists  are the following ones \vspace*{-2.5ex}
   \item[tol\_norm]: (optional, default \ftncode{$10^{-15}$}) normalisation maximum error.
   \item[tol\_conv]: (optional, default \ftncode{$10^{-8}$}) convergence criterium (energy
     equivalent).
-  \item[iter0]: (optional, default \ftncode{0}) last iteration number of the previous
+  \item[iter0]: (optional, default \ftncode{0}) number of the last iteration of the previous
     run in case of a restart.
   \item[conv\_ener]: (optional, default \ftncode{.false.}) activate the convergence on
     energy in addition to vectors.
@@ -233,12 +278,17 @@ The required namelists  are the following ones \vspace*{-2.5ex}
         and in \file{fort.666})
     }
   \end{keywordlist}
-  Typical exemple.
+  Typical example.
   \begin{shell}
     &davidinp
     &end
   \end{shell}
 
+  \bigskip 
+  
+\item[PropInp]~: should be present for the \file{prefix.sass} and
+  \file{prefix.bdet} files (needed for the properties \program{prop} code) to
+  be printed. See the \program{PROP} input section.
 
 
 \end{description}
@@ -252,3 +302,4 @@ The required namelists  are the following ones \vspace*{-2.5ex}
 %%% mode: latex
 %%% TeX-master: "user_manual"
 %%% End:
+
diff --git a/doc/inputprop.tex b/doc/inputprop.tex
index a867992d6b5bbbf8eb3c7a292e10e072193c5e56..a5ee33db451778e3e35c2cb80fb45f34f6cff963 100644
--- a/doc/inputprop.tex
+++ b/doc/inputprop.tex
@@ -1,10 +1,10 @@
-The \program{\prop} computes properties from the wave functions issued from the
+The \program{\prop} code computes properties from the wave functions issued from the
 \program{\sass} code.
 
 It always prints out the projection of the \program{\sass} wave functions on
-the CAS.
+the reference determinants.
 
-This is presently the only property implemented. 
+%This is presently the only property implemented. 
 
 \subsection{Input files}
 The files required by the \program{\prop} code are the following. 
@@ -28,7 +28,7 @@ The files generated  by the code are
 \subsection{The \file{INPUT} File }
 
 This file is divided in several Fortran namelists. The same namelists as for
-the \program{\sass} calculation and an additinal namelist specific for properties
+the \program{\sass} calculation and an additional namelist specific for properties
 calculations. 
 
 \begin{description} \itemsep 3ex
@@ -70,7 +70,7 @@ calculations.
     on the Ref1 space \\
     \keyword{lcoef}:   printing of the  \program{\sass} wave functions
     coefficients larger than 0.05. \\
-    \keyword{dens2}: two-particules density matrix calculation.
+    \keyword{dens2}: two-particles density matrix calculation.
     }
 
   \item[seuilcoef]: threshold on the coefficients 
diff --git a/doc/perf.tex b/doc/perf.tex
index 1201c05435182685e1a2635dff1ca21b8da016f0..00e7aaec2ef6b80286e89b8fc929377f1673feb5 100644
--- a/doc/perf.tex
+++ b/doc/perf.tex
@@ -7,19 +7,19 @@ $D_{\text{Nel}}^{\text{Nexc}}$, where \verb|Nel| is the number of additional
 electrons in the active part with respect to the {\sc Ref0} configurations,
 and \verb|Nexc| is the number of additional excitations outside of the active
 space.  The \program{\sass} code has both MPI and OpenMP parallelization
-driven both by integral and determinant blocks. The MPI parallelisation is
-done on the pair integral-kind~/~determinant-block.  When the determinant
-blocks are very large, it is possible to divide the calculation into smaller
+driven both by integral, determinant blocks and spin cases. The MPI parallelization is
+done on the pair integral-kind~/~determinant-block/spin-case.  When the determinant
+blocks/spin-cases are very large, it is possible to divide the calculation into smaller
 MPI parts by batching the determinants. However, the gain is not systematic as
 the integrals are read from disk for each MPI process and the overhead can be
 large.
 
 
-Within each MPI process an OpenMP parallelisation is done on the outer particle or
+Within each MPI process an OpenMP parallelization is done on the outer particle or
 hole loop.
 
 For an optimal use of the code the user should adjust the number of MPI
-precesses, OpenMP threads and the size of the batches according to her/his
+processes, OpenMP threads and the size of the batches according to her/his
 problem and computer system. In order to guide the user for such choices we provide below
 performance testing for the most typical cases. These data are taken from ref.~\cite{p:relaxse}.
 
diff --git a/doc/user_manual.pdf b/doc/user_manual.pdf
index dbcfdc2ec8dd7a6d5118ad2c46a3fe8750a5f1ed..2664af6c29fa0408195291c027e94a14bd9ec060 100644
Binary files a/doc/user_manual.pdf and b/doc/user_manual.pdf differ
diff --git a/src/RelaxSE.F90 b/src/RelaxSE.F90
index cefd77e3ef91b93906be4321fbd2398b7a82b194..9233ba45f072a7371cc1d35dd193b4d3148edd97 100644
--- a/src/RelaxSE.F90
+++ b/src/RelaxSE.F90
@@ -82,8 +82,8 @@ Program RelaxSE
 
   real(kd_dble) :: hij_test
 
-  Integer (KIND=kd_int) :: nvec_restart, nd00
-  Integer (KIND=kd_int) :: i, j, idet, jdet
+  Integer (KIND=kd_int) :: nvec_restart, nvec_gen, nd00
+  Integer (KIND=kd_int) :: i,  idet, jdet, ivec
   real(kd_dble) :: tstart, tend, t1, t2, wstart, wend, wstart1, wend1
 
   CHARACTER(LEN=8)     :: date      ! returned values from DATE_AND_TIME()
@@ -163,12 +163,16 @@ Program RelaxSE
   if (prog_info%id_cpu.eq.0) then
      if (prog_info%methodAct.eq.'cas') then
         write(f_output,*)
+        write(f_output,*) ("--", i=1,50)
         write(f_output,*)">>> Ref0 = CAS"
+        write(f_output,*)
      else
         write(f_output,*)
+        write(f_output,*) ("--", i=1,50)
         write(f_output,*)">>> Reading Ref0"
         write(f_output,'(a25,":",i4)') "  Nb of read ref0       ",&
              det_info%nref0
+        write(f_output,*)
      end if
   end if
 
@@ -186,11 +190,11 @@ Program RelaxSE
 
   
   call detact_all_init(r, nb_rlist)  
-  if (prog_info%id_cpu.eq.0) then
-     write(f_output,*)
-     write(f_output,*)">>> Generation of all determinants"
-     flush(f_output)
-  endif
+  ! if (prog_info%id_cpu.eq.0) then
+  !    write(f_output,*)
+  !    write(f_output,*)">>> Generation of all determinants"
+  !    flush(f_output)
+  ! endif
   call gettime(t1,wstart1)
   ! Calcul des conf de spin des ref0
   call generspin_ref0(ref0, vecref0, r, o_info, det_info, v_info, prog_info)
@@ -243,7 +247,9 @@ Program RelaxSE
   ! Lecture des integrales
   if (prog_info%id_cpu.eq.0) then
      write(f_output,*)
-     write(f_output,*)">>> Lecture des integrales TraOne et TraInt"
+     write(f_output,*) ("--", i=1,50)
+     write(f_output,*)">>> Reading integral files TraOne and TraInt"
+     write(f_output,*) ("--", i=1,50)
      flush(f_output)
   endif
   call gettime(t1,wstart1)
@@ -265,7 +271,9 @@ Program RelaxSE
   !where o runs on both the occ and ligo
   if (prog_info%id_cpu.eq.0) then
      write(f_output,*)
+     write(f_output,*) ("--", i=1,50)
      write(f_output,*)">>> Construction of the Fock matrix"
+     write(f_output,*) ("--", i=1,50)
   endif
 
   call gettime(t1,wstart1)
@@ -359,23 +367,45 @@ Program RelaxSE
           int_info, v_info%sz, prog_info) 
      nd00 = d%detblock(1)%p%ndet 
      call diag_h0(h0, psi_0_guess, nd00, ener_info, v_info%nvec, prog_info)   
-     
      if (prog_info%id_cpu.eq.0) then
         call gettime(t2,wend1)
         write(f_output,*) '>>> H0 diagonalised in',t2-t1,'second(s)'
         flush(f_output)
      endif
      deallocate(h0)
+
   else
+     
+     if (prog_info%id_cpu.eq.0) then
+        write(f_output,*)
+        write(f_output,*) ("--", i=1,50)
+        write(f_output,*) '>>> Guess vectors from restart file'
+        write(f_output,*) ("--", i=1,50)
+     end if
      r0 => rspin%l(1)%p
      call lect_guess(psi_0_guess, det_info%ndet, v_info%nvec, nvec_restart, &
-          bdav_info%iter0, ener_info%potnuc, ener_info%Ecoeur)
-     if (nvec_restart.lt.v_info%nvec) &
-          call complement_guess(psi_0_guess, det_info%ndet, v_info%nvec, nvec_restart, r0, d, &
-          fock, hdiag, g_info, o_info, ord_info, int_info, v_info%sz, ener_info, prog_info)
+          nvec_gen, bdav_info%iter0, ener_info,  v_info, prog_info)
+     if (nvec_gen.ne.0) &
+          call complement_guess(psi_0_guess, det_info%ndet, v_info%nvec, nvec_restart, nvec_gen, &
+          r0, d, fock, hdiag, g_info, o_info, ord_info, int_info, v_info%sz, &
+          ener_info, prog_info, bdav_info)
+     ! sauvegarde dans f_restart
+     
+     if (prog_info%id_cpu.eq.0) then 
+        rewind(f_restart)
+        write(f_restart) v_info%nvec, det_info%ndet, v_info%nconv, bdav_info%iter0
+        write(f_restart) ener_info%Ecoeur,ener_info%PotNuc
+        write(f_restart) (ener_info%ener(ivec), ivec =1,v_info%nvec)
+        do ivec = 1,v_info%nvec
+           write(f_restart) (psi_0_guess(idet,ivec),idet=1,det_info%ndet)
+        end do
+        flush(f_restart)
+        rewind(f_restart)
+     end if
   end if
 
 
+
   if (prog_info%id_cpu.eq.0) then
      write(f_output,*)
      write(f_output,*) ("--", i=1,50)
diff --git a/src/RelaxSE_diag.F90 b/src/RelaxSE_diag.F90
index e6d5154bbc00a0878602e6ec26ba060cc5c7a95f..20c6a84b75e2be41d5c7ca42022b583e4408d914 100644
--- a/src/RelaxSE_diag.F90
+++ b/src/RelaxSE_diag.F90
@@ -39,6 +39,7 @@ module SASS_diag
   use utils_wrt
   use utils_ortho
   use utils_intcase
+  use utils_char
   use typetargetvec
   use compute_hv
   use sort
@@ -117,6 +118,7 @@ contains
     
     integer :: ivec, jvec, kvec, iter, ish, jsh, i, j
     integer :: ncol, icol, jcol, idet
+    Integer :: n
 
     integer :: nguess
     integer :: iconv, nbre_col
@@ -134,7 +136,15 @@ contains
     real(kd_dble), dimension(:,:), allocatable :: Vm_tmp, Wm_tmp
 
     debugdav = bdav_info%debug_dav
-    open(666)
+    if (debugdav) then
+       if (prog_info%id_cpu.eq.0) then       
+          write(f_output,*)
+          write(f_output,*)">>>>> Debug_dav on <<<<<<<"
+          write(f_output,*)
+       end if
+       call noblancs(prog_info%prefix,n)
+       open(fdav,file=prog_info%prefix(1:n)//".debug",form="formatted")
+    end if
     open(667)
     
     ngel     = o_info%ngel
@@ -145,7 +155,7 @@ contains
     nvirt    = o_info%nvirt
     nd00     = det%detblock(1)%p%ndet
     sz       = v_info%sz
-    nvectot  = v_info%nvec
+    nvectot  = v_info%nvec !total nb of vectors to be computed (from INPUT)
     Sizeheff = bdav_info%Sizeheff
     NitDavid = bdav_info%NitDavid
     tol_orth = bdav_info%tol_orth 
@@ -195,23 +205,20 @@ contains
 
     if (prog_info%id_cpu.eq.0) then
        write(f_output,*)
-       write(f_output,*)&
-            "================================================================="
-       write(f_output,*) ">>> Davidson Diagonalisation with low memory"
+       write(f_output,*) ">>> Davidson Diagonalisation" ! with low memory"
        write(f_output,'(A,I0,A,ES8.1)') "   Search for ",nvectot,&
             " vectors with a convergence threshold of ",sqrt(tol_conv)
        write(f_output,*)
        call gettime(t1,ostart)
        write(f_output,'(A,F12.4,A)') 'Total Elapsed tWall ', ostart-prog_info%wstart,'s'
-
        write(f_output, '(A,I0,A)') 'Particles are divided in batches of ', sizebatch
+       write(f_output,*)&
+            "================================================================="
     endif
 
     if (debugdav) then 
        write(fdav,*) "Guess vectors"
-       do idet = 1, nd00
-          write(fdav,*) (psi_0_guess(idet,ivec), ivec = 1,nvectot)
-       enddo
+       call wrt_vect(fdav,nd00,ndet,nvectot,psi_0_guess)
        write(fdav,*)
     end if
 
@@ -226,14 +233,15 @@ contains
     ! aux nvectot vecteurs d'essai donnés  sur les nd00 premiers déterminants
     if (prog_info%restart) then
        nguess = ndet
+       iter0 = iter0-1
     else
        nguess = nd00
     endif
     Vm(1:nguess,1:nvectot,1)     = psi_0_guess(1:nguess,1:nvectot)
     psi_SASS(1:nguess,1:nvectot) = psi_0_guess(1:nguess,1:nvectot) 
 
-!!$ Orthogonormalite des vecteurs d'essai
-    call orthonorm(Vm(1,1,1),ndet,nvectot,tol_orth,tol_norm,.false.,prog_info)
+!!$ Orthogonormalite des vecteurs d'essai 
+    if (.not.prog_info%restart) call orthonorm(Vm(1,1,1),ndet,nvectot,tol_orth,tol_norm,.false.,prog_info)
     
   
 !!$ Davidson iterations ------------------------------------------------
@@ -255,10 +263,27 @@ contains
     etmp(:)     = 0.d0   ! energies temporaires   
     vconv(:)    = 0
 
-    nconv = 0
+    nconv = 0 !nb of converged vectors
     ncol  = 1
-    nvec  = nvectot
-
+    nvec  = nvectot !nb of vectors still to be converged
+    ! si restart on met les initialisations specifiques
+    if (prog_info%restart) then 
+       nconv = v_info%nconv !nb of converged vectors from the restart file
+       ener(:) = ener_info%ener(:)
+       if (nconv.ge.nvectot) then
+          if (prog_info%id_cpu.eq.0) then
+             write(f_output,'(" Number of converged vectors ",i4,&
+                  " equal to number of required vectors",i4," No diagonalisation needed." )') nconv, nvectot
+             call SASS_quit('>>> No need to diagonalise', f_output)
+          end if
+       end if
+       if (nconv.ne.0) then
+          nvec = nvectot - nconv
+          Vm(:,:,:) = 0.d0
+          Vm(1:ndet,1:nvec,1) = psi_SASS(1:ndet, 1+nconv:nvec+nconv)
+       end if
+    end if
+    
     !Fock and Integrals
     call intkind_H_all_init(intkindlist, int_info)
        
@@ -268,6 +293,7 @@ contains
        write(f_output,'(X,A6,X,A12,X,A12,X,A12,2X,A)') &
             '#Iter', 'tallCPU (s)', 'tCPU0 (s)', 'tWall0 (s)', "Energies"
        write(*,*) '#tCPU (s) : tWall (s) : tCPU/tWall : intkind : DblockI : DblockJ : spin'
+       write(*,*) 
 #else
        write(f_output,'(X,A6,X,A12,X,A12,2X,A)') '#Iter', 'tCPU (s)', 'tWall (s)', "Energies"
        write(667,*) '#tCPU (s) : tWall (s) : tCPU/tWall : intkind : DblockI : DblockJ : spin'
@@ -279,11 +305,15 @@ contains
     !----------------------------------------------------------------------------------------------
     daviter: do iter = 1, NitDavid !---------------------------------------------------------------
 
+       !call recouvrement(Vm(1,1,1), psi_SASS(1,1), ndet,nvec,nconv, f_output, "Vm avant David"," psi_SASS")
        call david_iter_mem(H_dav, ener, ener_np1, deltaE, vect, psi_SASS, &
             Vm, Wm, Dimheff, ncol, fock, hdiag, rspin, &
             det, o_info, int_info, v_info, prog_info, nelact, ndet, nvec, nconv, &
             hcase_info, pcase_info, bdav_info, ener_info, Hmat, intkindlist, mpilist, iter)
-
+       
+       !call recouvrement(Vm(1,1,1), psi_SASS(1,1), ndet,nvec,nconv, f_output, "Vm apres David"," psi_SASS")
+       !call recouvrement(Wm(1,1,1), psi_SASS(1,1), ndet,nvec,nconv, f_output, "Wm apres David"," psi_SASS")
+       
        if (prog_info%iprintHmat .gt. 0) goto 902      
           
        ! On teste la convergence sur les energies
@@ -311,7 +341,7 @@ contains
        ! On met à jour Ener
        Ener(1+nconv:nvectot) = Ener_np1(1:nvec)
 
-       ! Sauvegarde des vecteurs pour restart 
+       ! Sauvegarde des vecteurs pour restart
        rewind(f_restart)
        write(f_restart) nvectot,ndet,nconv, iter+iter0
        write(f_restart) Ecoeur,PotNuc
@@ -320,6 +350,14 @@ contains
           write(f_restart) (psi_SASS(idet,ivec),idet=1,ndet)
        end do
        flush(f_restart)
+            
+       !---  debug
+       if (debugdav) then
+          write(fdav,*) "psi_SASS - Iter =", iter
+          call wrt_vect(f_output,20,ndet,nvectot,psi_SASS)
+          write(fdav,*)
+       end if
+       !--- fin debug
 
        ! Si a on atteint Sizeheff alors on contracte tout sur les premiers vecteurs
        !  (une colonne)
@@ -358,12 +396,12 @@ contains
        end do
        write(f_Wm) Wm(:,:,1)
        flush(f_Wm)
-       write(f_output,*) "debug: je sauve les vecteurs de la colonne:",ncol
+       !write(f_output,*) "debug: je sauve les vecteurs de la colonne:",ncol
        flush(f_output)
        
        ! Puis  Calcul du nouveau vecteur de correction : (HV-EV)/(Ej-Hii) -> Vm(ncol+1)
        ncol = ncol + 1
-       if (debugdav) then 
+       if (debugdav .and. prog_info%id_cpu .eq. 0) then
           write(fdav,*) " vecteurs HV de l'iteration :", iter+iter0
           call wrtmat(Wm, ndet, min(10,ndet), nvec*ncol, fdav)
           write(fdav,*)
@@ -579,7 +617,7 @@ contains
     Ener_np1(:)  = 0.d0
     !if (.not.debugmat) then
 #ifdef VAR_MPI
-    if ((prog_info%id_cpu.eq.0).and.(prog_info%iprint.gt.0)) then
+    if ((prog_info%id_cpu.eq.0).and.(prog_info%iprint.gt.1)) then
        write(*,*) ''
        write(*,*) '>>>> Compute error'
        write(*,*) ''
@@ -753,7 +791,7 @@ contains
     close(f_mat)
     close(f_mat2)
     close(f_bmat)
-    close(666)
+    if (debugdav) close(fdav)
     close(667)
     close(f_Vm,status="delete")
     close(f_Wm,status="delete")
@@ -873,7 +911,7 @@ contains
 
 
 #ifdef VAR_MPI
-    if ((prog_info%id_cpu.eq.0).and.(prog_info%iprint.gt.0)) then
+    if ((prog_info%id_cpu.eq.0).and.(prog_info%iprint.gt.1)) then
        write(*,*) ''
        write(*,*) '>>>> Iteration', iter
        write(*,*) ''
@@ -930,6 +968,10 @@ contains
     endif
 #endif
 
+    ! Correction du defaut d'orthogonalisation de W avec vecteurs converges pour cause d'erreurs numeriques 
+    call orthog_Schmidt(Wm(1,1,1),psi_SASS(1,1),ndet,nvec,nconv,bdav_info%tol_orth)
+
+    
     ! Calcul de l'Hamiltonien effectif  H_dav
     ! bloc iteration iter -> <Vm(ivec,ncol)|H|Vm(jvec,ncol)> 
     nsh = (ncol-1)*nvec
@@ -967,7 +1009,7 @@ contains
     endif
 
     ! si iter=1 ecrire l'énergie des vecteurs d'essais
-    if (iter.eq.1) then
+    if (iter+iter0.eq.1) then
        do ivec = 1, nvec
           ener(ivec) = H_dav(ivec,ivec)
        end do
@@ -1018,6 +1060,7 @@ contains
        if (prog_info%id_cpu .eq. 0) &
             write(fdav,*) ">>> vecteurs vect de l'iteration :", iter + iter0
        call wrtmat(Vect,Dimheff,nvec*ncol,nvec*ncol, fdav)
+       write(fdav,*) 
     end if
 
 
@@ -1068,6 +1111,9 @@ contains
        end do
     end do
     deallocate(Vecttmp)
+!    call orthog_Schmidt(psi_SASS(1,1+nconv),psi_SASS(1,1),ndet,nvec,nconv,bdav_info%tol_orth)
+!    call orthonorm(psi_SASS(1,1+nconv),ndet,nvec,bdav_info%tol_orth,bdav_info%tol_norm,.true.,prog_info, f_output)
+
     
     if (debugdav) then 
        write(fdav,*) " vecteurs psi_SASS  de l'iteration :", iter+iter0, &
@@ -1382,7 +1428,7 @@ contains
 1000 continue
     
     if ((prog_info%id_cpu .eq. 0).and. (prog_info%iprint .ge. 0))  then
-       write(*,*) 'Final Sum Wall time on the dfifferent CPUs'
+       write(*,*) 'Final Sum Wall time on the different CPUs'
        write(*,*) sum_wall(:)
     endif
     
diff --git a/src/compute_hv.F90 b/src/compute_hv.F90
index 32c2bbc3fdbcd48802f5247cd8dd237ba8886478..7cf1fb50da83de8f0f43387fb32198be25873892 100644
--- a/src/compute_hv.F90
+++ b/src/compute_hv.F90
@@ -277,7 +277,7 @@ contains
     cputime(i) = t2-t1
     wtime(i) = wt2-wt1
     
-    if (prog_info%iprint.gt.0) then
+    if (prog_info%iprint.gt.1) then
 
        if ((wt2-wt1) .gt. 1d-12) then
           write(*,'(3(F12.4,A),2A,I3,5(A,I3),A,I4,A,I3,A, F12.4)') &
@@ -347,7 +347,7 @@ contains
 
 #ifdef VAR_MPI    
     mem = prog_info%mem_reduction
-    write(*,*) 'mem', mem
+    !write(*,*) 'mem', mem
     read_time = 0.d0
     
     DblockI => det%detblock(indxI)%p
diff --git a/src/def_files.F90 b/src/def_files.F90
index b30dc4543787e8b37e7af926d3c5bccd5f28c7ac..d36085c911d50ca126a13b1cda0a67377e271651 100644
--- a/src/def_files.F90
+++ b/src/def_files.F90
@@ -46,6 +46,7 @@ subroutine def_files(prog_info)
   Character*2 :: file_input
   Character*3 :: file_output, file_det, file_mat
   Character*4 :: file_fock,  file_bmat, file_ref0, file_mat2, file_bdet, file_info
+  Character*5 :: file_guess
   Character*6 :: file_traone, file_traint
   Character*7 :: file_restart
   Character*40 :: blan40
@@ -57,6 +58,7 @@ subroutine def_files(prog_info)
 
   logical :: lexist_mat
   Character*40 :: filename_mat
+  Integer :: i
 !!$============================================================
 !!$ -------- Code ---------------------------------------------
 !!$-----
@@ -80,6 +82,8 @@ subroutine def_files(prog_info)
   file_bdet   = "bdet"
   
   file_restart= "restart" ! infos pour restart de la procedure de Davidson
+  file_guess  = "guess"   ! fichier restart utilisé du precedent calcul pour le
+                          !   restart de la procedure de Davidson
   
   file_bmat   = "bmat" !Hamiltonian matrix in binary format
   file_mat    = "mat" !Hamiltonian matrix
@@ -138,10 +142,13 @@ subroutine def_files(prog_info)
      write(f_output,*) 'Calculation started on ', date(7:8),'-',date(5:6),&
           '-',date(1:4), ' at ', time(1:2),':',time(3:4)
      write(f_output,*)
-
+     write(f_output,*) ("--", i=1,50)
+     
      write(f_output,'(X,2A)') '>>> Method ',prog_info%method
-
-     write(f_output,*) ">>> Ouverture des fichiers"
+     if (prog_info%restart) write(f_output,'(X,2A)') '>>> Restart'
+     write(f_output,*) ("--", i=1,50)
+     
+     write(f_output,*) ">>> Files opening"
      write(f_output,9001) file_output, prog_info%prefix(1:n)//"."//file_output
   endif
 
@@ -161,6 +168,17 @@ subroutine def_files(prog_info)
      open (f_restart,file=prog_info%prefix(1:n)//"."//file_restart,&
           form="unformatted")
 
+      if (prog_info%restart) then
+         write(filename_mat,'(3A)') prog_info%prefix(1:n),".",file_guess
+         inquire(file=filename_mat, exist=lexist_mat)
+         if (.not. lexist_mat) then
+            call SASS_quit('restart requires in .guess file in input',f_output)
+         else
+            open (f_guess,file=prog_info%prefix(1:n)//"."//file_guess,&
+            form="unformatted")
+         endif
+     endif
+         
      if (prog_info%lreadHmat) then
         write(filename_mat,'(3A)') prog_info%prefix(1:n),".",file_mat
         inquire(file=filename_mat, exist=lexist_mat)
@@ -195,11 +213,13 @@ subroutine def_files(prog_info)
      open (f_bdet,file=file_bdet,form="unformatted")
      open (f_info,file=file_info,form="unformatted")
      open (f_restart,file=file_restart,form="unformatted")
+     open (f_guess,file=file_guess,form="unformatted")
      
      open (f_mat,file=file_mat,form="formatted")
      open (f_mat2,file=file_mat2,form="formatted")
      open (f_bmat,file=file_bmat,form="unformatted")
 
+
      if (prog_info%id_cpu.eq.0) then
         if (prog_info%iprint .gt. 1) then
            write(f_output,9001) file_fock, file_fock
diff --git a/src/files.F90 b/src/files.F90
index 316bb75aa1504ceaccb1eaefee8075c5f213200c..d3d7ef0ca6fda461f137afec9b6c8ec84494dad4 100644
--- a/src/files.F90
+++ b/src/files.F90
@@ -36,12 +36,14 @@ Module files
 !!$   En entree
 !!$ f_input  : fichier de donnees
 !!$ f_ref0   : liste des det de ref0
+!!$ f_guess  : f_restart d'un precedent calcul pour restart
 !!$   En sortie
 !!$ f_output : fichier de sortie
 !!$ f_det    : tous les determinants en clair
 !!$ f_bdet   : tous les determinants en binaire
 !!$ f_info   : variables globales x_info
 !!$ f_dens   : matrice densite
+!!$ f_restart: vecteurs a la dernire iteration pour restart 
 
 !!$   Autres
 !!$ f_hcore  : Hcore (a voir si vraiment nécessaire)
@@ -55,7 +57,7 @@ Module files
 !!$ -----------------------------------------------------------
   integer, parameter :: f_input=1, f_output=7, f_ref0=8, f_det=9, f_bdet=39
   integer, parameter :: f_fock=10
-  integer, parameter :: f_info=24, f_dens=25, f_restart = 15 
+  integer, parameter :: f_info=24, f_dens=25, f_restart = 15, f_guess = 12 
   integer, parameter :: f_gen=14,  f_gen0=16, f_gen_mem=17, f_gen0_mem=18
   integer, parameter :: f_tone=31, f_tint=32, f_mat=33, f_bmat=34, f_mat2=35
   integer, parameter :: f_Vm=80, f_Wm=81
diff --git a/src/gener_guess.F90 b/src/gener_guess.F90
index 68caac8044ef25f8bd29b7a5f0cd91175fda62b6..1990a671a53c4a38e8c9f4743f3266eb5ebcb158 100644
--- a/src/gener_guess.F90
+++ b/src/gener_guess.F90
@@ -960,12 +960,12 @@ contains
     
     real(kd_dble), dimension(:,:), allocatable, intent(in)    :: h0
     real(kd_dble), dimension(:,:), allocatable, intent(inout) :: phi_0_guess
-    type(ener_infotype), intent(in)                        :: ener_info 
+    type(ener_infotype),                        intent(inout) :: ener_info 
     integer, intent(in)                                    :: nd00, nvec
     type(prog_infotype), intent(in)                        :: prog_info
 
     logical :: debug = .false.
-    integer :: info, i
+    integer :: info, i,j
     real(kd_dble), allocatable, dimension(:,:) :: vec
     real(kd_dble), allocatable, dimension(:)   :: e
     real(kd_dble) :: e0
@@ -983,20 +983,26 @@ contains
     allocate(e(nd00))
 
     call diag(h0, e, vec, nd00, prog_info%idiag, f_output, info)
-   
+
     if (debug) then
        write(f_output,*)
        write(f_output,*) 'Eigenvalues of the D00-D00 Matrix'
        do i = 1,nd00 
           write(f_output,'(2X,I0,X,F22.16)') i, e0 + e(i)
        enddo
-
-       
+       write(f_output,*)
+       write(f_output,*) 'Eigenvectors of the D00-D00 Matrix'
+       do i=1,nd00
+          do j=1,nvec
+             write(f_output,'(2X,F22.16)',advance='no')  vec(i,j)
+          end do
+          write(f_output,*)
+       end do
        flush(f_output)
     endif
 
-    phi_0_guess = vec(:, 1:nvec)
-
+    phi_0_guess(:,1:nvec)  = vec(:, 1:nvec)
+    ener_info%ener(1:nvec) = e(1:nvec)
     
     deallocate(vec)
     deallocate(e)
@@ -1006,177 +1012,376 @@ contains
   !$====================================================================
   !> @brief Read the guess from the file f_restart
   !> @author MBL
-  !> @date Feb.  2019
+  !> @date Feb. 2019/ Dec; 2024
   !
   !> @param[allocated] psi_0_guess : guess vectors
-  !> @param[in] n : Nb of determinants
+  !> @param[in] ndetcode : Nb of determinants computed in the code
   !> @param[in] nvec : Number of target states in the code
-  !> @param[out] nvectot : Number of target states read from the restart file
-  !!     If nvec > nvectot read from restart file
-  !!        nvec - nvectot new guess vectors  generated
-  !> @param[in] pot : Nuclear potential read from molcas file
-  !!     to be compared with the value read from the restart file
-  !> @param[in] Ec : Core energy read from molcas file
+  !> @param[out] nveclus : Number of states read from the restart file
+  !> @param[out] nconv : Number of converged vectors read from the restart file
+  !> @param[out] ngen : Number of guess vectors to be generated 
+  !> @param[in] ener_info : Nuclear potential & Core energy  read from molcas file
   !!     to be compared with the value read from the restart file
   !$==================================================================== 
-subroutine  lect_guess(psi_0_guess, n, nvec, nvectot, iter, pot, Ec)
-  Real*8, parameter :: seuil = 1.d-12 
-  real(kd_dble), allocatable :: psi_0_guess(:,:)
-  Real (KIND=kd_dble), intent(in) :: Ec
-  Real*8, intent(in) :: pot
-  integer, intent(in) :: n, nvec
-  Integer, intent(inout) :: iter
-  Real*8 ::  Ecoeur,PotNuc
-  Real(kd_dble), dimension(nvec) :: ener
-  Integer ::  nvectot,ndet,nconv, ivec, idet, nveclus
+  subroutine  lect_guess(psi_0_guess, ndetcode, nvec, nveclus, ngen, iter, ener_info, v_info, prog_info)
+    use utils_char
+    Real*8, parameter :: seuil = 1.d-12 
+    real(kd_dble), dimension(:,:), allocatable, intent(out) :: psi_0_guess(:,:)
+    integer,             intent(in) :: ndetcode, nvec
+    Integer,          intent(inout) :: iter 
+    Integer,            intent(out) :: nveclus, ngen 
+    type(ener_infotype), intent(inout) :: ener_info
+    type(v_infotype),    intent(inout) :: v_info
+    type(prog_infotype), intent(in)            :: prog_info
+    
+    Character*5 :: file_guess
+
+    Real(kd_dble), dimension(:,:), allocatable  :: tmp_guess
+    Real(kd_dble), dimension(:), allocatable  :: ener
+    Real(kd_dble) ::  Ecoeur,PotNuc
+    Integer ::  ndet, nconv, ivec, idet, my_iostat, i, n
+    Character(len=256) :: my_iomsg
+    Logical :: debugl=.false.
+#ifdef VAR_MPI
+    integer :: info
+#endif
+    
+    if (prog_info%id_cpu.eq.0) then 
+       write(f_output,*)
+       if (debugl) write(f_output,*) ">>> Debug : Guess vectors read from file"
+    end if
 
-  write(f_output,*)
-  write(f_output,*) " Guess vectors read from file"
+! !!$--- Lecture des infos sur f_guess (chaque proc a son propre pointeur)
+
+    rewind(f_guess)
+    read(f_guess,iostat=my_iostat, iomsg=my_iomsg) nveclus,ndet,nconv, iter
+    read(f_guess,iostat=my_iostat, iomsg=my_iomsg) Ecoeur,PotNuc
+    
+    allocate (ener(nveclus))
+    read(f_guess) (ener(ivec), ivec =1,nveclus)
+
+    allocate(tmp_guess(ndet,nveclus))
+    tmp_guess(:,:)   = 0.d0
+    do ivec = 1,nveclus
+       my_iomsg=' '
+       read(f_guess,iostat=my_iostat, iomsg=my_iomsg) (tmp_guess(idet,ivec),idet=1,ndet)
+       ! if (prog_info%id_cpu.eq.0) then
+       !    select case (my_iostat)
+       !    case (0) 
+       !       write(f_output,'(2x,"Vector ",i3," has been sucessfully read")') ivec
+       !       if (debugl) write(f_output,'("ivec=",i3," iostat=",i3,2x,"iomsg=",a120)') &
+       !            ivec,  my_iostat, my_iomsg
+       !    case default
+       !       write(f_output,'("ivec=",i3," iostat=",i3,2x,"iomsg=",a120)') &
+       !            ivec,  my_iostat, my_iomsg
+       !    end select
+       !    flush(f_output)
+       ! end if
+    end do
+
+    ! fermeture fichier
+    close (f_guess)
+    
+!!$ Ecritures
+    if (prog_info%id_cpu.eq.0) then
+       write(f_output,9001) nveclus,ndet,nconv, iter
+       write(f_output,9002) Ecoeur,PotNuc
+       write(f_output,*)
+       ! write(f_output,9003)
+       ! write(f_output,9004) (ener(ivec), ivec =1,nveclus)
+       ! write(f_output,*)
+       write(f_output,*) " Vectors read "
+       call wrt_vect(f_output,10,ndet,nveclus, tmp_guess)
+       write(f_output,*)
+       flush(f_output)
+    end if
+
+
+    
+!!$--- Tests donnees code et guess identiques 
+    ! test egalite des nbre de det e
+    if (ndetcode.ne.ndet) then
+       if (prog_info%id_cpu.eq.0) then 
+          write(f_output,*)
+          write(f_output,'(1x," Number of determinants read from file: ",i4, &
+               " different from number of computed ones :",i4)') ndet, ndetcode
+          write(f_output,*)
+       end if
+       call SASS_quit(' Error in nb of determinants read from file', f_output)
+    end if
+
+    ! test egalite  Ecoeur,PotNuc & test egalite
+    if (abs(ener_info%potnuc-potnuc).ge.seuil) then
+       if (prog_info%id_cpu.eq.0) then 
+          write(f_output,*)
+          write(f_output,'(1x," Nuclear potential read from restart file: ",i4, &
+               " differs from read on molcas file :",i4)') potnuc, ener_info%potnuc
+          write(f_output,*)
+       end if
+       call SASS_quit(' Error in potnuc read from file', f_output)
+    end if
+    if (abs(ener_info%Ecoeur-Ecoeur).ge.seuil)  then
+       if (prog_info%id_cpu.eq.0) then
+          write(f_output,*)
+          write(f_output,'(" Core energy read from restart file: ",i4, &
+               " differs from read on molcas file :",i4)') Ecoeur, ener_info%Ecoeur
+          write(f_output,*)
+       end if
+       call SASS_quit('Error in Ecoeur read from file', f_output)
+    end if
+
+    
+!!$ Reste a calculer
+    ! cas ou on choisi dans les input le nombre de vecteurs converges
+    if (v_info%nconv.ne.-1) then  ! certains vecteurs sont supposes converges
+       if (nconv.gt.nveclus) then 
+          if (prog_info%id_cpu.eq.0) then
+             write(f_output,*) ' Error~: number of given converged vecteurs > number of read vectors'
+             flush(f_output)
+          end if
+          call SASS_quit(' nconv should be smaller than nvec from guess file',f_output)
+       end if
+       nconv = v_info%nconv
+    else
+       v_info%nconv = nconv
+    end if
+   
+    ! test du cas de convergence
+    ngen = 0
+    if (nvec.le.nconv) then
+       ! tous les vecteurs demandes sont converges
+       if (prog_info%id_cpu.eq.0) &
+            write(f_output,'(1x," All guess vectors read from file are converged.", &
+            " No need to work further.")' )
+       call SASS_quit(' All vectors converged. ', f_output)
+     
+    else if (nconv.lt.nvec  .and.  nconv.eq.nveclus) then
+       ! ts les vecteurs demandes ne sont pas converges
+       ! ts les vecteurs lus sont converges
+       ngen = nvec-nveclus
+       if (prog_info%id_cpu.eq.0) then 
+          write(f_output,'(1x," All vectors read from file are converged.")')
+          write(f_output,'(1x,i4," out of ",i4," required vectors are converged.")') &
+               nconv, nvec
+          write(f_output,'(1x,i4," extra guess vectors will be generated from H0=<D00|H|D00>")') &
+               ngen
+       end if
+     
+    else if (nconv.lt.nvec .and. nvec.le.nveclus) then
+       ! ts les vecteurs demandes ne sont pas converges
+       ! On a assez de vecteurs lus, pas besoin d'en generer 
+       if (prog_info%id_cpu.eq.0)&
+            write(f_output,'(1x,i4," out of ",i4," required vectors are converged.")') &
+            nconv, nvec
+       
+    else if (nconv.lt.nvec .and. nvec.gt.nveclus) then
+       ! ts les vecteurs demandes ne sont pas converges
+       ! certain ont des guess lus, pas les autres
+       ngen = nvec - nveclus
+       if (prog_info%id_cpu.eq.0) then 
+          write(f_output,'(1x,i4," out of ",i4," required vectors are converged.")') &
+               nconv, nvec
+          write(f_output,'(1x,i4," extra guess vectors will be generated from H0=<D00|H|D00>")') &
+               ngen
+       end if
+       
+    else
+       ! ne devrait pas exister
+       call SASS_quit(' Error ', f_output)
+    end if
+
+ 
+
+
+!!$--- On met les tableaux lus dans tableaux du code et on dealloue
+    n = min(nvec, nveclus)
+    ener_info%ener(1:n) = ener(1:n)
+    deallocate(ener)
+
+    allocate(psi_0_guess(ndet,nvec))
+    psi_0_guess(:,:) = 0.d0
+    psi_0_guess(1:ndet , 1:n) = tmp_guess(1:ndet , 1:n) 
+    deallocate(tmp_guess)
 
-  rewind (f_restart)
-  read(f_restart) nvectot,ndet,nconv, iter
-  nveclus = nvectot
-  
-  if (nvec.ne.nvectot) then
-     write(f_output,*)
-     write(f_output,'(" Number of guess vectors read from file: ",i4, &
-          " different from number of required ones :",i4)') nvectot, nvec
-     if (nvec.lt.nvectot) then
-        write(f_output,'(i4," last restart vectors will be discarted")') nvectot-nvec
-        nveclus = nvec
-     else if (nvec.gt.nvectot) then
-        write(f_output,'(i4," extra guess vectors will be generated from H0=<D00|H|D00>")') &
-             nvec-nvectot
-        ! nveclus = nvectot
-     end if
-     write(f_output,*)
-!     call generautres()
-     call SASS_quit('Error in guess vectors read from file', f_output)
-  end if
-  if (n.ne.ndet) then
-     write(f_output,*)
-     write(f_output,'(" Number of determinants read from file: ",i4, &
-          " different from number of computed ones :",i4)') ndet, n
-     write(f_output,*)
-     call SASS_quit('Error in nb of determinants read from file', f_output)
-  end if
-  
-  allocate(psi_0_guess(n,nvec))
-  psi_0_guess(:,:) = 0.d0
   
-  read(f_restart) Ecoeur,PotNuc
-  if (pot.ne.potnuc) then
-     write(f_output,*)
-     write(f_output,'(" Nuclear potential read from restart file: ",i4, &
-          " differs from read on molcas file :",i4)') potnuc, pot
-     write(f_output,*)
-     if (abs(potnuc-pot).ge.seuil) call SASS_quit('Error in potnuc read from file', f_output)
-  end if
-  if (Ec.ne.Ecoeur) then
-     write(f_output,*)
-     write(f_output,'(" Core energy read from restart file: ",i4, &
-          " differs from read on molcas file :",i4)') Ecoeur, Ec
-     write(f_output,*)
-     if (abs(Ecoeur-Ec).ge.seuil) call SASS_quit('Error in Ecoeur read from file', f_output)
-  end if
+!!$ sorties
+    if (prog_info%id_cpu.eq.0) then 
+       write(f_output,'(1x,i4," vectors read successfully from restart file")') min(nveclus,nvec)
+       write(f_output,*)
+       write(f_output,'(1x," Energies of vectors read from restart file")')
+       do ivec = 1, min(nconv,nvec)
+          write(f_output,9007) ivec, ener_info%ener(ivec),  &
+               ener_info%ener(ivec) + Ecoeur+Potnuc
+       end do
+       do ivec = nconv+1, min(nveclus,nvec)
+          write(f_output,9008) ivec, ener_info%ener(ivec),  &
+             ener_info%ener(ivec) + Ecoeur+Potnuc
+       end do
+    end if
+
+    if (debugl.and.prog_info%id_cpu.eq.0) write(f_output,*) "<<< Debug : Fin reading guess vectors from file"
 
-  read(f_restart) (ener(ivec), ivec =1,nveclus)
-  do ivec = 1,nveclus
-     read(f_restart) (psi_0_guess(idet,ivec),idet=1,ndet)
-  end do
   
+9001 format(2x,'nveclus =',i3,/, 2x,'ndet    =',i10,/, 2x,'nconv   =',i3,/,&
+            2x,'iter    =',i3,/)
+9002 format(2x,'Ecoeur  =',f20.10,/,  2x,'PotNuc  =',f20.10,/)
+9003 format(2x,'Ener    =')
+9004 format(2x,f20.15)
+9005 format(2x,'Vectors=')
+9006 format(2x,5(f20.15,2x))
+9007 format(2x,i10,2x,2(f22.15,2x)," converged")
+9008 format(2x,i10,2x,2(f22.15,2x)," not converged")
 end subroutine lect_guess
 
 
   !$====================================================================
   !> @brief Generate missing guess vectors not read from the file f_restart
   !> @author MBL
-  !> @date May  2019
+  !> @date Dec. 2024
   !
   !> @param[inout] psi_0_guess : guess vectors
-  !> @param[in] n : Nb of determinants
+  !> @param[in] ndet : Nb of determinants
   !> @param[in] nvec : Number of target states in the code
-  !> @param[in] nvectot : Number of target states read from the restart file
-  !!        nvec - nvectot new guess vectors  generated
+  !> @param[in] nveclus : Number of target states read from the restart file
+  !> @param[in] ngen : Number of guess vectors to be generated 
   !$==================================================================== 
-subroutine complement_guess(psi_0_guess, ndet, nvec, nvectot, r0,d, fock, hdiag, &
-     g_info, o_info, ord_info, int_info, sz, ener_info, prog_info)
+subroutine complement_guess(psi_0_guess, ndet, nvec, nveclus, ngen, &
+     r0,d, fock, hdiag, g_info, o_info,&
+     & ord_info, int_info, sz, ener_info, prog_info, bdav_info)
 !!$ -------- Donness globales ---------------------------------
   use info
+  use utils_ortho
 !!$ -------- Donnes locales -----------------------------------
   Implicit none 
   real(kd_dble), dimension(ndet,nvec), intent(inout) :: psi_0_guess(:,:)
-  Integer, intent(in)                        :: ndet, nvec, nvectot
-  type(spindetact_list), intent(in)          :: r0
-  type(deter_dblocklist), intent(in)         :: d
-  type(g_infotype), intent(in)               :: g_info
-  type(o_infotype), intent(in)               :: o_info
-  type(ord_infotype), intent(in)             :: ord_info
-  type(int_infotype), intent(in)             :: int_info
-  integer, intent(in)                        :: sz
-  type(ener_infotype), intent(in)            :: ener_info
+  Integer,                        intent(in) :: ndet, nvec,  ngen 
+  type(spindetact_list),          intent(in) :: r0
+  type(deter_dblocklist),         intent(in) :: d
+  type(g_infotype),               intent(in) :: g_info
+  type(o_infotype),               intent(in) :: o_info
+  type(ord_infotype),             intent(in) :: ord_info
+  type(int_infotype),             intent(in) :: int_info
+  type(prog_infotype),            intent(in) :: prog_info
+  type(david_infotype),           intent(in) :: bdav_info
+  integer,                        intent(in) :: sz
+  type(ener_infotype),         intent(inout) :: ener_info
+  Integer,                     intent(inout) :: nveclus
+
+  type(ener_infotype) :: tmp_ener
   Real(KIND=kd_dble), dimension(:,:), allocatable :: fock
   Real(kd_dble), dimension(:), allocatable        :: hdiag
-  type(prog_infotype), intent(in)               :: prog_info
 
+!  Real(kd_dble), dimension(nvec) :: ener
   type(deter_dblock), pointer :: d00
   Real(KIND=kd_dble), dimension(:,:), allocatable ::  h0
   real(kd_dble), dimension(:,:), allocatable :: vect
-  Integer, dimension(nvectot) :: vguess
+  Integer, dimension(nveclus) :: vguess
   Logical, dimension(nvec) :: libre
-  Integer :: ngen, nd00
+  Integer :: nd00
   Integer :: ivec, jvec, i, igen, indx
   Real(KIND=kd_dble) :: tmp, tmpmax
-
+  Logical :: debugl=.false.
+  
   ! check
-  if (nvec.le.nvectot) return
+  if (nvec.le.nveclus) return
 
+  write(f_output,*)
+  write(f_output,*) ">>> Generation of extra guess vectors from  H0=<D00|H|D00>"
+  
   ! initialisations
-  ngen = nvec - nvectot
+  nveclus = min(nvec,nveclus)
   vguess(:) = 0
   libre(:)   = .true.
   nd00 = d%detblock(1)%p%ndet
+  if (nvec.gt.nd00) call SASS_quit('  >>> NVec too large', f_output)
+  !ener(1:nveclus) = ener_info%ener(1:nveclus)
+  tmp_ener%potnuc = ener_info%potnuc
+  tmp_ener%Ecoeur = ener_info%Ecoeur
+  allocate(tmp_ener%ener(nvec))
   
   ! compute guess from DOO block
+  !write(f_output,*) " Entree dans compute_h0"
   call compute_h0(h0, r0, d, fock, hdiag, g_info, o_info, ord_info, &
        int_info, sz, prog_info)
-  call diag_h0(h0, vect, nd00, ener_info, nvec, prog_info)
+  !write(f_output,*) " Entree dans diag_h0"
+  call diag_h0(h0, vect, nd00, tmp_ener, nvec, prog_info)
   deallocate(h0)
 
+  if (debugl) then
+     write(f_output,*) " Energie des vecteurs propres de H0"
+     write(f_output,9007) tmp_ener%ener
+     flush(f_output)
+  end if
+
   ! allocate guess vectors to H0=<D00|H|D00> eigenvectors
-  do ivec = 1,nvectot
+  do ivec = 1,nveclus
      tmpmax = 0.d0
      do jvec = 1,nvec
-        tmp = dot_product(vect(1:ndet,jvec) , psi_0_guess(1:ndet,ivec))
-        if (tmpmax.lt.abs(tmp)) then
+        tmp = dot_product(vect(1:nd00,jvec) , psi_0_guess(1:nd00,ivec))
+        if (abs(tmpmax).lt.abs(tmp)) then
            tmpmax = tmp
            vguess(ivec) = jvec
         end if
      end do
+     write(f_output,'("   Overlap read vp / H0 vp : ",i5,2x,i5,f10.6)') ivec, vguess(ivec), tmpmax
   end do
-
+  
+  
   ! check non allocated H0 eigenvectors
-  do ivec = 1,nvectot
+  do ivec = 1,nveclus
      libre(vguess(ivec)) = .false.
   end do
 
-  ! allocated psi_0_guess(: , nvectot+1:nvec) to H0 non-allocated eigenvectors
-  psi_0_guess(: , nvectot+1:nvec) = 0.d0
+  ! allocated psi_0_guess(: , nveclus+1:nvec) to H0 non-allocated eigenvectors
+  psi_0_guess(: , nveclus+1:nvec) = 0.d0
   igen = 0
   do jvec = 1,nvec
      if (libre(jvec)) then
         igen = igen + 1
-        if (igen.gt.ngen) stop " Error in complementary guess" 
-        psi_0_guess(1:nd00,igen+nvectot) = vect(1:nd00,jvec)
+        if (igen.gt.ngen) call SASS_quit(">>> Error in complementary guess: too many vectors", f_output) 
+        psi_0_guess(1:nd00,igen+nveclus) = vect(1:nd00,jvec)
+        ener_info%ener(igen+nveclus) = tmp_ener%ener(jvec)
         libre(jvec) = .false.
      end if
   end do
-
+  
   ! verification
   do jvec = 1,nvec
-     if (libre(jvec)) stop " Error in complementary guess" 
+     if (libre(jvec)) call SASS_quit(">>> Error in complementary guess: not all vectors defined", f_output) 
   end do
+
+  ! orthogonormalisation
+  !write(f_output,*) " Schmidt orthogonalisation of the new Guess Vectors to the read ones"
+  deallocate(vect)
+  allocate(vect(ndet,ngen))
+  vect(1:ndet,1:ngen) = psi_0_guess(1:ndet,1+nveclus:ngen+nveclus)
+  call orthog_Schmidt(vect,psi_0_guess,ndet,ngen,nveclus,bdav_info%tol_orth)
+  !write(f_output,*) " Lowdin orthogonormalisation between the new Guess Vectors"
+  call orthonorm(Vect,ndet,ngen, bdav_info%tol_orth, bdav_info%tol_norm, .false.,prog_info,f_output)
+  psi_0_guess(1:ndet,1+nveclus:ngen+nveclus) = vect(1:ndet,1:ngen)
+  
+  if (debugl) then
+     write(f_output,*) ">>> orthogonalisation of guess vectors"
+     do  jvec = 1, nvec
+        do ivec = 1,jvec
+           tmp = dot_product( psi_0_guess(1:ndet,ivec), psi_0_guess(1:ndet,jvec))
+           write(f_output,'(2x,ES15.6)', advance='no') tmp
+        end do
+         write(f_output,*)
+      end do
+      
+     write(f_output,*)
+     write(f_output,*) ">>> Extra guess vectors sucessfully"&
+          " generated from  H0=<D00|H|D00>"
+     write(f_output,'(1x," Energies of guess vectors")')
+     do ivec =1,nvec
+        write(f_output,'(2x,f15.10)') ener_info%ener(ivec)
+     end do
+  end if
   
+  flush(f_output)
+  deallocate(tmp_ener%ener,vect)
+9007 format(5(3x,f22.15))
   end subroutine complement_guess
 
 end module gener_guess
diff --git a/src/hv_blocs.F90 b/src/hv_blocs.F90
index b780e9620cea24474cea0b4ad5c43e87c314985f..032653bc776b69a1f44601f751b0da5430564fcc 100644
--- a/src/hv_blocs.F90
+++ b/src/hv_blocs.F90
@@ -87,7 +87,7 @@ contains
     type(intcase_list), intent(in)             :: intcases
 
     integer :: i
-    logical :: ldebug = .true.
+    logical :: ldebug = .false.
     type(braket) :: Hij
 
 
diff --git a/src/info.F90 b/src/info.F90
index 4890265bb1461b7d02476c3187d2d3d43317674f..41331a3e170f0d15e37c038e9c38a12f25019c96 100644
--- a/src/info.F90
+++ b/src/info.F90
@@ -49,6 +49,7 @@ Module Info
 !!$ molcas           : version de molcas
 !!$ prt_cipci        : Print option for cipci
 !!$ mem_reduction    : = .true. reduction de memoire on
+!!$ restart          : = .true. restart from a previous calculation
 !!$==================================================================== 
 !!$ Definitions common informations sur les orbitales : o_info
 !!$==================================================================== 
@@ -91,6 +92,7 @@ Module Info
 !!$ sz        : =2Sz des etats recherches
 !!$ vec_irrep : representation irreductible des etats recherches
 !!$ nvec      : nbre d'etats recherches
+!!$ nconv     : nbre d'etats converges
 !!$ ncfspref0 : nbre de conf de spin S construites à partir des ref0
 !!$ 
 !!$==================================================================== 
@@ -263,6 +265,8 @@ Module Info
      Integer (KIND=kd_int), public :: vec_irrep
      !> @brief Number of target states
      Integer (KIND=kd_int), public :: nvec
+     !> @brief Number of converged states
+     Integer (KIND=kd_int), public :: nconv 
      !> @brief Number of spin configurations built from ref0
      Integer (KIND=kd_int), public :: ncfspref0
   end type v_infotype
@@ -478,6 +482,7 @@ contains
     v_info%sz   = 0
     v_info%vec_irrep = 1
     v_info%nvec = 1
+    v_info%nconv = 0 
     v_info%ncfspref0 = 0 !> @todo check if 0 or 1
 
     ! det_info
diff --git a/src/lect_data.F90 b/src/lect_data.F90
index f630a070a6d4a53ca9e33aaf31550b207fd59fc7..3a7558bd251ba7b6ee93c43fb4cbcf4c2126dbab 100644
--- a/src/lect_data.F90
+++ b/src/lect_data.F90
@@ -67,9 +67,9 @@ Subroutine lect_data(g_info, prog_info, o_info, v_info, det_info, ener_info, &
   call read_orbinp(f_input, o_info)
   !Verfication of the method and given orb kinds
   call check_orb_vs_method(prog_info, o_info)
-  if (prog_info%id_cpu.eq.0) then         
-     write(f_output,'(a39)') "  Transfert d''information par namelist"
-  endif
+  ! if (prog_info%id_cpu.eq.0) then         
+  !    write(f_output,'(a39)') "  Transfert d''information par namelist"
+  ! endif
   
 
   !Calcul de orb_info(i,iorb)
@@ -328,25 +328,27 @@ subroutine read_vecinp(iunit, g_info, prog_info, v_info, det_info, ener_info)
   type(det_infotype), intent(inout) :: det_info
   type(ener_infotype),intent(inout) :: ener_info
 
-  integer (KIND=kd_int) :: stot, sz, vec_irrep, nvec, &
+  integer (KIND=kd_int) :: stot, sz, vec_irrep, nvec, nconv, &
        nref0, nelact, itmp
 
-  namelist /vecinp/ stot, sz, vec_irrep, nvec, nref0, nelact
+  namelist /vecinp/ stot, sz, vec_irrep, nvec, nconv, nref0, nelact
 
   ! v_info
-  stot = 1
-  sz   = 0
+  stot      = 1
+  sz        = 0
   vec_irrep = 1
-  nvec = 1
+  nvec      = 1
+  nconv     =-1
 
   nref0 = 1
   nelact = 0
 
   read(iunit, vecinp)
-  v_info%stot = stot
-  v_info%sz   = sz
+  v_info%stot  = stot
+  v_info%sz    = sz
   v_info%vec_irrep = vec_irrep
-  v_info%nvec = nvec
+  v_info%nvec  = nvec
+  v_info%nconv = nconv
   allocate(ener_info%ener(nvec))
   ener_info%ener(:) = 0.d0
 
@@ -427,7 +429,8 @@ subroutine wrt_infoinp(iunit, g_info, o_info, v_info, bdav_info)
 
   !Impressions vecinp et orbinp
   write(iunit,*)     
-  write(iunit,fmt1) "  Nbre de vecteurs                 ", v_info%nvec  
+  write(iunit,fmt1) "  Nbre de vecteurs                 ", v_info%nvec
+  if (v_info%nconv.ne.-1) write(iunit,fmt1) "  Nbre de vecteurs converges       ", v_info%nconv
   write(iunit,fmt2) "  2S+1, 2Sz                        ", v_info%stot, v_info%sz
   write(iunit,fmt2) "  Irrep                            ", v_info%vec_irrep
   write(iunit,fmt2) "  Nbre d'electrons actifs          ", g_info%nelact
@@ -598,6 +601,10 @@ subroutine read_davidinp(iunit, bdav_info, prog_info)
   bdav_info%iter0     = iter0
   bdav_info%conv_ener = conv_ener
   bdav_info%debug_dav = debug_dav
+  if (debug_dav) then
+     write(f_output,*) " debug_dav active"
+     write(f_output,*)
+  end if
 
   if (SizeheffDavidson.lt.1) &
        call SASS_quit('>>> Error in SizeheffDavidson : must be at least 1 (default = 10) <<<',f_output)
diff --git a/src/lect_int.F90 b/src/lect_int.F90
index 832f9c5ae8b5357d9d675499477024686b6f2d08..7cd0f2b64a94017a1dd06f36e2b6a245bd937e6d 100644
--- a/src/lect_int.F90
+++ b/src/lect_int.F90
@@ -143,14 +143,14 @@ contains
        call noblancs(prog_info%prefix,n)
        file_traone = prog_info%prefix(1:n)//".TraOne"
        if (prog_info%id_cpu.eq.0) then
-          write(f_output,*) "     Ouverture TraOne = ",&
+          write(f_output,*) "     Opening TraOne file = ",&
                prog_info%prefix(1:n)//".TraOne"
        endif
        cf_tone = c_open(trim(file_traone)//char(0))
     else
        file_traone = "TraOne"
        cf_tone=c_open(trim(file_traone)//char(0))
-       if (prog_info%id_cpu.eq.0) write(f_output,*) "  Ouverture TraOne = ","TraOne"
+       if (prog_info%id_cpu.eq.0) write(f_output,*) "  Opening TraOne file = ","TraOne"
     end if
 
     ! Verifier 32 ou 64 bits en regardant si le debut du fichier
@@ -196,13 +196,13 @@ contains
        file_traint = prog_info%prefix(1:n)//".TraInt"
        cf_tint      = c_open(trim(file_traint)//char(0))
        if (prog_info%id_cpu.eq.0) &
-            write(f_output,*) "     Ouverture TraInt = ",&
+            write(f_output,*) "     Opening TraInt file = ",&
             prog_info%prefix(1:n)//".TraInt"
     else
        file_traint = "TraInt"
        cf_tint=c_open(trim(file_traint)//char(0))
        if (prog_info%id_cpu.eq.0) &
-            write(f_output,*) "     Ouverture TraInt = ",file_traint
+            write(f_output,*) "     Opening TraInt file = ",file_traint
     end if
 
     y64_traInt = y64_traone
@@ -1190,7 +1190,7 @@ contains
 
     type(prog_infotype), intent(in) :: prog_info
     
-    Logical :: debugl=.true.
+    Logical :: debugl=.false.
 
     Real*8 :: potnuc
     Integer, dimension(8) :: norbsym
diff --git a/src/orthog.F90 b/src/orthog.F90
index 8cc46cc1a8694d4d9a3167b57d292c9ee10fa0cd..1ba51a0417ce3a95055c32f8e5e0d0b926eb886d 100644
--- a/src/orthog.F90
+++ b/src/orthog.F90
@@ -284,9 +284,49 @@ subroutine orthonorm(Vect,ndet,nvec,tol_orth,tol_norm,lpr,prog_info,iunit)
   end if
     
 9999 deallocate(S, sp)
-  
 
 end subroutine orthonorm
+!$======================================================================== 
+!> @brief Overlap calculation
+!> @author MB Lepetit
+!
+!> @param[inout] Vect(ndet,nvec) = vectors to orthogonalize to the Vectref ones
+!> @param[in] Vectref(ndet,nvecref) = reference vectors to which Vect will be orthogonilized
+!> @param[in] ndet =  number of determinants
+!> @param[in] nvec =  number of vectors Vect
+!> @param[in] nvecref = number of vectors Vectref
+!> @param[in] tol_orth =  quality of the orthogonalisation
+!> @param jtermax = 20 max number or orthogonalisation loops
+!$========================================================================
+Subroutine recouvrement(v1,v2,ndet,nvec1,nvec2, iunit,messv1,messv2)
+  use utils_wrt
+  Implicit none
+  Integer,                                intent(in) :: ndet,nvec1, nvec2, iunit
+  real(kd_dble), dimension(ndet,nvec1),   intent(in) :: v1
+  real(kd_dble), dimension(ndet,nvec2),   intent(in) :: v2
+  Character(len=*),                       intent(in) :: messv1, messv2
+
+  real(kd_dble), dimension(nvec1,nvec2) ::  S
+  Integer :: ivec, jvec 
+  
+  S(:,:) = 0.d0
+  do jvec = 1,nvec2
+     do ivec = 1,nvec1
+        S(ivec,jvec)  = dot_product(v1(1:ndet,ivec),v2(1:ndet,jvec))
+     end do
+  end do
+
+  write (iunit,'(" Overlap matrix between  vectors")',advance='no')
+  write (iunit,'(a)',advance='no') messv1
+  write (iunit,'(" and ")',advance='no')
+  write (iunit,'(a)',advance='no') messv2
+  write (iunit,*)
+  
+  call wrtmatE(S, ndet, nvec1, nvec2,  f_output)
+  write (f_output,*)
+  
+  
+end Subroutine recouvrement
 
 end module utils_ortho
 
diff --git a/src/ref0.F90 b/src/ref0.F90
index a3b1a5c2176cfe5f7b13f68a7967125ddbfb53c9..c45dbe302a7fbc0e59bca50a976109e5db54480a 100644
--- a/src/ref0.F90
+++ b/src/ref0.F90
@@ -214,7 +214,7 @@ contains
     
     deallocate(CASa,CASb)
     
-    if (prog_info%id_cpu.eq.0) then
+    if (prog_info%id_cpu.eq.0 .and. prog_info%iprint.gt.2 ) then
        do idet = 1,ndetCAS
           write(f_output,'(i5,"   :    ")',advance='no') idet
           call wrtdet(ref(idet),f_output, o_info)
diff --git a/src/utils_wrt.F90 b/src/utils_wrt.F90
index 414f46236108d724e4286bc1d27bf796780bc24f..0cb9ea1e1536855b6fd0f3e0922d9331ce5799a9 100644
--- a/src/utils_wrt.F90
+++ b/src/utils_wrt.F90
@@ -32,7 +32,8 @@
 !! Wrtdet : écrit un det
 !! Wrtact : écrit la partie active d'un det
 !! Wrtactalpha  : Ecriture partie active alpha des det
-!! Wrtmat : Ecriture matrice réelle 
+!! Wrtmat : Ecriture matrice réelle
+!! Wrt_vect : Ecriture des vecteurs
 !$============================================================
 
 module utils_wrt
@@ -49,7 +50,7 @@ module utils_wrt
        wrtact, &
        wrtactalpha, &
        wrtmat, wrtmat_accurate, wrtmatE, wrt_bdet, wrt_info, &
-       wrt_WF
+       wrt_WF, wrt_vect
   
   ! interface  wrt_bdet
   !    module procedure wrt_bdet
@@ -639,6 +640,33 @@ contains
 9990 format(5(2x,F20.16))
   end subroutine wrt_WF
 !!$============================================================
+  Subroutine wrt_vect(file,ndetwrt,ndet,nvec,vect)
+    !------------------------------------------------------------
+    ! Ecriture vecteurs
+    Implicit none
+    Integer (KIND=kd_int), intent(in) ::  file,ndetwrt,ndet,nvec
+    real(kd_dble), dimension(:,:), allocatable, intent(in)    :: vect
+    ! -------- Donnes locales -----------------------------------
+    Integer (KIND=kd_int) :: i, nq, n, idet
+    ! -------- Code ---------------------------------------------
+
+    write(f_output,9005)
+    nq = nvec/5
+    do i=1 , nq+1
+       n = min(5,nvec-(i-1)*5)
+       do idet =1,ndetwrt
+          write(file,9006)  (vect(idet,(i-1)*5+1:(i-1)*5+n))
+       end do
+       write(file,*)
+    end do
+    write(file,9007)
+    write(file,*)
+
+9005 format(2x,'Vectors=')
+9006 format(2x,5(f20.15,2x))
+9007 format(2x,5(20("."),2x))
+
+  end Subroutine wrt_vect
 !!$============================================================
 End Module utils_wrt
 !!$ Local Variables:
diff --git a/test/CuO_03450_extravec/INPUT b/test/CuO_03450_extravec/INPUT
new file mode 100644
index 0000000000000000000000000000000000000000..777ca9a3b2749991e326ca4195259e4371b6ddcb
--- /dev/null
+++ b/test/CuO_03450_extravec/INPUT
@@ -0,0 +1,62 @@
+#
+#
+
+ &sassinp
+   prefix="cuo",
+   restart=.true.
+   prt_cipci=.false., 
+   iprint=1
+ &end
+
+ &infomolcasinp
+   nirrep=1, 
+   ntot=12,
+   iIrTb(1,1) = 1, 
+   iChTb(1,1) = 1
+ &end
+
+
+ &orbinp
+   norb_gel  = 38, 
+   norb_occ  = 0, 
+   norb_ligo = 3, 
+   norb_act  = 4, 
+   norb_ligv = 5, 
+   norb_virt = 0, 
+   norb_del  = 68
+ &end
+
+ &vecinp
+  stot=3, 
+  sz=2, 
+  vec_irrep=1, 
+  nvec=4, 
+  nref0=13, 
+  nelact = 4
+ &end
+
+ &davidinp
+ SizeheffDavidson = 10,
+ tol_conv = 1.d-8,
+ NiterDavidson = 200
+ &end
+
+&propinp
+  Nprop=3,
+  whichprop="lcoef","intJK","Helm",
+  seuilcoef = 0.01d0,
+  nintegrals = 4
+  nHelms = 1,
+ &end
+
+ &intJK
+ p=41,41,41,42,
+ q=41,42,41,42,
+ r=42,41,41,42,
+ s=42,42,42,41,
+ &end
+
+ &helm
+ idet = 2,
+ jdet = 3,
+ &end
diff --git a/test/CuO_03450_extravec/cuo.TraInt b/test/CuO_03450_extravec/cuo.TraInt
new file mode 100644
index 0000000000000000000000000000000000000000..e7f8bba427b347d8e39f0891f677afd28a848161
Binary files /dev/null and b/test/CuO_03450_extravec/cuo.TraInt differ
diff --git a/test/CuO_03450_extravec/cuo.TraOne b/test/CuO_03450_extravec/cuo.TraOne
new file mode 100644
index 0000000000000000000000000000000000000000..ebe5faa748583797c307b5aeaa0c174a41ff9612
Binary files /dev/null and b/test/CuO_03450_extravec/cuo.TraOne differ
diff --git a/test/CuO_03450_extravec/cuo.guess b/test/CuO_03450_extravec/cuo.guess
new file mode 100644
index 0000000000000000000000000000000000000000..4cb2b1288e6797b8745441206618ef735abae397
Binary files /dev/null and b/test/CuO_03450_extravec/cuo.guess differ
diff --git a/test/CuO_03450_extravec/cuo.ref0 b/test/CuO_03450_extravec/cuo.ref0
new file mode 100644
index 0000000000000000000000000000000000000000..a56e2dd5dac36bbdc467b207a698eff6e1b2c68b
--- /dev/null
+++ b/test/CuO_03450_extravec/cuo.ref0
@@ -0,0 +1,22 @@
+42u 43d 44u 45u
+42u 42d 43u 44u
+42u 43u 43d 44u
+42u 43u 44u 44d
+42u 42d 43u 45u
+42u 43u 43d 45u
+42u 43u 45u 45d
+42u 42d 45u 44u
+42u 45u 45d 44u
+42u 45u 44u 44d
+45u 45d 43u 44u
+45u 43u 43d 44u
+45u 43u 44u 44d
+
+42u 42d 43u 43d
+42u 42d 44u 44d
+42u 42d 45u 45d
+43u 43d 44u 44d
+43u 43d 45u 45d
+44u 44d 45u 45d
+
+
diff --git a/test/CuO_03450_extravec/result/cuo.out b/test/CuO_03450_extravec/result/cuo.out
new file mode 100644
index 0000000000000000000000000000000000000000..ffa4d75178a75011c6f26fda23b1eb6a25d9f794
--- /dev/null
+++ b/test/CuO_03450_extravec/result/cuo.out
@@ -0,0 +1,611 @@
+ ***********************************************
+
+   Relaxed Selected Excitation (RelaxSE)
+
+   The RelaxSE project is distributed under https://spdx.org/licenses/LGPL-3.0-or-later.html
+
+   Copyright (C) 2016-2021  Institut Laue-Langevin (ILL), Grenoble, FRANCE
+                            Institut Neel, (CNRS), Grenoble, FRANCE
+
+   Authors: Elisa REBOLINI (ILL)            rebolini@ill.fr
+            Marie-Bernadette LEPETIT (CNRS) Marie-Bernadette.Lepetit@neel.cnrs.fr
+
+ ***********************************************
+ DEBUG VersionT
+ Calculation started on 06-12-2024 at 15:00
+
+ >>> Method sas+s   
+ >>> Ouverture des fichiers
+  out :                                                                         cuo.out
+ ref0 :                                                                        cuo.ref0
+  det :                                                                         cuo.det
+ bdet :                                                                        cuo.bdet
+ sass :                                                                        cuo.sass
+resta :                                                                     cuo.restart
+  mat :                                                                         cuo.mat
+ mat2 :                                                                        cuo.mat2
+ bmat :                                                                        cuo.bmat
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Reading input data
+ ----------------------------------------------------------------------------------------------------
+  Transfert d''information par namelist
+  Nbre d'irrep                     :   1
+  Nbre total d'orbitales           :  12
+  Nbre d'orbitales gelees          :  38
+  Nbre d'orbitales occuppees       :   0
+  Nbre d'orbitales lig. occ        :   3
+  Nbre d'orbitales actives         :   4
+  Nbre d'orbitales lig. virt       :   5
+  Nbre d'orbitales virtuelles      :   0
+  Nbre d'orbitales deletees        :  68
+  Nbre d'orbitales total           : ngel  nocc  nligo nact  nligv nvirt ndel  ntot Total
+                                   :  38     0     3     4     5     0    68    12   118
+
+  Nbre de vecteurs                 :   4
+  2S+1, 2Sz                        :   3     2
+  Irrep                            :   1
+  Nbre d'electrons actifs          :   4
+
+  Size of the Davidson Heff        :  10
+  Nbr of Davidson super-iter       : 200
+  Orthogonality threshold          : 1.0E-15
+  Normalisation threshold          : 1.0E-15
+  Conv. threshold on vectors       : 1.0E-08
+  Expected threshold on energies   : 1.0E-14
+  Nbr of 1st iter (restart)        :   0
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Preparations 
+ ----------------------------------------------------------------------------------------------------
+ >>> Orbital re-ordering Molcas <-> RelaxSE
+   Ordre des orbitales MOLCAS ds SelS
+    Irrep =  1
+    Gelees =           38
+       Molcas    :       1      2      3      4      5      6      7      8      9     10
+       Molcas/ir :       1      2      3      4      5      6      7      8      9     10
+       SelS      :       1      2      3      4      5      6      7      8      9     10
+       SelS up   :       1      2      3      4      5      6      7      8      9     10
+       SelS dn   :      39     40     41     42     43     44     45     46     47     48
+ 
+       Molcas    :      11     12     13     14     15     16     17     18     19     20
+       Molcas/ir :      11     12     13     14     15     16     17     18     19     20
+       SelS      :      11     12     13     14     15     16     17     18     19     20
+       SelS up   :      11     12     13     14     15     16     17     18     19     20
+       SelS dn   :      49     50     51     52     53     54     55     56     57     58
+ 
+       Molcas    :      21     22     23     24     25     26     27     28     29     30
+       Molcas/ir :      21     22     23     24     25     26     27     28     29     30
+       SelS      :      21     22     23     24     25     26     27     28     29     30
+       SelS up   :      21     22     23     24     25     26     27     28     29     30
+       SelS dn   :      59     60     61     62     63     64     65     66     67     68
+ 
+       Molcas    :      31     32     33     34     35     36     37     38
+       Molcas/ir :      31     32     33     34     35     36     37     38
+       SelS      :      31     32     33     34     35     36     37     38
+       SelS up   :      31     32     33     34     35     36     37     38
+       SelS dn   :      69     70     71     72     73     74     75     76
+    Occ    =            0
+    Ligo   =            3
+       Molcas    :      39     40     41
+       Molcas/ir :      39     40     41
+       SelS      :      39     40     41
+       SelS up   :      77     78     79
+       SelS dn   :      80     81     82
+    Act    =            4
+       Molcas    :      42     43     44     45
+       Molcas/ir :      42     43     44     45
+       SelS      :      42     43     44     45
+       SelS up   :      83     84     85     86
+       SelS dn   :      87     88     89     90
+    Ligv   =            5
+       Molcas    :      46     47     48     49     50
+       Molcas/ir :      46     47     48     49     50
+       SelS      :      46     47     48     49     50
+       SelS up   :      91     92     93     94     95
+       SelS dn   :      96     97     98     99    100
+    Virt   =            0
+    Delete =           68
+       Molcas    :      51     52     53     54     55     56     57     58     59     60
+       Molcas/ir :      51     52     53     54     55     56     57     58     59     60
+       SelS      :      51     52     53     54     55     56     57     58     59     60
+       SelS up   :     101    102    103    104    105    106    107    108    109    110
+       SelS dn   :     169    170    171    172    173    174    175    176    177    178
+ 
+       Molcas    :      61     62     63     64     65     66     67     68     69     70
+       Molcas/ir :      61     62     63     64     65     66     67     68     69     70
+       SelS      :      61     62     63     64     65     66     67     68     69     70
+       SelS up   :     111    112    113    114    115    116    117    118    119    120
+       SelS dn   :     179    180    181    182    183    184    185    186    187    188
+ 
+       Molcas    :      71     72     73     74     75     76     77     78     79     80
+       Molcas/ir :      71     72     73     74     75     76     77     78     79     80
+       SelS      :      71     72     73     74     75     76     77     78     79     80
+       SelS up   :     121    122    123    124    125    126    127    128    129    130
+       SelS dn   :     189    190    191    192    193    194    195    196    197    198
+ 
+       Molcas    :      81     82     83     84     85     86     87     88     89     90
+       Molcas/ir :      81     82     83     84     85     86     87     88     89     90
+       SelS      :      81     82     83     84     85     86     87     88     89     90
+       SelS up   :     131    132    133    134    135    136    137    138    139    140
+       SelS dn   :     199    200    201    202    203    204    205    206    207    208
+ 
+       Molcas    :      91     92     93     94     95     96     97     98     99    100
+       Molcas/ir :      91     92     93     94     95     96     97     98     99    100
+       SelS      :      91     92     93     94     95     96     97     98     99    100
+       SelS up   :     141    142    143    144    145    146    147    148    149    150
+       SelS dn   :     209    210    211    212    213    214    215    216    217    218
+ 
+       Molcas    :     101    102    103    104    105    106    107    108    109    110
+       Molcas/ir :     101    102    103    104    105    106    107    108    109    110
+       SelS      :     101    102    103    104    105    106    107    108    109    110
+       SelS up   :     151    152    153    154    155    156    157    158    159    160
+       SelS dn   :     219    220    221    222    223    224    225    226    227    228
+ 
+       Molcas    :     111    112    113    114    115    116    117    118
+       Molcas/ir :     111    112    113    114    115    116    117    118
+       SelS      :     111    112    113    114    115    116    117    118
+       SelS up   :     161    162    163    164    165    166    167    168
+       SelS dn   :     229    230    231    232    233    234    235    236
+
+
+ >>> Reading Ref0
+   Nb of read ref0       :  13
+    1   :    1011 0100 
+    2   :    1110 1000 
+    3   :    1110 0100 
+    4   :    1110 0010 
+    5   :    1101 1000 
+    6   :    1101 0100 
+    7   :    1101 0001 
+    8   :    1011 1000 
+    9   :    1011 0001 
+   10   :    1011 0010 
+   11   :    0111 0001 
+   12   :    0111 0100 
+   13   :    0111 0010 
+
+ >>> Generation of all determinants
+  Ref0:     1  Couches fermees :   0 - 0000 0000  Ref0:     1  Couches ouvertes:   4 - 1111 0000
+  Ref0:     2  Couches fermees :   1 - 1000 0000  Ref0:     2  Couches ouvertes:   2 - 0110 0000
+  Ref0:     3  Couches fermees :   1 - 0100 0000  Ref0:     3  Couches ouvertes:   2 - 1010 0000
+  Ref0:     4  Couches fermees :   1 - 0010 0000  Ref0:     4  Couches ouvertes:   2 - 1100 0000
+  Ref0:     5  Couches fermees :   1 - 1000 0000  Ref0:     5  Couches ouvertes:   2 - 0101 0000
+  Ref0:     6  Couches fermees :   1 - 0100 0000  Ref0:     6  Couches ouvertes:   2 - 1001 0000
+  Ref0:     7  Couches fermees :   1 - 0001 0000  Ref0:     7  Couches ouvertes:   2 - 1100 0000
+  Ref0:     8  Couches fermees :   1 - 1000 0000  Ref0:     8  Couches ouvertes:   2 - 0011 0000
+  Ref0:     9  Couches fermees :   1 - 0001 0000  Ref0:     9  Couches ouvertes:   2 - 1010 0000
+  Ref0:    10  Couches fermees :   1 - 0010 0000  Ref0:    10  Couches ouvertes:   2 - 1001 0000
+  Ref0:    11  Couches fermees :   1 - 0001 0000  Ref0:    11  Couches ouvertes:   2 - 0110 0000
+  Ref0:    12  Couches fermees :   1 - 0100 0000  Ref0:    12  Couches ouvertes:   2 - 0011 0000
+  Ref0:    13  Couches fermees :   1 - 0010 0000  Ref0:    13  Couches ouvertes:   2 - 0101 0000
+
+  Nbre de conf d'espace unique : 13
+  Ref0 irr:     1  Couches fermees :   0 - 0000  Ref0 irr:     1  Couches ouvertes:   4 - 1111
+  Ref0 irr:     2  Couches fermees :   1 - 1000  Ref0 irr:     2  Couches ouvertes:   2 - 0110
+  Ref0 irr:     3  Couches fermees :   1 - 0100  Ref0 irr:     3  Couches ouvertes:   2 - 1010
+  Ref0 irr:     4  Couches fermees :   1 - 0010  Ref0 irr:     4  Couches ouvertes:   2 - 1100
+  Ref0 irr:     5  Couches fermees :   1 - 1000  Ref0 irr:     5  Couches ouvertes:   2 - 0101
+  Ref0 irr:     6  Couches fermees :   1 - 0100  Ref0 irr:     6  Couches ouvertes:   2 - 1001
+  Ref0 irr:     7  Couches fermees :   1 - 0001  Ref0 irr:     7  Couches ouvertes:   2 - 1100
+  Ref0 irr:     8  Couches fermees :   1 - 1000  Ref0 irr:     8  Couches ouvertes:   2 - 0011
+  Ref0 irr:     9  Couches fermees :   1 - 0001  Ref0 irr:     9  Couches ouvertes:   2 - 1010
+  Ref0 irr:    10  Couches fermees :   1 - 0010  Ref0 irr:    10  Couches ouvertes:   2 - 1001
+  Ref0 irr:    11  Couches fermees :   1 - 0001  Ref0 irr:    11  Couches ouvertes:   2 - 0110
+  Ref0 irr:    12  Couches fermees :   1 - 0100  Ref0 irr:    12  Couches ouvertes:   2 - 0011
+  Ref0 irr:    13  Couches fermees :   1 - 0010  Ref0 irr:    13  Couches ouvertes:   2 - 0101
+  Nbre de det Ref0 final : 16
+ --------------------------------------------
+    Entree dans diag_S2 pour les etats :
+0111 1000
+1011 0100
+1101 0010
+1110 0001
+ Matrix to be diagonalised
+         3.000000     1.000000     1.000000     1.000000
+         1.000000     3.000000     1.000000     1.000000
+         1.000000     1.000000     3.000000     1.000000
+         1.000000     1.000000     1.000000     3.000000
+    Valeurs pp de S2
+   2.000000000000   2.000000000000   2.000000000000   6.000000000000
+
+    Nbre de conf S, Sz            3
+    0.048957    0.449881   -0.738383
+    0.256610   -0.815030   -0.140989
+    0.512449    0.365148    0.595031
+   -0.818016    0.000000    0.284341
+ --------------------------------------------
+
+  Ref0 finaux 
+    1   :   0111 1000
+    2   :   1011 0100
+    3   :   1101 0010
+    4   :   1110 0001
+    5   :   1110 1000
+    6   :   1110 0100
+    7   :   1110 0010
+    8   :   1101 1000
+    9   :   1101 0100
+   10   :   1101 0001
+   11   :   1011 1000
+   12   :   1011 0001
+   13   :   1011 0010
+   14   :   0111 0001
+   15   :   0111 0100
+   16   :   0111 0010
+  Nbre de det Ref1 (debug) :    4928
+  Nbre de det Ref1 CAS -> CAS :       0
+  Nbre de det Ref1 ligo-> CAS :      84
+  Nbre de det Ref1 CAS -> ligv:     140
+  Nbre de det Ref1 ligo-> ligv:     480
+  Nbre de det Ref1 ligo-> ligv + ech :     555
+  Nbre de det Ref1 ligo-> ligv tot:    1035
+  Ref1 Cas  -> Cas  :    1 ->     0
+===
+Active determinant list R_-2
+Contains 22 determinants
+           0           2          -2
+           6           0          16
+===
+Active determinant list R_-1
+Contains 52 determinants
+           1          -1           3          -3
+           4          24           0          24
+===
+Active determinant list R_0
+Contains 69 determinants
+           0           2          -2           4          -4
+          16           1          36           0          16
+===
+Active determinant list R_1
+Contains 52 determinants
+           1          -1           3          -3
+           4          24           0          24
+===
+Active determinant list R_2
+Contains 22 determinants
+           0           2          -2
+           6           0          16
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Generation of all determinants
+ ----------------------------------------------------------------------------------------------------
+  Nb of determinants in D  0 =                                       16
+  Nb of determinants in D  1 =                                     1035
+  Nb of determinants in D  2 =                                    11145
+  Nb of determinants in D 11 =                                       84
+  Nb of determinants in D 12 =                                     2040
+  Nb of determinants in D-11 =                                      140
+  Nb of determinants in D-12 =                                     3660
+  Nb of determinants in D 20 =                                      102
+  Nb of determinants in D-20 =                                      310
+
+  Total Nb of determinant                                         18532
+
+  >>> Generation of D0
+  >>> Determinant block D0 generated in     0.00 second(s)
+  >>> Generation of D1
+  >>> Determinant block D1 generated in     0.00 second(s)
+  >>> Generation of D2
+  >>> Determinant block D2 generated in     0.00 second(s)
+  >>> Generation of D11
+  >>> Determinant block D11 generated in     0.00 second(s)
+  >>> Generation of D12
+  >>> Determinant block D12 generated in     0.00 second(s)
+  >>> Generation of D-11
+  >>> Determinant block D-11 generated in     0.00 second(s)
+  >>> Generation of D-12
+  >>> Determinant block D-12 generated in     0.00 second(s)
+  >>> Generation of D20
+  >>> Determinant block D20 generated in     0.00 second(s)
+  >>> Generation of D-20
+  >>> Determinant block D-20 generated in     0.00 second(s)
+ >>>Determinants generated in   1.3935000000000001E-002 second(s)
+
+ >>> x_info written on file
+
+ >>> Determinants written on file
+
+ >>> Lecture des integrales TraOne et TraInt
+  >>> Lecture des integrales TraOne
+      Ouverture TraOne = cuo.TraOne
+  Lecture TraOne en entiers 64 bits
+  Potnuc =        -449.56085922
+  Nombre d'irrep lu ds TraOne =  1
+  BSLbl = 
+    Irrep =  1
+         1  CU01  1s  
+         2  CU01  2px 
+         3  CU01  2px 
+         4  CU01  2py 
+         5  CU01  2py 
+         6  CU01  2pz 
+         7  CU01  2pz 
+         8  CU01  3d2-
+         9  CU01  3d2-
+        10  CU01  3d1-
+        11  CU01  3d1-
+        12  CU01  3d0 
+        13  CU01  3d0 
+        14  CU01  3d1+
+        15  CU01  3d1+
+        16  CU01  3d2+
+        17  CU01  3d2+
+        18  CU02  1s  
+        19  CU02  2px 
+        20  CU02  2px 
+        21  CU02  2py 
+        22  CU02  2py 
+        23  CU02  2pz 
+        24  CU02  2pz 
+        25  CU02  3d2-
+        26  CU02  3d2-
+        27  CU02  3d1-
+        28  CU02  3d1-
+        29  CU02  3d0 
+        30  CU02  3d0 
+        31  CU02  3d1+
+        32  CU02  3d1+
+        33  CU02  3d2+
+        34  CU02  3d2+
+        35  O_03  1s  
+        36  O_03  2px 
+        37  O_03  2px 
+        38  O_03  2py 
+        39  O_03  2py 
+        40  O_03  2pz 
+        41  O_03  2pz 
+        42  O_03  3d2-
+        43  O_03  3d1-
+        44  O_03  3d0 
+        45  O_03  3d1+
+        46  O_03  3d2+
+        47  O_04  1s  
+        48  O_04  2px 
+        49  O_04  2px 
+        50  O_04  2py 
+        51  O_04  2py 
+        52  O_04  2pz 
+        53  O_04  2pz 
+        54  O_04  3d2-
+        55  O_04  3d1-
+        56  O_04  3d0 
+        57  O_04  3d1+
+        58  O_04  3d2+
+        59  O_05  1s  
+        60  O_05  2px 
+        61  O_05  2px 
+        62  O_05  2py 
+        63  O_05  2py 
+        64  O_05  2pz 
+        65  O_05  2pz 
+        66  O_05  3d2-
+        67  O_05  3d1-
+        68  O_05  3d0 
+        69  O_05  3d1+
+        70  O_05  3d2+
+        71  O_06  1s  
+        72  O_06  2px 
+        73  O_06  2px 
+        74  O_06  2py 
+        75  O_06  2py 
+        76  O_06  2pz 
+        77  O_06  2pz 
+        78  O_06  3d2-
+        79  O_06  3d1-
+        80  O_06  3d0 
+        81  O_06  3d1+
+        82  O_06  3d2+
+        83  O_07  1s  
+        84  O_07  2px 
+        85  O_07  2px 
+        86  O_07  2py 
+        87  O_07  2py 
+        88  O_07  2pz 
+        89  O_07  2pz 
+        90  O_07  3d2-
+        91  O_07  3d1-
+        92  O_07  3d0 
+        93  O_07  3d1+
+        94  O_07  3d2+
+        95  O_08  1s  
+        96  O_08  2px 
+        97  O_08  2px 
+        98  O_08  2py 
+        99  O_08  2py 
+       100  O_08  2pz 
+       101  O_08  2pz 
+       102  O_08  3d2-
+       103  O_08  3d1-
+       104  O_08  3d0 
+       105  O_08  3d1+
+       106  O_08  3d2+
+       107  O_09  1s  
+       108  O_09  2px 
+       109  O_09  2px 
+       110  O_09  2py 
+       111  O_09  2py 
+       112  O_09  2pz 
+       113  O_09  2pz 
+       114  O_09  3d2-
+       115  O_09  3d1-
+       116  O_09  3d0 
+       117  O_09  3d1+
+       118  O_09  3d2+
+  Nombre d'integrales a lire =           78
+  Nombre d'integrales mono-electroniques lues  =           78
+
+  >>> Lecture des integrales TraInt
+      Ouverture TraInt = cuo.TraInt
+  Lecture TraInt en entiers 64 bits
+  Total nb of 2e- integrals           3081
+  (oo|oo)                               21
+  (ao|oo)                               72
+  (aa|oo) and (ao|ao)                  138
+  (aa|ao)                              120
+  (aa|aa)                               55
+  (vo|oo)                               90
+  (va|oo) and (vo|ao)                  300
+  (va|ao) and (vo|aa)                  390
+  (va|aa)                              200
+  (vv|oo) and (vo|vo)                  210
+  (vv|ao), and (va|vo)                 480
+  (vv|aa) and (va|va)                  360
+  (vv|vo)                              225
+  (vv|va)                              300
+  (vv|vv)                              120
+  gelees                                 0
+ >>> Integrals read in   2.1330000000000029E-003 second(s)
+
+ >>> Construction of the Fock matrix
+ >>> Fock matrix built in   3.7400000000000627E-004 second(s)
+
+  One-electron energy =   -13.247675800429850     
+  Two-electron energy =    3.2986676825230550     
+  E0                  =   -9.9490081179067946     
+  Pot. Nuc.           =   -449.56085922003842     
+  Total E             =   -459.50986733794520     
+
+ >>> Construction of the diagonal of the Hamiltonian matrix (gen)
+ >>> Hdiag(gen) built in CPU time:    0.009818 second(s)  Wall time:    0.010000 second(s)
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Calculation of guess vectors
+ ----------------------------------------------------------------------------------------------------
+ >>> Build the matrix H0=<D00|H|D00>
+ >>> H0 diagonalised in   1.0100000000000386E-004 second(s)
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Diagonalisation
+ ----------------------------------------------------------------------------------------------------
+
+ =================================================================
+ >>> Davidson Diagonalisation
+   Search for 4 vectors with a convergence threshold of  1.0E-04
+
+Total Elapsed tWall       0.0400s
+Particles are divided in batches of 5
+  #Iter     tCPU (s)    tWall (s)  Energies
+      0       0.0000       0.0000   -462.5453189892    -462.0809787580    -462.0769011406    -462.0756145990
+      1       0.5777       0.5780   -462.5453189892    -462.0809787580    -462.0769011406    -462.0756145990
+                                          4.441E-16          0.000E+00          0.000E+00          0.000E+00
+      2       0.5496       0.5520   -462.5473689642    -462.0981924925    -462.0887364619    -462.0780940339
+                                         -2.050E-03         -1.721E-02         -1.184E-02         -2.479E-03
+      3       0.5490       0.5490   -462.5473940635    -462.1184542108    -462.1023762082    -462.0820351170
+                                         -2.510E-05         -2.026E-02         -1.364E-02         -3.941E-03
+      4       0.5497       0.5500   -462.5473948871    -462.1444568814    -462.1188153382    -462.0936840670
+                                         -8.236E-07         -2.600E-02         -1.644E-02         -1.165E-02
+      5       0.5506       0.5510   -462.5473950005    -462.1520265723    -462.1209269573    -462.0949437075
+                                         -1.134E-07         -7.570E-03         -2.112E-03         -1.260E-03
+      6       0.5508       0.5510   -462.5473950217    -462.1539109210    -462.1221350039    -462.1128133939
+                                         -2.119E-08         -1.884E-03         -1.208E-03         -1.787E-02
+  The vectors            1  seem converged : we take them out
+      7       0.5136       0.5140   -462.1539109210    -462.1221350039    -462.1128133939
+                                          5.329E-15         -3.997E-15          8.438E-15
+      8       0.5137       0.5130   -462.1543716847    -462.1258613712    -462.1218882000
+                                         -4.608E-04         -3.726E-03         -9.075E-03
+      9       0.5141       0.5140   -462.1547068038    -462.1320532261    -462.1233737554
+                                         -3.351E-04         -6.192E-03         -1.486E-03
+     10       0.5132       0.5130   -462.1549637194    -462.1400305336    -462.1281417888
+                                         -2.569E-04         -7.977E-03         -4.768E-03
+     11       0.5142       0.5140   -462.1551952564    -462.1479589357    -462.1320278766
+                                         -2.315E-04         -7.928E-03         -3.886E-03
+     12       0.5138       0.5130   -462.1555748559    -462.1511873329    -462.1352917971
+                                         -3.796E-04         -3.228E-03         -3.264E-03
+     13       0.5148       0.5150   -462.1561363062    -462.1525113361    -462.1405647425
+                                         -5.615E-04         -1.324E-03         -5.273E-03
+     14       0.5154       0.5160   -462.1566115569    -462.1532644250    -462.1447567106
+                                         -4.753E-04         -7.531E-04         -4.192E-03
+     15       0.5155       0.5150   -462.1570302753    -462.1538377131    -462.1476550217
+                                         -4.187E-04         -5.733E-04         -2.898E-03
+     16       0.5153       0.5150   -462.1572888534    -462.1542116459    -462.1490515008
+                                         -2.586E-04         -3.739E-04         -1.396E-03
+  >>> On contracte <<<
+     17       0.5146       0.5150   -462.1572888534    -462.1542116459    -462.1490515008
+                                          2.665E-15          8.882E-16         -4.441E-16
+     18       0.5135       0.5140   -462.1573722202    -462.1543201138    -462.1493729824
+                                         -8.337E-05         -1.085E-04         -3.215E-04
+     19       0.5134       0.5130   -462.1574347636    -462.1543966744    -462.1495839235
+                                         -6.254E-05         -7.656E-05         -2.109E-04
+     20       0.5136       0.5130   -462.1574803402    -462.1544529075    -462.1497391559
+                                         -4.558E-05         -5.623E-05         -1.552E-04
+     21       0.5144       0.5150   -462.1575136219    -462.1544955392    -462.1498570307
+                                         -3.328E-05         -4.263E-05         -1.179E-04
+     22       0.5151       0.5150   -462.1575261983    -462.1545192019    -462.1499021265
+                                         -1.258E-05         -2.366E-05         -4.510E-05
+     23       0.5174       0.5180   -462.1575322197    -462.1545320734    -462.1499238803
+                                         -6.021E-06         -1.287E-05         -2.175E-05
+     24       0.5171       0.5170   -462.1575384133    -462.1545400325    -462.1499456848
+                                         -6.194E-06         -7.959E-06         -2.180E-05
+     25       0.5163       0.5170   -462.1575430162    -462.1545455306    -462.1499631578
+                                         -4.603E-06         -5.498E-06         -1.747E-05
+     26       0.5151       0.5150   -462.1575448151    -462.1545481486    -462.1499706616
+                                         -1.799E-06         -2.618E-06         -7.504E-06
+  >>> On contracte <<<
+     27       0.5139       0.5140   -462.1575448151    -462.1545481486    -462.1499706616
+                                         -2.354E-14         -1.332E-15          9.770E-15
+     28       0.5133       0.5130   -462.1575453824    -462.1545489020    -462.1499730971
+                                         -5.673E-07         -7.535E-07         -2.435E-06
+     29       0.5138       0.5140   -462.1575460020    -462.1545494342    -462.1499759748
+                                         -6.196E-07         -5.322E-07         -2.878E-06
+     30       0.5135       0.5130   -462.1575464252    -462.1545497172    -462.1499782286
+                                         -4.232E-07         -2.830E-07         -2.254E-06
+     31       0.5141       0.5140   -462.1575466500    -462.1545498852    -462.1499795620
+                                         -2.248E-07         -1.680E-07         -1.333E-06
+     32       0.5145       0.5150   -462.1575467753    -462.1545499825    -462.1499803355
+                                         -1.253E-07         -9.732E-08         -7.735E-07
+     33       0.5147       0.5150   -462.1575468540    -462.1545500433    -462.1499808540
+                                         -7.872E-08         -6.076E-08         -5.185E-07
+     34       0.5145       0.5140   -462.1575469110    -462.1545500829    -462.1499812908
+                                         -5.697E-08         -3.966E-08         -4.368E-07
+     35       0.5147       0.5150   -462.1575469529    -462.1545501108    -462.1499816564
+                                         -4.195E-08         -2.789E-08         -3.656E-07
+     36       0.5145       0.5150   -462.1575469690    -462.1545501250    -462.1499818113
+                                         -1.604E-08         -1.422E-08         -1.548E-07
+  >>> On contracte <<<
+     37       0.5164       0.5210   -462.1575469690    -462.1545501250    -462.1499818113
+                                          8.882E-16         -3.109E-15         -8.882E-16
+     38       0.5161       0.5160   -462.1575469754    -462.1545501318    -462.1499818754
+                                         -6.384E-09         -6.798E-09         -6.411E-08
+  The vectors            1           2  seem converged : we take them out
+-- Davidson' iteration:   38  ncol=  3 Nbre of converged vectors:  3 Nbre of remaining  vectors:  1
+     39       0.4296       0.4300   -462.1499818754
+                                         -1.243E-14
+     40       0.4294       0.4290   -462.1499819112
+                                         -3.586E-08
+     41       0.4296       0.4300   -462.1499820129
+                                         -1.017E-07
+     42       0.4295       0.4300   -462.1499820398
+                                         -2.686E-08
+     43       0.4297       0.4300   -462.1499820696
+                                         -2.980E-08
+     44       0.4309       0.4310   -462.1499820843
+                                         -1.478E-08
+     45       0.4320       0.4320   -462.1499821006
+                                         -1.623E-08
+     46       0.4313       0.4310   -462.1499821078
+                                         -7.266E-09
+  The vectors            1  seem converged : we take them out
+-- Davidson' iteration:   46  ncol=  9 Nbre of converged vectors:  4 Nbre of remaining  vectors:  0
+    
+ >>> Davidson procedure converged on vectors corrections at 1.0E-08 <<<
+ >>> Convergence reached after           45  iterations <<<
+    
+  Overlap matrix between final vectors (difference to Id) 
+       -0.144329E-14   -0.159131E-16   -0.563001E-16   -0.773630E-16
+       -0.159131E-16    0.310862E-14    0.104857E-14    0.414329E-14
+       -0.563001E-16    0.104857E-14    0.488498E-14    0.253356E-15
+       -0.773630E-16    0.414329E-14    0.253356E-15   -0.399680E-14
+
+ Energies :   -462.547395021697241    -462.157546975365733    -462.154550131837027    -462.149982107835683
+ E ss ref :     -3.037527683752005      -2.647679637420535      -2.644682793891838      -2.640114769890475
+ dE (a.u.):      0.000000000000000       0.389848046331470       0.392844889860167       0.397412913861530
+ dE (meV) :      0.000000000000000   10608.305765969455024   10689.854032747622114   10814.156298229641834
+ |Hv-Ev|  :             3.5086E-05              4.6833E-05              4.4846E-05              4.6802E-05
+ deltaE   :            -2.1188E-08             -6.3842E-09             -6.7983E-09             -7.2658E-09
+
+ Maximum precision expected on |Hv-Ev|   :  0.3D-07
+ Maximum precision expected on <v|H|v>-E :  0.1D-14
+
+ Calculation finished in CPUtime            24.94s Walltime:            24.95s
+ Calculation finished on 06-12-2024 at 15:00
diff --git a/test/CuO_03450_extravec/test b/test/CuO_03450_extravec/test
new file mode 100755
index 0000000000000000000000000000000000000000..8697cf689abaec53d36fa9da1272fa79304847b8
--- /dev/null
+++ b/test/CuO_03450_extravec/test
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
+sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
+
+from runtest_relaxse import Filter, TestRun
+
+test = TestRun(__file__, sys.argv)
+
+f = Filter()
+
+f.add(string = 'Energies :',
+      abs_tolerance = 1.0e-6)
+
+#f.add(string = '|Hv-Ev|  :',
+#      abs_tolerance = 1.0e-7)
+
+test.run(['cuo.input'], {'out': f})
+
+sys.exit(test.return_code)
diff --git a/test/CuO_03450_extravec_reconv/INPUT b/test/CuO_03450_extravec_reconv/INPUT
new file mode 100644
index 0000000000000000000000000000000000000000..1336233c9cefdf24c152c1a315c3da4739d81f09
--- /dev/null
+++ b/test/CuO_03450_extravec_reconv/INPUT
@@ -0,0 +1,63 @@
+#
+#
+
+ &sassinp
+   prefix="cuo",
+   restart=.true.
+   prt_cipci=.false., 
+   iprint=1
+ &end
+
+ &infomolcasinp
+   nirrep=1, 
+   ntot=12,
+   iIrTb(1,1) = 1, 
+   iChTb(1,1) = 1
+ &end
+
+
+ &orbinp
+   norb_gel  = 38, 
+   norb_occ  = 0, 
+   norb_ligo = 3, 
+   norb_act  = 4, 
+   norb_ligv = 5, 
+   norb_virt = 0, 
+   norb_del  = 68
+ &end
+
+ &vecinp
+  stot=3, 
+  sz=2, 
+  vec_irrep=1, 
+  nvec=4, 
+  nconv=1,
+  nref0=13, 
+  nelact = 4
+ &end
+
+ &davidinp
+ SizeheffDavidson = 10,
+ tol_conv = 1.d-8,
+ NiterDavidson = 200
+ &end
+
+&propinp
+  Nprop=3,
+  whichprop="lcoef","intJK","Helm",
+  seuilcoef = 0.01d0,
+  nintegrals = 4
+  nHelms = 1,
+ &end
+
+ &intJK
+ p=41,41,41,42,
+ q=41,42,41,42,
+ r=42,41,41,42,
+ s=42,42,42,41,
+ &end
+
+ &helm
+ idet = 2,
+ jdet = 3,
+ &end
diff --git a/test/CuO_03450_extravec_reconv/cuo.TraInt b/test/CuO_03450_extravec_reconv/cuo.TraInt
new file mode 100644
index 0000000000000000000000000000000000000000..e7f8bba427b347d8e39f0891f677afd28a848161
Binary files /dev/null and b/test/CuO_03450_extravec_reconv/cuo.TraInt differ
diff --git a/test/CuO_03450_extravec_reconv/cuo.TraOne b/test/CuO_03450_extravec_reconv/cuo.TraOne
new file mode 100644
index 0000000000000000000000000000000000000000..ebe5faa748583797c307b5aeaa0c174a41ff9612
Binary files /dev/null and b/test/CuO_03450_extravec_reconv/cuo.TraOne differ
diff --git a/test/CuO_03450_extravec_reconv/cuo.guess b/test/CuO_03450_extravec_reconv/cuo.guess
new file mode 100644
index 0000000000000000000000000000000000000000..4cb2b1288e6797b8745441206618ef735abae397
Binary files /dev/null and b/test/CuO_03450_extravec_reconv/cuo.guess differ
diff --git a/test/CuO_03450_extravec_reconv/cuo.ref0 b/test/CuO_03450_extravec_reconv/cuo.ref0
new file mode 100644
index 0000000000000000000000000000000000000000..a56e2dd5dac36bbdc467b207a698eff6e1b2c68b
--- /dev/null
+++ b/test/CuO_03450_extravec_reconv/cuo.ref0
@@ -0,0 +1,22 @@
+42u 43d 44u 45u
+42u 42d 43u 44u
+42u 43u 43d 44u
+42u 43u 44u 44d
+42u 42d 43u 45u
+42u 43u 43d 45u
+42u 43u 45u 45d
+42u 42d 45u 44u
+42u 45u 45d 44u
+42u 45u 44u 44d
+45u 45d 43u 44u
+45u 43u 43d 44u
+45u 43u 44u 44d
+
+42u 42d 43u 43d
+42u 42d 44u 44d
+42u 42d 45u 45d
+43u 43d 44u 44d
+43u 43d 45u 45d
+44u 44d 45u 45d
+
+
diff --git a/test/CuO_03450_extravec_reconv/result/cuo.out b/test/CuO_03450_extravec_reconv/result/cuo.out
new file mode 100644
index 0000000000000000000000000000000000000000..ffa4d75178a75011c6f26fda23b1eb6a25d9f794
--- /dev/null
+++ b/test/CuO_03450_extravec_reconv/result/cuo.out
@@ -0,0 +1,611 @@
+ ***********************************************
+
+   Relaxed Selected Excitation (RelaxSE)
+
+   The RelaxSE project is distributed under https://spdx.org/licenses/LGPL-3.0-or-later.html
+
+   Copyright (C) 2016-2021  Institut Laue-Langevin (ILL), Grenoble, FRANCE
+                            Institut Neel, (CNRS), Grenoble, FRANCE
+
+   Authors: Elisa REBOLINI (ILL)            rebolini@ill.fr
+            Marie-Bernadette LEPETIT (CNRS) Marie-Bernadette.Lepetit@neel.cnrs.fr
+
+ ***********************************************
+ DEBUG VersionT
+ Calculation started on 06-12-2024 at 15:00
+
+ >>> Method sas+s   
+ >>> Ouverture des fichiers
+  out :                                                                         cuo.out
+ ref0 :                                                                        cuo.ref0
+  det :                                                                         cuo.det
+ bdet :                                                                        cuo.bdet
+ sass :                                                                        cuo.sass
+resta :                                                                     cuo.restart
+  mat :                                                                         cuo.mat
+ mat2 :                                                                        cuo.mat2
+ bmat :                                                                        cuo.bmat
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Reading input data
+ ----------------------------------------------------------------------------------------------------
+  Transfert d''information par namelist
+  Nbre d'irrep                     :   1
+  Nbre total d'orbitales           :  12
+  Nbre d'orbitales gelees          :  38
+  Nbre d'orbitales occuppees       :   0
+  Nbre d'orbitales lig. occ        :   3
+  Nbre d'orbitales actives         :   4
+  Nbre d'orbitales lig. virt       :   5
+  Nbre d'orbitales virtuelles      :   0
+  Nbre d'orbitales deletees        :  68
+  Nbre d'orbitales total           : ngel  nocc  nligo nact  nligv nvirt ndel  ntot Total
+                                   :  38     0     3     4     5     0    68    12   118
+
+  Nbre de vecteurs                 :   4
+  2S+1, 2Sz                        :   3     2
+  Irrep                            :   1
+  Nbre d'electrons actifs          :   4
+
+  Size of the Davidson Heff        :  10
+  Nbr of Davidson super-iter       : 200
+  Orthogonality threshold          : 1.0E-15
+  Normalisation threshold          : 1.0E-15
+  Conv. threshold on vectors       : 1.0E-08
+  Expected threshold on energies   : 1.0E-14
+  Nbr of 1st iter (restart)        :   0
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Preparations 
+ ----------------------------------------------------------------------------------------------------
+ >>> Orbital re-ordering Molcas <-> RelaxSE
+   Ordre des orbitales MOLCAS ds SelS
+    Irrep =  1
+    Gelees =           38
+       Molcas    :       1      2      3      4      5      6      7      8      9     10
+       Molcas/ir :       1      2      3      4      5      6      7      8      9     10
+       SelS      :       1      2      3      4      5      6      7      8      9     10
+       SelS up   :       1      2      3      4      5      6      7      8      9     10
+       SelS dn   :      39     40     41     42     43     44     45     46     47     48
+ 
+       Molcas    :      11     12     13     14     15     16     17     18     19     20
+       Molcas/ir :      11     12     13     14     15     16     17     18     19     20
+       SelS      :      11     12     13     14     15     16     17     18     19     20
+       SelS up   :      11     12     13     14     15     16     17     18     19     20
+       SelS dn   :      49     50     51     52     53     54     55     56     57     58
+ 
+       Molcas    :      21     22     23     24     25     26     27     28     29     30
+       Molcas/ir :      21     22     23     24     25     26     27     28     29     30
+       SelS      :      21     22     23     24     25     26     27     28     29     30
+       SelS up   :      21     22     23     24     25     26     27     28     29     30
+       SelS dn   :      59     60     61     62     63     64     65     66     67     68
+ 
+       Molcas    :      31     32     33     34     35     36     37     38
+       Molcas/ir :      31     32     33     34     35     36     37     38
+       SelS      :      31     32     33     34     35     36     37     38
+       SelS up   :      31     32     33     34     35     36     37     38
+       SelS dn   :      69     70     71     72     73     74     75     76
+    Occ    =            0
+    Ligo   =            3
+       Molcas    :      39     40     41
+       Molcas/ir :      39     40     41
+       SelS      :      39     40     41
+       SelS up   :      77     78     79
+       SelS dn   :      80     81     82
+    Act    =            4
+       Molcas    :      42     43     44     45
+       Molcas/ir :      42     43     44     45
+       SelS      :      42     43     44     45
+       SelS up   :      83     84     85     86
+       SelS dn   :      87     88     89     90
+    Ligv   =            5
+       Molcas    :      46     47     48     49     50
+       Molcas/ir :      46     47     48     49     50
+       SelS      :      46     47     48     49     50
+       SelS up   :      91     92     93     94     95
+       SelS dn   :      96     97     98     99    100
+    Virt   =            0
+    Delete =           68
+       Molcas    :      51     52     53     54     55     56     57     58     59     60
+       Molcas/ir :      51     52     53     54     55     56     57     58     59     60
+       SelS      :      51     52     53     54     55     56     57     58     59     60
+       SelS up   :     101    102    103    104    105    106    107    108    109    110
+       SelS dn   :     169    170    171    172    173    174    175    176    177    178
+ 
+       Molcas    :      61     62     63     64     65     66     67     68     69     70
+       Molcas/ir :      61     62     63     64     65     66     67     68     69     70
+       SelS      :      61     62     63     64     65     66     67     68     69     70
+       SelS up   :     111    112    113    114    115    116    117    118    119    120
+       SelS dn   :     179    180    181    182    183    184    185    186    187    188
+ 
+       Molcas    :      71     72     73     74     75     76     77     78     79     80
+       Molcas/ir :      71     72     73     74     75     76     77     78     79     80
+       SelS      :      71     72     73     74     75     76     77     78     79     80
+       SelS up   :     121    122    123    124    125    126    127    128    129    130
+       SelS dn   :     189    190    191    192    193    194    195    196    197    198
+ 
+       Molcas    :      81     82     83     84     85     86     87     88     89     90
+       Molcas/ir :      81     82     83     84     85     86     87     88     89     90
+       SelS      :      81     82     83     84     85     86     87     88     89     90
+       SelS up   :     131    132    133    134    135    136    137    138    139    140
+       SelS dn   :     199    200    201    202    203    204    205    206    207    208
+ 
+       Molcas    :      91     92     93     94     95     96     97     98     99    100
+       Molcas/ir :      91     92     93     94     95     96     97     98     99    100
+       SelS      :      91     92     93     94     95     96     97     98     99    100
+       SelS up   :     141    142    143    144    145    146    147    148    149    150
+       SelS dn   :     209    210    211    212    213    214    215    216    217    218
+ 
+       Molcas    :     101    102    103    104    105    106    107    108    109    110
+       Molcas/ir :     101    102    103    104    105    106    107    108    109    110
+       SelS      :     101    102    103    104    105    106    107    108    109    110
+       SelS up   :     151    152    153    154    155    156    157    158    159    160
+       SelS dn   :     219    220    221    222    223    224    225    226    227    228
+ 
+       Molcas    :     111    112    113    114    115    116    117    118
+       Molcas/ir :     111    112    113    114    115    116    117    118
+       SelS      :     111    112    113    114    115    116    117    118
+       SelS up   :     161    162    163    164    165    166    167    168
+       SelS dn   :     229    230    231    232    233    234    235    236
+
+
+ >>> Reading Ref0
+   Nb of read ref0       :  13
+    1   :    1011 0100 
+    2   :    1110 1000 
+    3   :    1110 0100 
+    4   :    1110 0010 
+    5   :    1101 1000 
+    6   :    1101 0100 
+    7   :    1101 0001 
+    8   :    1011 1000 
+    9   :    1011 0001 
+   10   :    1011 0010 
+   11   :    0111 0001 
+   12   :    0111 0100 
+   13   :    0111 0010 
+
+ >>> Generation of all determinants
+  Ref0:     1  Couches fermees :   0 - 0000 0000  Ref0:     1  Couches ouvertes:   4 - 1111 0000
+  Ref0:     2  Couches fermees :   1 - 1000 0000  Ref0:     2  Couches ouvertes:   2 - 0110 0000
+  Ref0:     3  Couches fermees :   1 - 0100 0000  Ref0:     3  Couches ouvertes:   2 - 1010 0000
+  Ref0:     4  Couches fermees :   1 - 0010 0000  Ref0:     4  Couches ouvertes:   2 - 1100 0000
+  Ref0:     5  Couches fermees :   1 - 1000 0000  Ref0:     5  Couches ouvertes:   2 - 0101 0000
+  Ref0:     6  Couches fermees :   1 - 0100 0000  Ref0:     6  Couches ouvertes:   2 - 1001 0000
+  Ref0:     7  Couches fermees :   1 - 0001 0000  Ref0:     7  Couches ouvertes:   2 - 1100 0000
+  Ref0:     8  Couches fermees :   1 - 1000 0000  Ref0:     8  Couches ouvertes:   2 - 0011 0000
+  Ref0:     9  Couches fermees :   1 - 0001 0000  Ref0:     9  Couches ouvertes:   2 - 1010 0000
+  Ref0:    10  Couches fermees :   1 - 0010 0000  Ref0:    10  Couches ouvertes:   2 - 1001 0000
+  Ref0:    11  Couches fermees :   1 - 0001 0000  Ref0:    11  Couches ouvertes:   2 - 0110 0000
+  Ref0:    12  Couches fermees :   1 - 0100 0000  Ref0:    12  Couches ouvertes:   2 - 0011 0000
+  Ref0:    13  Couches fermees :   1 - 0010 0000  Ref0:    13  Couches ouvertes:   2 - 0101 0000
+
+  Nbre de conf d'espace unique : 13
+  Ref0 irr:     1  Couches fermees :   0 - 0000  Ref0 irr:     1  Couches ouvertes:   4 - 1111
+  Ref0 irr:     2  Couches fermees :   1 - 1000  Ref0 irr:     2  Couches ouvertes:   2 - 0110
+  Ref0 irr:     3  Couches fermees :   1 - 0100  Ref0 irr:     3  Couches ouvertes:   2 - 1010
+  Ref0 irr:     4  Couches fermees :   1 - 0010  Ref0 irr:     4  Couches ouvertes:   2 - 1100
+  Ref0 irr:     5  Couches fermees :   1 - 1000  Ref0 irr:     5  Couches ouvertes:   2 - 0101
+  Ref0 irr:     6  Couches fermees :   1 - 0100  Ref0 irr:     6  Couches ouvertes:   2 - 1001
+  Ref0 irr:     7  Couches fermees :   1 - 0001  Ref0 irr:     7  Couches ouvertes:   2 - 1100
+  Ref0 irr:     8  Couches fermees :   1 - 1000  Ref0 irr:     8  Couches ouvertes:   2 - 0011
+  Ref0 irr:     9  Couches fermees :   1 - 0001  Ref0 irr:     9  Couches ouvertes:   2 - 1010
+  Ref0 irr:    10  Couches fermees :   1 - 0010  Ref0 irr:    10  Couches ouvertes:   2 - 1001
+  Ref0 irr:    11  Couches fermees :   1 - 0001  Ref0 irr:    11  Couches ouvertes:   2 - 0110
+  Ref0 irr:    12  Couches fermees :   1 - 0100  Ref0 irr:    12  Couches ouvertes:   2 - 0011
+  Ref0 irr:    13  Couches fermees :   1 - 0010  Ref0 irr:    13  Couches ouvertes:   2 - 0101
+  Nbre de det Ref0 final : 16
+ --------------------------------------------
+    Entree dans diag_S2 pour les etats :
+0111 1000
+1011 0100
+1101 0010
+1110 0001
+ Matrix to be diagonalised
+         3.000000     1.000000     1.000000     1.000000
+         1.000000     3.000000     1.000000     1.000000
+         1.000000     1.000000     3.000000     1.000000
+         1.000000     1.000000     1.000000     3.000000
+    Valeurs pp de S2
+   2.000000000000   2.000000000000   2.000000000000   6.000000000000
+
+    Nbre de conf S, Sz            3
+    0.048957    0.449881   -0.738383
+    0.256610   -0.815030   -0.140989
+    0.512449    0.365148    0.595031
+   -0.818016    0.000000    0.284341
+ --------------------------------------------
+
+  Ref0 finaux 
+    1   :   0111 1000
+    2   :   1011 0100
+    3   :   1101 0010
+    4   :   1110 0001
+    5   :   1110 1000
+    6   :   1110 0100
+    7   :   1110 0010
+    8   :   1101 1000
+    9   :   1101 0100
+   10   :   1101 0001
+   11   :   1011 1000
+   12   :   1011 0001
+   13   :   1011 0010
+   14   :   0111 0001
+   15   :   0111 0100
+   16   :   0111 0010
+  Nbre de det Ref1 (debug) :    4928
+  Nbre de det Ref1 CAS -> CAS :       0
+  Nbre de det Ref1 ligo-> CAS :      84
+  Nbre de det Ref1 CAS -> ligv:     140
+  Nbre de det Ref1 ligo-> ligv:     480
+  Nbre de det Ref1 ligo-> ligv + ech :     555
+  Nbre de det Ref1 ligo-> ligv tot:    1035
+  Ref1 Cas  -> Cas  :    1 ->     0
+===
+Active determinant list R_-2
+Contains 22 determinants
+           0           2          -2
+           6           0          16
+===
+Active determinant list R_-1
+Contains 52 determinants
+           1          -1           3          -3
+           4          24           0          24
+===
+Active determinant list R_0
+Contains 69 determinants
+           0           2          -2           4          -4
+          16           1          36           0          16
+===
+Active determinant list R_1
+Contains 52 determinants
+           1          -1           3          -3
+           4          24           0          24
+===
+Active determinant list R_2
+Contains 22 determinants
+           0           2          -2
+           6           0          16
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Generation of all determinants
+ ----------------------------------------------------------------------------------------------------
+  Nb of determinants in D  0 =                                       16
+  Nb of determinants in D  1 =                                     1035
+  Nb of determinants in D  2 =                                    11145
+  Nb of determinants in D 11 =                                       84
+  Nb of determinants in D 12 =                                     2040
+  Nb of determinants in D-11 =                                      140
+  Nb of determinants in D-12 =                                     3660
+  Nb of determinants in D 20 =                                      102
+  Nb of determinants in D-20 =                                      310
+
+  Total Nb of determinant                                         18532
+
+  >>> Generation of D0
+  >>> Determinant block D0 generated in     0.00 second(s)
+  >>> Generation of D1
+  >>> Determinant block D1 generated in     0.00 second(s)
+  >>> Generation of D2
+  >>> Determinant block D2 generated in     0.00 second(s)
+  >>> Generation of D11
+  >>> Determinant block D11 generated in     0.00 second(s)
+  >>> Generation of D12
+  >>> Determinant block D12 generated in     0.00 second(s)
+  >>> Generation of D-11
+  >>> Determinant block D-11 generated in     0.00 second(s)
+  >>> Generation of D-12
+  >>> Determinant block D-12 generated in     0.00 second(s)
+  >>> Generation of D20
+  >>> Determinant block D20 generated in     0.00 second(s)
+  >>> Generation of D-20
+  >>> Determinant block D-20 generated in     0.00 second(s)
+ >>>Determinants generated in   1.3935000000000001E-002 second(s)
+
+ >>> x_info written on file
+
+ >>> Determinants written on file
+
+ >>> Lecture des integrales TraOne et TraInt
+  >>> Lecture des integrales TraOne
+      Ouverture TraOne = cuo.TraOne
+  Lecture TraOne en entiers 64 bits
+  Potnuc =        -449.56085922
+  Nombre d'irrep lu ds TraOne =  1
+  BSLbl = 
+    Irrep =  1
+         1  CU01  1s  
+         2  CU01  2px 
+         3  CU01  2px 
+         4  CU01  2py 
+         5  CU01  2py 
+         6  CU01  2pz 
+         7  CU01  2pz 
+         8  CU01  3d2-
+         9  CU01  3d2-
+        10  CU01  3d1-
+        11  CU01  3d1-
+        12  CU01  3d0 
+        13  CU01  3d0 
+        14  CU01  3d1+
+        15  CU01  3d1+
+        16  CU01  3d2+
+        17  CU01  3d2+
+        18  CU02  1s  
+        19  CU02  2px 
+        20  CU02  2px 
+        21  CU02  2py 
+        22  CU02  2py 
+        23  CU02  2pz 
+        24  CU02  2pz 
+        25  CU02  3d2-
+        26  CU02  3d2-
+        27  CU02  3d1-
+        28  CU02  3d1-
+        29  CU02  3d0 
+        30  CU02  3d0 
+        31  CU02  3d1+
+        32  CU02  3d1+
+        33  CU02  3d2+
+        34  CU02  3d2+
+        35  O_03  1s  
+        36  O_03  2px 
+        37  O_03  2px 
+        38  O_03  2py 
+        39  O_03  2py 
+        40  O_03  2pz 
+        41  O_03  2pz 
+        42  O_03  3d2-
+        43  O_03  3d1-
+        44  O_03  3d0 
+        45  O_03  3d1+
+        46  O_03  3d2+
+        47  O_04  1s  
+        48  O_04  2px 
+        49  O_04  2px 
+        50  O_04  2py 
+        51  O_04  2py 
+        52  O_04  2pz 
+        53  O_04  2pz 
+        54  O_04  3d2-
+        55  O_04  3d1-
+        56  O_04  3d0 
+        57  O_04  3d1+
+        58  O_04  3d2+
+        59  O_05  1s  
+        60  O_05  2px 
+        61  O_05  2px 
+        62  O_05  2py 
+        63  O_05  2py 
+        64  O_05  2pz 
+        65  O_05  2pz 
+        66  O_05  3d2-
+        67  O_05  3d1-
+        68  O_05  3d0 
+        69  O_05  3d1+
+        70  O_05  3d2+
+        71  O_06  1s  
+        72  O_06  2px 
+        73  O_06  2px 
+        74  O_06  2py 
+        75  O_06  2py 
+        76  O_06  2pz 
+        77  O_06  2pz 
+        78  O_06  3d2-
+        79  O_06  3d1-
+        80  O_06  3d0 
+        81  O_06  3d1+
+        82  O_06  3d2+
+        83  O_07  1s  
+        84  O_07  2px 
+        85  O_07  2px 
+        86  O_07  2py 
+        87  O_07  2py 
+        88  O_07  2pz 
+        89  O_07  2pz 
+        90  O_07  3d2-
+        91  O_07  3d1-
+        92  O_07  3d0 
+        93  O_07  3d1+
+        94  O_07  3d2+
+        95  O_08  1s  
+        96  O_08  2px 
+        97  O_08  2px 
+        98  O_08  2py 
+        99  O_08  2py 
+       100  O_08  2pz 
+       101  O_08  2pz 
+       102  O_08  3d2-
+       103  O_08  3d1-
+       104  O_08  3d0 
+       105  O_08  3d1+
+       106  O_08  3d2+
+       107  O_09  1s  
+       108  O_09  2px 
+       109  O_09  2px 
+       110  O_09  2py 
+       111  O_09  2py 
+       112  O_09  2pz 
+       113  O_09  2pz 
+       114  O_09  3d2-
+       115  O_09  3d1-
+       116  O_09  3d0 
+       117  O_09  3d1+
+       118  O_09  3d2+
+  Nombre d'integrales a lire =           78
+  Nombre d'integrales mono-electroniques lues  =           78
+
+  >>> Lecture des integrales TraInt
+      Ouverture TraInt = cuo.TraInt
+  Lecture TraInt en entiers 64 bits
+  Total nb of 2e- integrals           3081
+  (oo|oo)                               21
+  (ao|oo)                               72
+  (aa|oo) and (ao|ao)                  138
+  (aa|ao)                              120
+  (aa|aa)                               55
+  (vo|oo)                               90
+  (va|oo) and (vo|ao)                  300
+  (va|ao) and (vo|aa)                  390
+  (va|aa)                              200
+  (vv|oo) and (vo|vo)                  210
+  (vv|ao), and (va|vo)                 480
+  (vv|aa) and (va|va)                  360
+  (vv|vo)                              225
+  (vv|va)                              300
+  (vv|vv)                              120
+  gelees                                 0
+ >>> Integrals read in   2.1330000000000029E-003 second(s)
+
+ >>> Construction of the Fock matrix
+ >>> Fock matrix built in   3.7400000000000627E-004 second(s)
+
+  One-electron energy =   -13.247675800429850     
+  Two-electron energy =    3.2986676825230550     
+  E0                  =   -9.9490081179067946     
+  Pot. Nuc.           =   -449.56085922003842     
+  Total E             =   -459.50986733794520     
+
+ >>> Construction of the diagonal of the Hamiltonian matrix (gen)
+ >>> Hdiag(gen) built in CPU time:    0.009818 second(s)  Wall time:    0.010000 second(s)
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Calculation of guess vectors
+ ----------------------------------------------------------------------------------------------------
+ >>> Build the matrix H0=<D00|H|D00>
+ >>> H0 diagonalised in   1.0100000000000386E-004 second(s)
+
+ ----------------------------------------------------------------------------------------------------
+ >>> Diagonalisation
+ ----------------------------------------------------------------------------------------------------
+
+ =================================================================
+ >>> Davidson Diagonalisation
+   Search for 4 vectors with a convergence threshold of  1.0E-04
+
+Total Elapsed tWall       0.0400s
+Particles are divided in batches of 5
+  #Iter     tCPU (s)    tWall (s)  Energies
+      0       0.0000       0.0000   -462.5453189892    -462.0809787580    -462.0769011406    -462.0756145990
+      1       0.5777       0.5780   -462.5453189892    -462.0809787580    -462.0769011406    -462.0756145990
+                                          4.441E-16          0.000E+00          0.000E+00          0.000E+00
+      2       0.5496       0.5520   -462.5473689642    -462.0981924925    -462.0887364619    -462.0780940339
+                                         -2.050E-03         -1.721E-02         -1.184E-02         -2.479E-03
+      3       0.5490       0.5490   -462.5473940635    -462.1184542108    -462.1023762082    -462.0820351170
+                                         -2.510E-05         -2.026E-02         -1.364E-02         -3.941E-03
+      4       0.5497       0.5500   -462.5473948871    -462.1444568814    -462.1188153382    -462.0936840670
+                                         -8.236E-07         -2.600E-02         -1.644E-02         -1.165E-02
+      5       0.5506       0.5510   -462.5473950005    -462.1520265723    -462.1209269573    -462.0949437075
+                                         -1.134E-07         -7.570E-03         -2.112E-03         -1.260E-03
+      6       0.5508       0.5510   -462.5473950217    -462.1539109210    -462.1221350039    -462.1128133939
+                                         -2.119E-08         -1.884E-03         -1.208E-03         -1.787E-02
+  The vectors            1  seem converged : we take them out
+      7       0.5136       0.5140   -462.1539109210    -462.1221350039    -462.1128133939
+                                          5.329E-15         -3.997E-15          8.438E-15
+      8       0.5137       0.5130   -462.1543716847    -462.1258613712    -462.1218882000
+                                         -4.608E-04         -3.726E-03         -9.075E-03
+      9       0.5141       0.5140   -462.1547068038    -462.1320532261    -462.1233737554
+                                         -3.351E-04         -6.192E-03         -1.486E-03
+     10       0.5132       0.5130   -462.1549637194    -462.1400305336    -462.1281417888
+                                         -2.569E-04         -7.977E-03         -4.768E-03
+     11       0.5142       0.5140   -462.1551952564    -462.1479589357    -462.1320278766
+                                         -2.315E-04         -7.928E-03         -3.886E-03
+     12       0.5138       0.5130   -462.1555748559    -462.1511873329    -462.1352917971
+                                         -3.796E-04         -3.228E-03         -3.264E-03
+     13       0.5148       0.5150   -462.1561363062    -462.1525113361    -462.1405647425
+                                         -5.615E-04         -1.324E-03         -5.273E-03
+     14       0.5154       0.5160   -462.1566115569    -462.1532644250    -462.1447567106
+                                         -4.753E-04         -7.531E-04         -4.192E-03
+     15       0.5155       0.5150   -462.1570302753    -462.1538377131    -462.1476550217
+                                         -4.187E-04         -5.733E-04         -2.898E-03
+     16       0.5153       0.5150   -462.1572888534    -462.1542116459    -462.1490515008
+                                         -2.586E-04         -3.739E-04         -1.396E-03
+  >>> On contracte <<<
+     17       0.5146       0.5150   -462.1572888534    -462.1542116459    -462.1490515008
+                                          2.665E-15          8.882E-16         -4.441E-16
+     18       0.5135       0.5140   -462.1573722202    -462.1543201138    -462.1493729824
+                                         -8.337E-05         -1.085E-04         -3.215E-04
+     19       0.5134       0.5130   -462.1574347636    -462.1543966744    -462.1495839235
+                                         -6.254E-05         -7.656E-05         -2.109E-04
+     20       0.5136       0.5130   -462.1574803402    -462.1544529075    -462.1497391559
+                                         -4.558E-05         -5.623E-05         -1.552E-04
+     21       0.5144       0.5150   -462.1575136219    -462.1544955392    -462.1498570307
+                                         -3.328E-05         -4.263E-05         -1.179E-04
+     22       0.5151       0.5150   -462.1575261983    -462.1545192019    -462.1499021265
+                                         -1.258E-05         -2.366E-05         -4.510E-05
+     23       0.5174       0.5180   -462.1575322197    -462.1545320734    -462.1499238803
+                                         -6.021E-06         -1.287E-05         -2.175E-05
+     24       0.5171       0.5170   -462.1575384133    -462.1545400325    -462.1499456848
+                                         -6.194E-06         -7.959E-06         -2.180E-05
+     25       0.5163       0.5170   -462.1575430162    -462.1545455306    -462.1499631578
+                                         -4.603E-06         -5.498E-06         -1.747E-05
+     26       0.5151       0.5150   -462.1575448151    -462.1545481486    -462.1499706616
+                                         -1.799E-06         -2.618E-06         -7.504E-06
+  >>> On contracte <<<
+     27       0.5139       0.5140   -462.1575448151    -462.1545481486    -462.1499706616
+                                         -2.354E-14         -1.332E-15          9.770E-15
+     28       0.5133       0.5130   -462.1575453824    -462.1545489020    -462.1499730971
+                                         -5.673E-07         -7.535E-07         -2.435E-06
+     29       0.5138       0.5140   -462.1575460020    -462.1545494342    -462.1499759748
+                                         -6.196E-07         -5.322E-07         -2.878E-06
+     30       0.5135       0.5130   -462.1575464252    -462.1545497172    -462.1499782286
+                                         -4.232E-07         -2.830E-07         -2.254E-06
+     31       0.5141       0.5140   -462.1575466500    -462.1545498852    -462.1499795620
+                                         -2.248E-07         -1.680E-07         -1.333E-06
+     32       0.5145       0.5150   -462.1575467753    -462.1545499825    -462.1499803355
+                                         -1.253E-07         -9.732E-08         -7.735E-07
+     33       0.5147       0.5150   -462.1575468540    -462.1545500433    -462.1499808540
+                                         -7.872E-08         -6.076E-08         -5.185E-07
+     34       0.5145       0.5140   -462.1575469110    -462.1545500829    -462.1499812908
+                                         -5.697E-08         -3.966E-08         -4.368E-07
+     35       0.5147       0.5150   -462.1575469529    -462.1545501108    -462.1499816564
+                                         -4.195E-08         -2.789E-08         -3.656E-07
+     36       0.5145       0.5150   -462.1575469690    -462.1545501250    -462.1499818113
+                                         -1.604E-08         -1.422E-08         -1.548E-07
+  >>> On contracte <<<
+     37       0.5164       0.5210   -462.1575469690    -462.1545501250    -462.1499818113
+                                          8.882E-16         -3.109E-15         -8.882E-16
+     38       0.5161       0.5160   -462.1575469754    -462.1545501318    -462.1499818754
+                                         -6.384E-09         -6.798E-09         -6.411E-08
+  The vectors            1           2  seem converged : we take them out
+-- Davidson' iteration:   38  ncol=  3 Nbre of converged vectors:  3 Nbre of remaining  vectors:  1
+     39       0.4296       0.4300   -462.1499818754
+                                         -1.243E-14
+     40       0.4294       0.4290   -462.1499819112
+                                         -3.586E-08
+     41       0.4296       0.4300   -462.1499820129
+                                         -1.017E-07
+     42       0.4295       0.4300   -462.1499820398
+                                         -2.686E-08
+     43       0.4297       0.4300   -462.1499820696
+                                         -2.980E-08
+     44       0.4309       0.4310   -462.1499820843
+                                         -1.478E-08
+     45       0.4320       0.4320   -462.1499821006
+                                         -1.623E-08
+     46       0.4313       0.4310   -462.1499821078
+                                         -7.266E-09
+  The vectors            1  seem converged : we take them out
+-- Davidson' iteration:   46  ncol=  9 Nbre of converged vectors:  4 Nbre of remaining  vectors:  0
+    
+ >>> Davidson procedure converged on vectors corrections at 1.0E-08 <<<
+ >>> Convergence reached after           45  iterations <<<
+    
+  Overlap matrix between final vectors (difference to Id) 
+       -0.144329E-14   -0.159131E-16   -0.563001E-16   -0.773630E-16
+       -0.159131E-16    0.310862E-14    0.104857E-14    0.414329E-14
+       -0.563001E-16    0.104857E-14    0.488498E-14    0.253356E-15
+       -0.773630E-16    0.414329E-14    0.253356E-15   -0.399680E-14
+
+ Energies :   -462.547395021697241    -462.157546975365733    -462.154550131837027    -462.149982107835683
+ E ss ref :     -3.037527683752005      -2.647679637420535      -2.644682793891838      -2.640114769890475
+ dE (a.u.):      0.000000000000000       0.389848046331470       0.392844889860167       0.397412913861530
+ dE (meV) :      0.000000000000000   10608.305765969455024   10689.854032747622114   10814.156298229641834
+ |Hv-Ev|  :             3.5086E-05              4.6833E-05              4.4846E-05              4.6802E-05
+ deltaE   :            -2.1188E-08             -6.3842E-09             -6.7983E-09             -7.2658E-09
+
+ Maximum precision expected on |Hv-Ev|   :  0.3D-07
+ Maximum precision expected on <v|H|v>-E :  0.1D-14
+
+ Calculation finished in CPUtime            24.94s Walltime:            24.95s
+ Calculation finished on 06-12-2024 at 15:00
diff --git a/test/CuO_03450_extravec_reconv/test b/test/CuO_03450_extravec_reconv/test
new file mode 100755
index 0000000000000000000000000000000000000000..8697cf689abaec53d36fa9da1272fa79304847b8
--- /dev/null
+++ b/test/CuO_03450_extravec_reconv/test
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..'))
+sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
+
+from runtest_relaxse import Filter, TestRun
+
+test = TestRun(__file__, sys.argv)
+
+f = Filter()
+
+f.add(string = 'Energies :',
+      abs_tolerance = 1.0e-6)
+
+#f.add(string = '|Hv-Ev|  :',
+#      abs_tolerance = 1.0e-7)
+
+test.run(['cuo.input'], {'out': f})
+
+sys.exit(test.return_code)
diff --git a/test/prop_CuO_02204/cuo.sass b/test/prop_CuO_02204/cuo.sass
index c05b663f40febe1d8ef5d371d0ef4c560460fa07..99f856a3f57873c872d3b89697beff2a1fc554f3 100644
Binary files a/test/prop_CuO_02204/cuo.sass and b/test/prop_CuO_02204/cuo.sass differ
diff --git a/test/prop_CuO_02240/cuo.sass b/test/prop_CuO_02240/cuo.sass
index 39d45f89425bb11696a9385de7da172b4f7e8419..ee6bd5afa8282a07367e7d3a5a94a0cac32ab5a0 100644
Binary files a/test/prop_CuO_02240/cuo.sass and b/test/prop_CuO_02240/cuo.sass differ
diff --git a/test/prop_CuO_03450/cuo.sass b/test/prop_CuO_03450/cuo.sass
index 92eef72cee8fef606d55364c6fec45c5590415b5..b4d5a0e79a6bbed2fbbf8806b3ee059b21418163 100644
Binary files a/test/prop_CuO_03450/cuo.sass and b/test/prop_CuO_03450/cuo.sass differ
diff --git a/test/prop_CuO_03450_Helm/cuo.sass b/test/prop_CuO_03450_Helm/cuo.sass
index 92eef72cee8fef606d55364c6fec45c5590415b5..b4d5a0e79a6bbed2fbbf8806b3ee059b21418163 100644
Binary files a/test/prop_CuO_03450_Helm/cuo.sass and b/test/prop_CuO_03450_Helm/cuo.sass differ
diff --git a/test/prop_CuO_20204/cuo.sass b/test/prop_CuO_20204/cuo.sass
index 608d60d5322d6993d540262650e19138660635b7..267696fe2b8c4e0b7880b41cf637dc6684e6451d 100644
Binary files a/test/prop_CuO_20204/cuo.sass and b/test/prop_CuO_20204/cuo.sass differ