0
$\begingroup$

(I previously asked this question on Sage's dedicated Q&A site, but got no response, so I figured it would be worth trying here.)

I have a way of constructing hyperplane arrangements in Sage, which involves taking the restriction of a larger arrangement to one of the hyperplanes in it. I want to output a list of the sign vectors of the regions of this arrangement, where the order of the coordinates in the sign vector corresponds to a specific order I want to impose on the hyperplanes. This has turned out surprisingly tricky, because of a couple of seemingly arbitrary decisions Sage's hyperplane arrangement package makes:

  • The hyperplane arrangement constructor seems to not preserve the order of the hyperplanes fed into it, so if I just run the built-in sign_vector method, the coordinates of the resulting vectors may be rearranged from how I want them.
  • On the other hand, I'm not sure how to go about manually determining the sign vector, because I'm not sure how Sage decides to coordinatize the hyperplanes in the restricted arrangement. So while I have equations for the hyperplanes in the original ambient space, I'm not sure how I could automatically turn them into equations in the hyperplane I'm restricting to.

Does anyone have advice on how to systematically resolve either of these arbitrary decisions, or how to find a different workaround? Or, while I would prefer to remain within Sage if possible, is there other software you would recommend for listing the regions of a hyperplane arrangement by sign vector?

$\endgroup$
0
$\begingroup$

Having dug into the source of the arrangements package, I see that the constructor for arrangements sorts the supplied list of hyperplanes, which is what causes the scrambling mentioned in the first bullet point. I believe this will happen both when I construct the arrangement I start with and when I restrict, so I decided it was not worth the trouble of unscrambling these sorting operations.

Instead, I tried to use the workaround of the second bullet point, just using the equations of the hyperplanes (which I know) and evaluating them at representative points of all the regions (which I can delegate to Sage). At this point, it was simpler just to directly work out equations for the hyperplanes in the restriction and construct the actual hyperplane arrangement object from that. For reference, though, the way Sage does this automatically is to choose the variable with the largest coefficient in the equation of the hyperplane H to restrict to (breaking ties by choosing the first such variable) and eliminate that variable from the equations of the other hyperplanes by subtracting off a multiple of the equation of H.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.