def run_pieri_homotopies(mdim, pdim, qdeg, planes, *pts, **opt): r""" Computes the number of *pdim*-plane producing maps of degree q*deg* that meet *mdim*-planes at mdim*pdim + qdeq*(mdim+pdim) points. For *qdeg* = 0, there are no interpolation points in *pts*. The last parameter in opt contains the value for 'verbose', which is True by default. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c2 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c2 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_clear_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c2 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 run_pieri_homotopies(mdim, pdim, qdeg, planes, *pts, **opt): r""" Computes the number of *pdim*-plane producing maps of degree q*deg* that meet *mdim*-planes at mdim*pdim + qdeq*(mdim+pdim) points. For *qdeg* = 0, there are no interpolation points in *pts*. The last parameter in opt contains the value for 'verbose', which is True by default. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c2 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c2 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_clear_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c2 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.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 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 run_pieri_homotopies(mdim, pdim, qdeg, planes, verbose=True, *pts): r""" Computes the number of *pdim*-plane producing maps of degree q*deg* that meet *mdim*-planes at mdim*pdim + qdeq*(mdim+pdim) points. For *qdeg* = 0, there are no interpolation points in *pts*. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c2 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c2 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c2 import py2c_solcon_write_standard_solution_string 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 ...' 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, verbose=True): r""" Computes the number of *pdim*-plane producing maps of degree *qdeg* that meet *mdim*-planes at mdim*pdim + qdeg*(mdim+pdim) points. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_localization_poset root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) if verbose: 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 return root_count
def run_pieri_homotopies(mdim, pdim, qdeg, planes, *pts): """ 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. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c2 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c2 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c2 import py2c_solcon_write_standard_solution_string root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) 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 ...' 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)) 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) print 'the solutions :' for solution in sols: print solution return (pols, sols)
def run_pieri_homotopies(mdim, pdim, qdeg, planes, *pts): """ 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. """ from phcpy.phcpy2c2 import py2c_schubert_pieri_count from phcpy.phcpy2c2 import py2c_schubert_pieri_homotopies from phcpy.phcpy2c2 import py2c_syscon_load_standard_polynomial from phcpy.phcpy2c2 import py2c_solcon_number_of_standard_solutions from phcpy.phcpy2c2 import py2c_solcon_length_standard_solution_string from phcpy.phcpy2c2 import py2c_solcon_write_standard_solution_string root_count = py2c_schubert_pieri_count(mdim, pdim, qdeg) 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 ...' 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)) 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) print 'the solutions :' for solution in sols: print solution return (pols, sols)