FUNCTION : qseries[findlincombo] - tries to express a q-series as a
linear combination of
a given list of q-series.
CALLING SEQUENCE : findlincombo(f,L,SL,q,topshift)
PARAMETERS : L - list of q-series
SL - list of names
q - variable
topshift - integer greater than -20
GLOBAL VARIABLES : ct, gooo
SYNOPSIS :
findlincombo(f,L,SL,q,topshift) returns a set of potential
set of linear combinations from L for the given q-series f.
The value of topshift is usually taken to be zero. Howeverm if
it appears that spurious relations are being generated then a higher
value of topshift should be taken.
SL is a list of names used in printing the linear combinbations.
NOTE: The global var ct is tranpose of matrix of coeffs.
The global var gooo is its kernel. These used for debugging
purposes.
EXAMPLES :
> f1:=1+q+q^3;
> f2:=1+q-q^3-q^5-q^7;
> f3:=12*f1+13*f2;
> qseries[findlincombo](f3,[f1,f2],[F1,F2],q,0);
nx = , 2
# of terms , 23
12 F1 + 13 F2
> qseries[findlincombo](f3,[f1,f2+q],[F1,F2],q,0);
nx = , 2
# of terms , 23
WARNING: dim ker =, 0
%NOT A LINEAR COMBO.%
DISCUSSION :
We see that f3 is a linear combination of f1 and f2; namely
f3 = 12*f1 + 13*f2. We also see that f3 is not a linear
combination of f1 and (f2+q).
SEE ALSO : findhom, findhomcombo
Last update made Sat Feb 14 14:09:43 EST 2009.