Wow, thanks Vincent. This is awesome! Could you shortly explain what the crucial difference is here?
On this occasion, may I ask you a slightly off-topic question? Is there an effective way to compute the polarization of homogeneous polynomials in Sage? Best Michael Am Dienstag, 21. April 2020 12:08:56 UTC+2 schrieb vdelecroix: > > Hi Michael, > > Indeed, Sym.e().from_polynomial(P(seq_taylor)) is taking ages! > Using the function from the attached you can compute todd(12) > is computed in 18ms :-) > > sage: todd(12) > e[] + 1/2*e[1] + 1/12*e[1, 1] - 1/720*e[1, 1, 1, 1] + 1/30240*e[1, 1, 1, > 1, 1, 1] + 1/12*e[2] + 1/24*e[2, 1] + 1/180*e[2, 1, 1] - 1/1440*e[2, 1, > 1, 1] - 1/5040*e[2, 1, 1, 1, 1] + 1/240*e[2, 2] + 1/480*e[2, 2, 1] + > 11/60480*e[2, 2, 1, 1] + 1/6048*e[2, 2, 2] + 1/720*e[3, 1] + 1/1440*e[3, > 1, 1] + 1/12096*e[3, 1, 1, 1] + 11/60480*e[3, 2, 1] - 1/60480*e[3, 3] - > 1/720*e[4] - 1/1440*e[4, 1] - 1/12096*e[4, 1, 1] - 1/6720*e[4, 2] - > 1/30240*e[5, 1] + 1/30240*e[6] > sage: %time t = todd(12) > CPU times: user 18.5 ms, sys: 112 µs, total: 18.6 ms > Wall time: 18.1 ms > > Best > Vincent > > > > Le 21/04/2020 à 11:20, Michael Jung a écrit : > > Hi Travis, > > yes, that is exactly what I want to do. I want to compute multiplicative > > sequences from arbitrary formal power series, which has use in geometry. > > However, in that paper, they compare two different approaches. And even > the > > general (slower) approach (elimination) seems to be faster than Sage's > > algorithm. Let me show you what I have tried so far. > > > > sage: n = 12 > > sage: f = x / (1-exp(-x)) > > sage: Sym = SymmetricFunctions(QQ) > > sage: P = PolynomialRing(QQ, 'x', n) > > sage: seq = prod(f.subs({f.default_variable(): var}) for var in > P.gens()) > > sage: inp = [(var, 0) for var in P.gens()] > > sage: seq_taylor = seq.taylor(*inp, n // 2) > > sage: Sym.e().from_polynomial(P(seq_taylor)) > > > > This code is to compute Todd numbers up the the 6th degree and takes > hours > > of computation. Did I do use symmetric functions wrong here? > > > > Regards > > Michael > > > > Am Dienstag, 21. April 2020 02:44:19 UTC+2 schrieb Travis Scrimshaw: > >> > >> Hi Michael, > >> Perhaps I am misunderstanding what you are trying to do. I was > thinking > >> you were starting with a polynomial in, say, R.<x,y,z> that you know is > >> symmetric and you want its expression in expressed in terms of > elementary > >> symmetric functions. Whereas in that paper, they seem to be computing > very > >> specific symmetric polynomials by applying the constraints of the > geometry. > >> However, there are some specialized change of bases that could be done, > >> such as p -> e using the contents of section 2, that could be faster > >> (although in that case, Sage seems to be pretty fast). Or have I > >> misunderstood something? > >> > >> Thanks, > >> Travis > >> > >> > >> On Tuesday, April 21, 2020 at 10:00:35 AM UTC+10, Michael Jung wrote: > >>> > >>> Thanks for your reply Travis. > >>> > >>> Here are different computations compared, which take milliseonds up to > >>> seconds: https://orbilu.uni.lu/bitstream/10993/21949/2/ChernLib.pdf > >>> > >>> In contrast, doing a similar computation with the same polynomials > using > >>> `SymmetricFunctions` takes hours. > >>> > >>> However, I think this is a special case they consider, which makes the > >>> computation probably faster. > >>> > >>> Kind regards > >>> Michael > >>> > >>> Am Dienstag, 21. April 2020 01:52:43 UTC+2 schrieb Travis Scrimshaw: > >>>> > >>>> Hi Michael, > >>>> The process is to take a polynomial, convert it to the monomial > sym > >>>> func basis, then to the elementary basis (which is outsourced to > >>>> symmetrica). Do you have some references for these efficient > algorithms to > >>>> convert a polynomial directly to the elementary basis? > >>>> > >>>> Best, > >>>> Travis > >>>> > >>>> > >>>> On Tuesday, April 21, 2020 at 3:18:37 AM UTC+10, Michael Jung wrote: > >>>>> > >>>>> Dear Sage developers, > >>>>> > >>>>> currently, I am working on an alternative algorithm to compute > >>>>> characteristic forms. I hope to gain a speed-up here. For this > reason, I > >>>>> need to express symmetric polynomials in terms of elementary > symmetric > >>>>> functions. At the moment, I am playing around with > `SymmetricFunctions`. > >>>>> However, the implemented algorithm seems to be very slow. I know > that there > >>>>> are quite efficient algorithms out there, but are they accessible in > Sage? > >>>>> > >>>>> Thanks for your help and best wishes > >>>>> Michael > >>>>> > >>>> > > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/a490c836-29bc-4a8a-85f0-ed5633e00c9c%40googlegroups.com.