Dan,

Before giving any "sage advice" I need to know how bad the
"real denominators" will get.

A special trick can be used if the denominators are limited to
(x_i - x_j).

Your toy example involves (1 - t x_i y_j)^{-1}
which is no problem at all using geometric series in an extra variable.

--Mark

> Sorry for asking a somewhat related question to one I asked a while ago, 
> but I find myself in the situation of trying to expand a certain 
> multivariate symmetric series (polynomial after cutoff) in certain classes 
> of symmetric functions and can't seem to get it working. 
> 
> The following is true:
> 
> \sum_{\lambda} \product_{i=1...n} (1-t^{\lambda_i + n - i + 1}) s_{\lambda} 
> (x_1,...,x_n) s_{\lambda} (y_1,...,y_n) = \\
> 
> \frac {1} {\prod_{i < j} (x_i - x_j) (y_i - y_j)} \det_{i,j} ( \frac {1-t} 
> {(1-t x_i y_j) (1-x_i y_j)} )
> 
> Proof is simple, but generalizations to Hall Littlewood or Macdonald 
> polynomials (with non trivial proofs) exist due to Warnaar and 
> Noumi-Kirillov.
> 
> Question: Suppose I don't know the identity but suspect something along 
> those lines is true. How do I expand the right hand side (a quotient of a 
> determinant by the 2 vandermondes) in Schur functions (in x's say) and 
> recover the coefficients (schur functions in y's times some products of 1 - 
> q^? ) 
> 
> I tried the following naive idea (suggested some time ago in a slightly 
> different context) and failed. Basically, using power series rings.
> 
> n=2 # number of variables
> # setup of the rings
> R1.<t> = QQ[]
> R1 = FractionField(R1)
> dp = n+4
> R = PowerSeriesRing(R1, n, 'z', default_prec = dp)
> S = PowerSeriesRing(R, n, 'x', default_prec=dp)
> Sym = SymmetricFunctions(R)
> 
> # set up the determinant divided by the vandermondes
> M = matrix(SR,2, [(1-R1.gen(0)) / ( (1 - 
> R1.gen(0)*S.gen(0)*S.base_ring().gen(0)) * (1 - 
> S.gen(0)*S.base_ring().gen(0)) ), (1-R1.gen(0)) / ( (1 - 
> R1.gen(0)*S.gen(0)*S.base_ring().gen(1)) * (1 - 
> S.gen(0)*S.base_ring().gen(1)) ), (1-R1.gen(0)) / ( (1 - 
> R1.gen(0)*S.gen(1)*S.base_ring().gen(0)) * (1 - 
> S.gen(1)*S.base_ring().gen(0)) ), (1-R1.gen(0)) / ( (1 - 
> R1.gen(0)*S.gen(1)*S.base_ring().gen(1)) * (1 - 
> S.gen(1)*S.base_ring().gen(1)) )])
> 
> h = M.det()
> h *= prod( 1/(S.gen(i) - S.gen(j)) for i in range(n) for j in range(i+1,n))
> h *= prod( 1/(S.base_ring().gen(i) - S.base_ring().gen(j)) for i in 
> range(n) for j in range(i+1,n))
> 
> Schur = Sym.schur()
> 
> #do the expansion
> Schur_det_expansion = Schur(Sym.from_polynomial(h.polynomial()))
> 
> # for a small partition lambda print the coefficient
> la = Partition([2,1])
> print Schur_det_expansion.coefficient(la)
> 
> The errors I get are varied. If I do the determinant first (the case 
> above), there's an error saying symbolic ring is not the same as the power 
> series ring (I suppose the determinant returns an element of symbolic ring 
> and sees a power series inside). If I divide by the vandermondes first, 
> well those are not power series so the error claims I can only divide by a 
> unit (and x_i - x_j ain't a unit). But the two errors of course cancel each 
> other in theory (the vandermondes divide the determinant) and the end 
> result makes sense as exemplified by the theorem I stated. 
> 
> I was deliberately stating this problem in the simplest case to avoid 
> cumbersome notations, but the next step is to go to Hall-Littlewood and 
> beyond.
> 
> As a side question, are there routines that compute Pfaffians in sage?
> 
> Can anybody help? Please?:)
> 
> Thanks,
> 
> Dan
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sage-combinat-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-combinat-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-combinat-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-combinat-devel.
> For more options, visit https://groups.google.com/groups/opt_out.
 
 
 
 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to