How to properly declare indeterminates so that they exist in the coefficient ring.
I'm working on a project regarding generalization of symmetric polynomials.
For the sake of simplicity, I will ask my question in the context of a minimalistic (not) working example.
Let say I am working with Symmetric Functions, I'll write an erroneous code so that you get the idea of what I'm looking for
QQt = QQ['t'].fraction_field()
Sym = SymmetricFunctions(QQt); Sym.inject_shorthands()
a0 = var('a0')
expr1 = m[1,1]
expr2 = m[2] + a0*m[1,1]
eqsys = expr1.scalar_jack(expr2)
solve(eqsys, a0)
The I get the error unsupported operand parent(s) for *: 'Symbolic Ring' and 'Symmetric Functions over Fraction Field of Univariate Polynomial Ring in alpha over Rational Field in the monomial basis'
OK, so I tried this instead
QQt = QQ['t,a0'].fraction_field()
t, a0 = QQt.gens()
Sym = SymmetricFunctions(QQt); Sym.inject_shorthands()
expr1 = m[1,1]
expr2 = m[2] + a0*m[1,1]
eqsys = expr1.scalar_jack(expr2)
solve(eqsys, a0)
a0 is not a valid variable
So then I did the following
sln = solve(SR(eqsys), SR(a0))
and it works. But the probleme is that I can't convert the solution back
QQt(sln)
('cannot convert {!r}/{!r} to an element of {}', {a0: 2/(t + 1)}, 1, Fraction Field of Multivariate Polynomial Ring in t, a0 over Rational Field)
And anyway this last solution does not seem very canonical. How should I proceed?
I guess that somehow what I am asking is how to declare a0, a1, ...
as symbols element of QQt.