If we consider the modular curve $X = X_0(N)$ as a curve over $\mathbb C$ then one can describe the jacobian $J(X)$ as $H^0(X,\Omega^1_X)^\vee/H_1(X,\mathbb Z)$ as one can do for any curve $X$. However when $X=X_0(N)$ there is more structure and we can describe $H^0(X,\Omega^1_X) \cong S_2(\Gamma_0(N),\mathbb C)$ in terms of modular forms and $H_1(X,\mathbb Z) \cong {\mathbb S}_2(\Gamma_0(N),\mathbb Z)$ in terms of integer-valued modular symbols.
Now since $J_0(N)$ is a jacobian, it has a principal polarization $\phi :J_0(N) \to J_0(N)^\vee$. This polarization hence also induces a linear map on modular symbols $\phi_*:{\mathbb S}_2(\Gamma_0(N),\mathbb Z) \to Hom({\mathbb S}_2(\Gamma_0(N),\mathbb Z), \mathbb Z)$. My question is:
Is there a nice (combinatorial) description of the principal polarization on $J_0(N)$ in terms of modular symbols? I.e. can one explicitly compute the map $\phi_*$ described above?
I'm also interested to know if some computer software can already compute $\phi_*$ for values of $N$ around 200 say.
Addendum/Edit:
I am aware of the paper Intersection sur des courbes modulaires by Loic Merel. That does compute intersections between certain homology spaces. However those are relative homology spaces that sometimes have presentations that are not compatible with the standard way of representing modular symbols and it seems to stop short of computing it on the spaces I am interested in.