Procedure from library gmspoly.lib (see gmspoly_lib).
Usage:
goodBasis(f); poly f
Assume:
f is cohomologically tame in the sense of Sabbah [Sab98,8]
Return:
ring R; basering with new variable s
ideal b; [matrix(b)] is a good basis of the Brieskorn lattice
matrix A; A(s)=A0+s*A1 and t[matrix(b)]=[matrix(b)](A(s)+s^2*(d/ds))