#include #include using namespace GiNaC; int main(int argc, char* argv[]) { int N = 4; ex e, f, s, a0, a1; a0 = symbol("a0"); a1 = symbol("a1"); e = a0 + a1; f = 0; for (int i = 2; i < N; i++) { s = sqrt(ex(3))*symbol("a"+std::to_string(i)); e = e + s; f = f - s; } e = expand(e * e); e = e.subs(a0 == f); e = expand(e); std::cout << e << std::endl; return 0; }