## "Fossies" - the Fresh Open Source Software Archive ### Source code changes of the file "src/basemath/Flv.c" betweenpari-2.13.0.tar.gz and pari-2.13.1.tar.gz

About: PARI/GP is a computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other mathematical functions.

Flv.c  (pari-2.13.0):Flv.c  (pari-2.13.1)
skipping to change at line 1183 skipping to change at line 1183
return gerepileupto(av, X); return gerepileupto(av, X);
} }
GEN GEN
Flm_invimage_i(GEN A, GEN B, ulong p) Flm_invimage_i(GEN A, GEN B, ulong p)
{ {
GEN d, x, X, Y; GEN d, x, X, Y;
long i, j, nY, nA = lg(A)-1, nB = lg(B)-1; long i, j, nY, nA = lg(A)-1, nB = lg(B)-1;
if (!nB) return cgetg(1, t_MAT); if (!nB) return cgetg(1, t_MAT);
if ( >= Flm_CUP_LIMIT && nbrows(B) >= Flm_CUP_LIMIT) if (maxss(nA, nB) >= Flm_CUP_LIMIT && nbrows(B) >= Flm_CUP_LIMIT)
return Flm_invimage_CUP(A, B, p); return Flm_invimage_CUP(A, B, p);
x = Flm_ker); x = Flm_ker(shallowconcat(Flm_neg(A,p), B), p);
/* AX = BY, Y in strict upper echelon form with pivots = 1. /* AX = BY, Y in strict upper echelon form with pivots = 1.
* We must find T such that Y T = Id_nB then X T = Z. This exists iff * We must find T such that Y T = Id_nB then X T = Z. This exists iff
* Y has at least nB columns and full rank */ * Y has at least nB columns and full rank */
nY = lg(x)-1; nY = lg(x)-1;
if (nY < nB) return NULL; if (nY < nB) return NULL;
Y = rowslice(x, nA+1, nA+nB); /* nB rows */ Y = rowslice(x, nA+1, nA+nB); /* nB rows */
d = cgetg(nB+1, t_VECSMALL); d = cgetg(nB+1, t_VECSMALL);
for (i = nB, j = nY; i >= 1; i--, j--) for (i = nB, j = nY; i >= 1; i--, j--)
{ {
for (; j>=1; j--) for (; j>=1; j--)
End of changes. 2 change blocks.
2 lines changed or deleted 2 lines changed or added