Examples of "Effective Gromov-Witten computations for GKM spaces and a semisimple application"

In this section, we reproduce the quantum product computations whose code was printed explicitly in [HM26].

julia> R = root_system(:C, 3);

julia> I = [1, 3];

julia> X = generalized_gkm_flag(R, I);

julia> Q = quantum_schubert_context(X);

julia> products = all_quantum_schubert_products(Q, 2; show_bar=false);

julia> M = quantum_schubert_matrix(products; at_q1 = false)
[0   0   0   0   0   0    0   0   q1   0    0    0]
[1   0   0   0   0   0   q1   0    0   0    0    0]
[0   1   0   0   0   0    0   0    0   0    0    0]
[0   1   0   0   0   0    0   0    0   0   q1    0]
[0   0   1   1   0   0    0   0    0   0    0    0]
[0   0   0   0   2   0    0   1    0   0    0    0]
[0   0   0   0   0   1    0   0    1   0    0    0]
[0   0   0   1   0   0    0   0    0   0    0   q1]
[0   0   0   0   1   0    0   2    0   0    0    0]
[0   0   0   0   0   1    0   0    0   0    0    0]
[0   0   0   0   0   0    1   0    0   1    0    0]
[0   0   0   0   0   0    0   0    0   0    1    0]
julia> P3 = projective_space(NormalToricVariety, 3);

julia> y = domain(blow_up(P3, 5));

julia> pc = picard_group_with_map(y)[1];

julia> l1 = toric_line_bundle(y, pc([1, 0]));

julia> l2 = toric_line_bundle(y, pc([0, 1]));

julia> L = gkm_vector_bundle_of_toric(l1);

julia> L2 = gkm_vector_bundle_of_toric(l2);

julia> h1 = first_chern_class(L);

julia> h2 = first_chern_class(L2);

julia> Y = baseof(L);

julia> my_basis = [h1^0, h2, h1*h2, h1, h1^2, h1^3];

julia> N = matrix_small_quantum_product(Y, h1; basis = my_basis, show_bar = false)
[0   0   0   0   1   1]
[0   0   0   0   0   1]
[0   1   0   0   0   0]
[1   0   0   0   0   0]
[0   0   0   1   0   0]
[0   0   1   0   1   0]

julia> my_basis = [h1^0, h2, h1*h2, h1, h1^2];

julia> M = twisted_matrix_small_quantum_product(L, h1; basis = my_basis, show_bar = false)
[0      0   1      1   1]
[0      0   1      0   1]
[0   1//2   0   1//2   0]
[1      0   0      0   0]
[0   1//2   0   1//2   0]
julia> V1 = vector_bundle_O(2, [1]);

julia> G, (v1, v2, v3) = (baseof(V1), V1) * (baseof(V1), V1) * (baseof(V1), V1);

julia> V = (v1*v2) + (v1*v3) + (v2*v3);

julia> h1 = chern_class(v1, 1);

julia> h2 = chern_class(v2, 1);

julia> h3 = chern_class(v3, 1);

julia> my_basis = [h1^0, h1, h2, h3, h1^2, h1*h3, h2^2, h1^2*h2];

julia> classes = [h1, 2*h2, 3*h3];

julia> M = twisted_matrix_small_quantum_product(V, classes, basis = my_basis);

julia> discriminant(charpoly(M[1]+M[2]+M[3]))
-3627077673427665895526400000000000000000000000000