Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix method is_real_root() in root_lattice_realizations.py #18644

Open
sagetrac-jonathan-judge mannequin opened this issue Jun 8, 2015 · 8 comments
Open

Fix method is_real_root() in root_lattice_realizations.py #18644

sagetrac-jonathan-judge mannequin opened this issue Jun 8, 2015 · 8 comments

Comments

@sagetrac-jonathan-judge
Copy link
Mannequin

sagetrac-jonathan-judge mannequin commented Jun 8, 2015

Currently, the element method is_real_root() of root_lattice_realizations.py is not quite correct. It checks only if norm_squared() is positive. This is correct in a root system, but not when in the root lattice. We can add an additional check in this situation: see Proposition 5.10b in Kac's book.

sage: R = RootSystem(['A',1,1])
sage: Q = R.root_lattice()
sage: alpha = Q.simple_roots()
sage: beta = 3*alpha[0] + alpha[1] # not a root
sage: beta.norm_squared()
8
sage: beta.is_real_root()
True
sage: R = RootSystem("A2")
sage: Q = R.root_lattice()
sage: alpha = Q.simple_roots()
sage: beta = 2*alpha[1] + alpha[2] # not a root
sage: beta.norm_squared()
6
sage: beta.is_real_root()
True

Updated: Kac's Proposition 5.10b applies to finite, affine, and hyperbolic types. Ticket #18645 implements the checks for these. More generally, the correct check for a real root is to see if its norm_squared() is positive and if its multiplicity (#18000) is positive.

Depends on #18000
Depends on #18645

CC: @bsalisbury1 @tscrim @sagetrac-sage-combinat

Component: combinatorics

Keywords: days65

Branch/Commit: u/jonathan.judge/fix_method_is_real_root___in_root_lattice_realizations_py @ 55d2f52

Issue created by migration from https://trac.sagemath.org/ticket/18644

@sagetrac-jonathan-judge sagetrac-jonathan-judge mannequin added this to the sage-6.8 milestone Jun 8, 2015
@sagetrac-jonathan-judge sagetrac-jonathan-judge mannequin self-assigned this Jun 8, 2015
@sagetrac-jonathan-judge
Copy link
Mannequin Author

sagetrac-jonathan-judge mannequin commented Jun 8, 2015

Changed keywords from none to days65

@sagetrac-jonathan-judge
Copy link
Mannequin Author

sagetrac-jonathan-judge mannequin commented Jun 9, 2015

@sagetrac-jonathan-judge
Copy link
Mannequin Author

sagetrac-jonathan-judge mannequin commented Jun 9, 2015

Dependencies: #18000, #18645

@sagetrac-jonathan-judge
Copy link
Mannequin Author

sagetrac-jonathan-judge mannequin commented Jun 9, 2015

Commit: c7a1b37

@sagetrac-jonathan-judge

This comment has been minimized.

@sagetrac-jonathan-judge
Copy link
Mannequin Author

sagetrac-jonathan-judge mannequin commented Jun 9, 2015

New commits:

c7a1b37Fixed element method is_real_root() in root_lattice_realizations.py

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2015

Branch pushed to git repo; I updated commit sha1. New commits:

4958ee0Added a function multiplicity() on elements of a root lattice. The computation is done via Peterson's recurrent formula
d700a67Merge branch 'develop' into t/18000/root_multiplicities_for_symmetrizable_kac_moody_algebras
77f1bf6Added methods is_indefinite(), is_hyperbolic(), is_indecomposable(), and principal_submatrices() to the class CartanMatrix
2560229Merge branch 't/18645/add_some_methods_to_cartanmatrix' into t/18000/root_multiplicities_for_symmetrizable_kac_moody_algebras
3cc6587Merge branch 't/18645/add_some_methods_to_cartanmatrix' into t/18644/fix_method_is_real_root___in_root_lattice_realizations_py
6784229Merge branch 't/18644/fix_method_is_real_root___in_root_lattice_realizations_py' into t/18000/root_multiplicities_for_symmetrizable_kac_moody_algebras
55d2f52Rewrote multiplicity computation to take advantage of new and corrected methods in 18644 and 18645

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jun 9, 2015

Changed commit from c7a1b37 to 55d2f52

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant