def run_pieri_homotopies(mdim, pdim, qdeg, planes, *pts, **opt): r""" Computes the number of *pdim*-plane producing maps of degree *qdeg* that meet *mdim*-planes at mdim*pdim + qdeq*(mdim+pdim) points. For *qdeg* = 0, there are no interpolation points in *pts*. """ from phcpy.phcpy2c3 import py2c_schubert_pieri_count from phcpy.phcpy2c3 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c3 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c3 import py2c_solcon_clear_standard_solutions from phcpy.phcpy2c3 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c3 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c3 import py2c_solcon_write_standard_solution_string if 'verbose' not in opt: verbose = True # by default, the function is verbose else: verbose = opt['verbose'] root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) if verbose: print('Pieri root count for', (mdim, pdim, qdeg), 'is', root_count) strplanes = planes_to_string(planes) # print 'length of input data :', len(strplanes) if(qdeg > 0): strpts = points_to_string(pts[0]) # print 'the interpolation points :', strpts else: strpts = '' # print 'calling py2c_pieri_homotopies ...' py2c_solcon_clear_standard_solutions() if verbose: print('passing %d characters for (m, p, q) = (%d, %d, %d)' \ % (len(strplanes), mdim, pdim, qdeg)) py2c_schubert_pieri_homotopies(mdim, pdim, qdeg, \ len(strplanes), strplanes, strpts) # print 'making the system ...' pols = [] if(qdeg == 0): for i in range(1, mdim*pdim+1): pols.append(py2c_syscon_load_standard_polynomial(i)) else: for i in range(1, mdim*pdim+qdeg*(mdim+pdim)+1): pols.append(py2c_syscon_load_standard_polynomial(i)) if verbose: print('the system :') for poly in pols: print(poly) print('root count :', root_count) nbsols = py2c_solcon_number_of_standard_solutions() sols = [] for k in range(1, nbsols+1): lns = py2c_solcon_length_standard_solution_string(k) sol = py2c_solcon_write_standard_solution_string(k, lns) sols.append(sol) if verbose: print('the solutions :') for solution in sols: print(solution) return (pols, sols)
def pieri_root_count(mdim, pdim, qdeg): """ Computes the number of pdim-plane producing maps of degree qdeg that meet mdim-planes at mdim*pdim + qdeg*(mdim+pdim) points. """ from phcpy.phcpy2c3 import py2c_schubert_pieri_count from phcpy.phcpy2c3 import py2c_schubert_localization_poset root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) print('Pieri root count for', (mdim, pdim, qdeg), 'is', root_count) poset = py2c_schubert_localization_poset(mdim, pdim, qdeg) print('the localization poset :') print(poset)
def pieri_root_count(mdim, pdim, qdeg): """ Computes the number of pdim-plane producing maps of degree qdeg that meet mdim-planes at mdim*pdim + qdeg*(mdim+pdim) points. """ from phcpy.phcpy2c3 import py2c_schubert_pieri_count from phcpy.phcpy2c3 import py2c_schubert_localization_poset root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) print('Pieri root count for', (mdim, pdim, qdeg), 'is', root_count) poset = py2c_schubert_localization_poset(mdim, pdim, qdeg) print('the localization poset :') print(poset)