Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
r""" Helper Functions For Freeness Of Hyperplane Arrangements
This contains the algorithms to check for freeness of a hyperplane arrangement. See :meth:`sage.geometry.hyperplane_arrangement.HyperplaneArrangementElement.is_free` for details.
.. NOTE::
This could be extended to a freeness check for more general modules over a polynomial ring. """
#***************************************************************************** # Copyright (C) 2015 Travis Scrimshaw <tscrimsh at umn.edu> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # http://www.gnu.org/licenses/ #*****************************************************************************
""" Reduce the generator matrix of the module defined by ``X``.
This is Algorithm 6.4 in [BC2012]_ and relies on the row syzygies of the matrix ``X``.
EXAMPLES::
sage: from sage.geometry.hyperplane_arrangement.check_freeness import less_generators sage: R.<x,y,z> = QQ[] sage: m = matrix([[1, 0, 0], [0, z, -1], [0, 0, 0], [0, y, 1]]) sage: less_generators(m) [ 1 0 0] [ 0 z -1] [ 0 y 1] """ # get_column_independent_unit_positions
""" Construct the free chain for the hyperplanes ``A``.
ALGORITHM:
We follow Algorithm 6.5 in [BC2012]_.
INPUT:
- ``A`` -- a hyperplane arrangement
EXAMPLES::
sage: from sage.geometry.hyperplane_arrangement.check_freeness import construct_free_chain sage: H.<x,y,z> = HyperplaneArrangements(QQ) sage: A = H(z, y+z, x+y+z) sage: construct_free_chain(A) [ [1 0 0] [ 1 0 0] [ 0 1 0] [0 1 0] [ 0 z -1] [y + z 0 -1] [0 0 z], [ 0 y 1], [ x 0 1] ] """ return []
# Compute the morphisms \phi_{H_j} : S^{1xR} \to S / <b_j>
# Setup variables
# Helper function continue
return None
continue
return [Y]
return None
|