Example #1
0
def solve_real(mdim, pdim, start, sols):
    """
    Solves a real instance of Pieri problem, for input planes
    of dimension mdim osculating a rational normal curve.
    On return are the planes of dimension pdim.
    """
    from phcpy.schubert import real_osculating_planes
    from phcpy.schubert import make_pieri_system
    from phcpy.trackers import track
    oscplanes = real_osculating_planes(mdim, pdim, 0)
    target = make_pieri_system(mdim, pdim, 0, oscplanes, False)
    rtsols = track(target, start, sols)
    inplanes = [array(plane) for plane in oscplanes]
    outplanes = [solution_plane(mdim + pdim, pdim, sol) for sol in rtsols]
    return (inplanes, outplanes, target, rtsols)
Example #2
0
def solve_real(mdim, pdim, start, sols):
    """
    Solves a real instance of Pieri problem, for input planes
    of dimension mdim osculating a rational normal curve.
    On return are the planes of dimension pdim.
    """
    from phcpy.schubert import real_osculating_planes
    from phcpy.schubert import make_pieri_system
    from phcpy.trackers import track
    oscplanes = real_osculating_planes(mdim, pdim, 0)
    target = make_pieri_system(mdim, pdim, 0, oscplanes, False)
    rtsols = track(target, start, sols)
    inplanes = [array(plane) for plane in oscplanes]
    outplanes = [solution_plane(mdim+pdim, pdim, sol) for sol in rtsols]
    return (inplanes, outplanes, target, rtsols)
Example #3
0
def pieri_problem(mdim, pdim, real=True):
    """
    Returns a system that expresses the intersection of pdim-planes
    with mdim*pdim general mdim-planes in (mdim+pdim)-space.
    When real is True, the generated mdim-planes are osculating
    a rational normal curve and all solutions are expected to be real.
    If real is False, then random complex planes are generated.
    For reality of solutions of polynomial systems, see the book by
    Frank Sottile: Real Solutions to Equations from Geometry,
    volume 57 of University Lecture Series, AMS, 2011.
    """
    from phcpy.schubert import make_pieri_system
    from phcpy.schubert import real_osculating_planes
    from phcpy.schubert import random_complex_matrices
    if real:
        planes = real_osculating_planes(mdim, pdim, 0)
    else:
        planes = random_complex_matrices(mdim*pdim, mdim, pdim)
    return make_pieri_system(mdim, pdim, 0, planes)
Example #4
0
def pieri_problem(mdim, pdim, real=True):
    """
    Returns a system that expresses the intersection of pdim-planes
    with mdim*pdim general mdim-planes in (mdim+pdim)-space.
    When real is True, the generated mdim-planes are osculating
    a rational normal curve and all solutions are expected to be real.
    If real is False, then random complex planes are generated.
    For reality of solutions of polynomial systems, see the book by
    Frank Sottile: Real Solutions to Equations from Geometry,
    volume 57 of University Lecture Series, AMS, 2011.
    """
    from phcpy.schubert import make_pieri_system
    from phcpy.schubert import real_osculating_planes
    from phcpy.schubert import random_complex_matrices
    if real:
        planes = real_osculating_planes(mdim, pdim, 0)
    else:
        planes = random_complex_matrices(mdim * pdim, mdim, pdim)
    return make_pieri_system(mdim, pdim, 0, planes)