# Revision history [back]

The function coefficients may help you, though it is not exactly what you requested for at least three reasons:

sage: e = trm.expand()
sage: e.coefficients(sqrt(2))
[[2*sqrt(2)*c + 3*a + c + 4*d, 0], [3*b + d, 1]]


The three problems:

1. It is not written in the same way as you want, but you can obtain a closer expression like this:

sage: sum([cc[0] * sqrt(2)^cc[1] for cc in c])
sqrt(2)*(3*b + d) + 2*sqrt(2)*c + 3*a + c + 4*d

2. The second, more disturbing problem, is that coefficients seem not to produce what we would like in this case. In particular, we would like to have

sage: e.coefficients(sqrt(2))
[[3*a + c + 4*d, 0], [2*c + 3*b + d, 1]]


I do not now why this is not the case. It may be a bug.

3. Finally, this works for only one square root as such. Maybe some modification can yield the result with several square roots.