I want to implement a not so slow function for counting/generating all
placements of non-attacking rooks in a board. Currently I am generating all
partial permutations and checking whether they are in the board.
An alternative would be to encode the board belonging to an n x n grid as a
biparti
On 2013-03-19, Victor Miller wrote:
> --=_Part_554_9793948.1363718282627
> Content-Type: text/plain; charset=ISO-8859-1
>
> Suppose that A is an m by n integer matrix. Its Gram matrix is G = A*A^t.
> If A is not full rank, then G has some eigenvalues of 0. If I do
> G.LLL_gram() I get a s
pari's qflllgram function returns (given input a positive semidefinite
square G, not necessarily positive definite) a "unimodular" U such
that the columns of GT are an LLL-reduced basis for the lattice
spanned by the columns of G. That's from the documentation, but when
G is singular U will not be
Thanks Dima and John, In the meantime, since I have Magma available to me I
tried to use magma's functions. What I'm really interested is getting the
unimodular (when it makes sense to use that term) transition matrix needed
to put a matrix in reduced form. It looks like, but correct me if I'm
Aha, I found the nvals= option to magma commands. So for now I'll use
that. I would like to ask that LLL optionally return the transition matrix
(and also BKZ if that's possible).
Victor
On Tuesday, March 19, 2013 2:38:02 PM UTC-4, Victor Miller wrote:
>
> Suppose that A is an m by n integer
I found the matching_polynomial
http://www.sagemath.org/doc/reference/graphs/sage/graphs/matchpoly.html#sage.graphs.matchpoly.matching_polynomial
On Wednesday, March 20, 2013 11:17:37 AM UTC-4, Alejandro Morales wrote:
>
> I want to implement a not so slow function for counting/generating all
> p
I use the following to iterate over all matchings and perfect matchings.
def matchings(G):
edges = G.edges(labels = False)
verts = [[v] for v in G]
m = len(edges)
for match in DLXCPP(edges+verts):
yield [edges[t] for t in match if t < m]
def perfect_matchings(G):
edges
Note that that code only works for graphs whose vertices are labeled [0...n].
On Wed, Mar 20, 2013 at 1:03 PM, Tom Boothby wrote:
> I use the following to iterate over all matchings and perfect matchings.
>
> def matchings(G):
> edges = G.edges(labels = False)
> verts = [[v] for v in G]
>
H... If you want to enumerate all "partial permutations then you have
much better to do. If you have a n x m matrix with n
> Note that that code only works for graphs whose vertices are labeled
> [0...n].
>
> On Wed, Mar 20, 2013 at 1:03 PM, Tom Boothby
> >
> wrote:
> > I use the followin
On Wednesday, March 20, 2013 2:16:47 PM UTC-7, Nathann Cohen wrote:
>
> H... If you want to enumerate all "partial permutations then you have
> much better to do. If you have a n x m matrix with n it take all subsets of n elements of n, and enumerate all permutations
> using those n columns
> I'm sure it's not fast, but in the file
> devel/sage/sage/homology/examples.py, there is a function "matching" which
> gets used in "simplicial_complexes.ChessboardComplex(...)".
Well, obviously there is a "matching" function in the Graph class. But
nothing to enumerate them.
Oh. Now that I thi
Thank you very much for all the suggestions. A little bit more of
background. I am working on this patch
http://trac.sagemath.org/sage_trac/ticket/14127
and would like to have an efficient way of generating the rook placements.
On Wednesday, March 20, 2013 11:17:37 AM UTC-4, Alejandro Morales wro
12 matches
Mail list logo