On the original post, commenter Vijay Sharma asked:

Hello Jonny, I too have been reading a lot on Gromov Witten Invariants and trying to gain a little more grip at it. And I has this fact only through GW invariants. Thanks for the post for more intuitive explanations with drawings. May I ask you drew these pictures in Sage? Regards, Vijay

In answer, here is the Sage code I used to produce the pictures. It's

probably highly suboptimal, and I haven't run it for many years now to

check it.

var('x,y,z') p = implicit_plot3d(x^2+y^2-z^2==1, (x, -2, 2), (y, -2,2), (z, -2,2),opacity=0.8,color='grey') u = var(‘u') q = parametric_plot3d((u, 1, u), (u, -2, 2),color='yellow',thickness=5) r = parametric_plot3d((u/sqrt(2), u/sqrt(2)+sqrt(2), u+1), (u, -3, 1),color='yellow',thickness=5) s = parametric_plot3d((u/sqrt(10), -3*u/sqrt(10)+sqrt(10), u-3), (u, 0, 5),color='yellow',thickness=5) t = parametric_plot3d((u, 0.7, 0.5*u+0.1),(u, -2, 2),color='blue',thickness=5) n = (0.1-sqrt(0.1^2-4*(1-0.5^2)*(0.7^2-0.1^2-1)))/(2*(1-0.5^2)) m = 0.5*n+0.1 k = (0.1+sqrt(0.1^2-4*(1-0.5^2)*(0.7^2-0.1^2-1)))/(2*(1-0.5^2)) f = 2 g = -5 a = parametric_plot3d((-u/sqrt(1+f^2), -f*u/sqrt(1+f^2)+sqrt(1+f^2), u-f), (u, -1, 4),color='red',thickness=5) b = parametric_plot3d((-u/sqrt(1+g^2), -g*u/sqrt(1+g^2)+sqrt(1+g^2), u-g), (u, -7, -3),color='red',thickness=5) c = parametric_plot3d((n,0.7,m),(u,-2,2),color='red',thickness=15) d = parametric_plot3d((k,0.7,0.5*k+0.1),(u,-2,2),color='red',thickness=15) show(p+q+r+s+t+b+a+c+d,frame=False)

Commenter Grisvard asked:

"These lines trace out a quadric surface containing the three lines as you vary the point on A" Why a quadric?

My answer was as follows. I think I'm right in saying that \(PGL(4,C)\)

acts transitively on generic triples of lines in \(P^3\): at least this

is heuristically justified by a dimension count – the group has

complex dimension 15 and the space of triples of lines has

dimension 12. This could be made rigorous if you check that the

infinitesimal action is surjective at your favourite configuration of

lines (provided your favourite triple is generic!) because it would

give you a Zariski open \(PGL(4,C)\)-orbit in the space of line-triples

(which you now take as your definition of “generic”). It also acts

transitively on smooth quadric surfaces (because any two nondegenerate

quadratic forms are equivalent over \(C\)). Therefore it suffices to fix

your favourite configuration of three lines and check that it's

contained in a quadric surface.