FUNCTION : qseries[findcong] - Find linear congruence
CALLING SEQUENCE : findcong(QS,T)
findcong(QS,T,LM)
findcong(QS,T,LM,XSET)
PARAMETERS : QS - q-series
T,LM - positive integers
XSET - set of positive integers
GLOBAL VARIABLES : xprint
SYNOPSIS :
findcong(QS,T) searches for linear congruences.
If QS = sum c[n]*q^n (where n<=T) then
it returns triples [B,A,R] where
c[A*n + B] == 0 mod R (at least up to n=LM)
and R is not in XSET.
The default LM=trunc(sqrt(T)).
Also R is a prime power.
The global var xprint is the usual.
CHANGES :
1.3: o fixed major bug. The old verfsion was missing some congruences.
EXAMPLES :
> with(qseries):
> P:=series(1/etaq(q,1,1001),q,1001):
> findcong(P,1000);
[4, 5, 5]
[5, 7, 7]
[6, 11, 11]
[24, 25, 25]
{[5, 7, 7], [4, 5, 5], [24, 25, 25], [6, 11, 11]}
DISCUSSION:
findcong found the Ramanujan partition congruences
p(5n+4) == 0 mod 5
p(7n+5) == 0 mod 7
p(11n+6) == 0 mod 11
p(25n+24) == 0 mod 25
SEE ALSO : findlincombomodp