Ticket #21579: 21579_fflas-ffpack_charpoly.patch

File 21579_fflas-ffpack_charpoly.patch, 744 bytes (added by cpernet, 3 years ago)

Fix to fflas-ffpack LUKrylov charpoly

  • fflas-ffpack/ffpack/ffpack_charpoly.inl

    diff --git a/fflas-ffpack/ffpack/ffpack_charpoly.inl b/fflas-ffpack/ffpack/ffpack_charpoly.inl
    index d236487..d3d62c4 100644
    a b namespace FFPACK { 
    193193                                FFPACK::MinPoly (F, minP, (size_t)Ncurr, A, lda, X2, ldx, P);
    194194                                int k = int(minP.size()-1); // degre of minpoly
    195195                                if ((k==1) && F.isZero ((minP)[0])){ // minpoly is X
    196                                         Ai = A;
    197                                         int j = Ncurr*Ncurr;
    198                                         while (j-- && F.isZero(*(Ai++))) ;
    199                                         if (!j){ // A is 0, CharPoly=X^n
     196                                        if (FFLAS::fiszero(F,Ncurr, Ncurr, A, lda)){
     197                                                    // A is 0, CharPoly=X^n
    200198                                                minP.resize((size_t)Ncurr+1);
    201199                                                (minP)[1] = F.zero;
    202200                                                (minP)[(size_t)Ncurr] = F.one;