def apart_full_decomposition(P, Q):
 return assemble_partfrac_list(apart_list((P / Q), P.gens[0]))

def apart_full_decomposition ( P , Q ) : return assemble_partfrac_list ( apart_list ( ( P / Q ) , P . gens [ 0 ] ) )
bronsteins full partial fraction decomposition algorithm .