@@ -233,6 +233,33 @@ intrinsic Sage(I::RngOrdIdl) -> MonStgElt, BoolElt
233233return Sprintf(" %o.ideal(%o)" , Sage(K ),Sage(seq )), true ;
234234end intrinsic ;
235235
236+ /* Symmetric functions */
237+
238+ intrinsic Sage(X::AlgSym) -> MonStgElt, BoolElt
239+ {}
240+ if HasSchurBasis(X ) then
241+ return Sprintf(" SymmetricFunctions(%o).s()" , Sage(BaseRing(X ))), false ;
242+ elif HasHomogeneousBasis(X) then
243+ return Sprintf(" SymmetricFunctions(%o).h()" , Sage(BaseRing(X ))), false ;
244+ elif HasElementaryBasis(X) then
245+ return Sprintf(" SymmetricFunctions(%o).e()" , Sage(BaseRing(X ))), false ;
246+ elif HasPowerSumBasis(X) then
247+ return Sprintf(" SymmetricFunctions(%o).p()" , Sage(BaseRing(X ))), false ;
248+ elif HasMonomialBasis(X) then
249+ return Sprintf(" SymmetricFunctions(%o).m()" , Sage(BaseRing(X ))), false ;
250+ end if ;
251+ end intrinsic ;
252+
253+ intrinsic Sage(X::AlgSymElt) -> MonStgElt, BoolElt
254+ {}
255+ PA : = Parent(X );
256+ SF : = Sage(PA );
257+ BR : = Sage(BaseRing(PA ));
258+ parts , coeffs : = Support(X );
259+ dict : = (&* [ Sprintf(" Partition(%o):%o(%o)," , Sage(parts [i ]), BR , Sage(coeffs [i ])) : i in [1 ..#parts ] ]);
260+ return Sprintf(" %o._from_dict({%o})" , SF , dict ), false ;
261+ end intrinsic ;
262+
236263/* Elliptic curves */
237264
238265intrinsic Sage(X : :CrvEll ) -> MonStgElt , BoolElt
0 commit comments