#19405: Add lyapunov_rank() method for polyhedral cones
-------------------------------------+-------------------------------------
       Reporter:  mjo                |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  geometry           |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Michael Orlitzky   |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/mjo/ticket/19405                 |  0c1176c68504468baaeb754756c5808e49a5fcc5
   Dependencies:  #19368             |     Stopgaps:
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Michael Orlitzky', 'oldvalue': ''}):

 * status:  new => needs_review
 * author:   => Michael Orlitzky
 * cc: novoselt (added)
 * dependencies:   => #19368
 * branch:   => u/mjo/ticket/19405
 * commit:   => 0c1176c68504468baaeb754756c5808e49a5fcc5


Old description:

> The Lyapunov rank measures the length of a `lyapunov_like_basis()` and
> quantifies how many equations you can get out of the complementarity
> condition `<x,s> = 0`. Counting a basis is easy but unnecessarily slow
> when, for example, you have a single ray in a 100-dimensional space.
>
> The new `lyapunov_rank()` method computes the rank using a shortcut based
> on considering that single ray as living in its own span. Then the
> remaining 99-dimensions worth of zeros are easily dealt with.
>
> The operation of "considering the ray as living in its own span" is a bit
> tricky, and can only be done up to linear isomorphism. A private helper
> method `_restrict_to_space()` handles that.
>
> This is new stuff, but I've presented it to the department
> (http://michael.orlitzky.com/presentations
> /the_lyapunov_rank_of_an_improper_cone_-_part_i_-_algorithms.pdf) and a
> few people have even read the preprint. Perhaps more importantly, there's
> a doctest that checks the answer against the naive algorithm:
> `len(K.lyapunov_like_basis())`. So I'm Pretty Sure it works.

New description:

 Last one in this series, I promise.

 The Lyapunov rank measures the length of a `lyapunov_like_basis()` and
 quantifies how many equations you can get out of the complementarity
 condition `<x,s> = 0`. Counting a basis is easy but unnecessarily slow
 when, for example, you have a single ray in a 100-dimensional space.

 The new `lyapunov_rank()` method computes the rank using a shortcut based
 on considering that single ray as living in its own span. Then the
 remaining 99-dimensions worth of zeros are easily dealt with.

 The operation of "considering the ray as living in its own span" is a bit
 tricky, and can only be done up to linear isomorphism. A private helper
 method `_restrict_to_space()` handles that.

 This is new stuff, but I've presented it to the department
 (http://michael.orlitzky.com/presentations
 /the_lyapunov_rank_of_an_improper_cone_-_part_i_-_algorithms.pdf) and a
 few people have even read the preprint. Perhaps more importantly, there's
 a doctest that checks the answer against the naive algorithm:
 `len(K.lyapunov_like_basis())`. So I'm Pretty Sure it works.

--

Comment:

 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=88b74bba339c1ff53063ebe43819b222fd478f1b
 88b74bb]||{{{Trac #19332: Add discrete_complementarity_set() method for
 cones.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=5852e1ccc9a362dbb577798961deb3958458cfc5
 5852e1c]||{{{Trac #19332: Use reviewer's implementation of
 discrete_complementarity_set().}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=872932952e7db998d013637636ca82124ace544e
 8729329]||{{{Trac #19332: Documentation updates for
 discrete_complementarity_set().}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=75b2f438073042e310adbcaea224959ba5f2105f
 75b2f43]||{{{Trac #19332: Return a cached tuple from
 discrete_complementarity_set().}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=371714c6914b5392d5ee0b10df35fef48130809b
 371714c]||{{{Trac #19368: Add LL() method for polyhedral closed convex
 cones.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=30476c7ac05393358aa0eb7a3304a8eb8ac76e00
 30476c7]||{{{Trac #19368: Rename LL() to lyapunov_like_basis().}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=8bda4c2134f5e6460c6ce9bae5e0ba96679e54c3
 8bda4c2]||{{{Trac #19368: Clarify trivial cone/space doctest for
 lyapunov_like_basis().}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=0c1176c68504468baaeb754756c5808e49a5fcc5
 0c1176c]||{{{Trac #19405: Add _restrict_to_space() and lyapunov_rank()
 methods for cones.}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/19405#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to