profile
viewpoint

mlewe/BlossomV.jl 7

Julia interface for the Blossom V perfect matching algorithm

caladrel/trueskill_kicker 4

a small application of trueskill for our kicker table

mlewe/arxiv-mobile 1

This is a fork of the arxiv-mobile android app from @jdeslip

mlewe/SGit 1

A Git client for Android.

mlewe/trueskill_kicker 1

a small application of trueskill for our kicker table

mlewe/ansible-modules-core 0

Ansible modules - these modules ship with ansible

mlewe/docker-gitlab 0

Dockerized gitlab web server

mlewe/evoMPS 0

An implementation of the time dependent variational principle for matrix product states

mlewe/Happy-Turtle 0

A ghost theme (based on Casper).

mlewe/kaiwa 0

A modern XMPP Web client

issue commentmlewe/BlossomV.jl

Artifact system?

Thanks @mlewe, and thanks for explaining that the license makes the Artifact impossible. Maybe I (or someone) will get around to an open-licensed implementation in pure Julia.

timholy

comment created time in 4 days

issue closedmlewe/BlossomV.jl

Getting solution total cost

Not sure if an issue is the right place, since this is more of a question/suggestion. But I was trying to figure out the final cost of the solution. Currently, we can get the edge matches for the solution, and it's pretty straightforward to simply write a script that will calculate the total cost after calling get_all_matches, but I figured this information should be available in the structure PerfectMatchingCtx.ptr and should be able to be retrieved with a ccall, I just have no idea how to do that.

Is there a way to see the contents of what the object PerfectMatchingCtx.ptr is pointing to contains?

closed time in 4 days

Bebotron

issue commentmlewe/BlossomV.jl

Getting solution total cost

Ok yea, iterating over the solution is easier. Thanks!

Bebotron

comment created time in 4 days

issue commentmlewe/BlossomV.jl

Register new version

Registration pull request created: JuliaRegistries/General/25384

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.4.3 -m "<description of version>" fca1d332d98259c3928f4eecebb574ee9554d340
git push origin v0.4.3
mlewe

comment created time in 4 days

issue openedmlewe/BlossomV.jl

Getting solution total cost

Not sure if an issue is the right place, since this is more of a question/suggestion. But I was trying to figure out the final cost of the solution. Currently, we can get the edge matches for the solution, and it's pretty straightforward to simply write a script that will calculate the total cost after calling get_all_matches, but I figured this information should be available in the structure PerfectMatchingCtx.ptr and should be able to be retrieved with a ccall, I just have no idea how to do that.

Is there a way to see the contents of what the object PerfectMatchingCtx.ptr is pointing to contains?

created time in 6 days

issue closedmlewe/BlossomV.jl

Negative cost not accepted

I'm new to this and am trying to understand how to use this wrapper. I'm trying to run the examples from the c++ blossom5 algorithm, one of which is the graph in GRAPH1.TXT

6 9
0 1 3
0 3 10
0 4 7
1 2 -1
1 4 5
1 5 4
2 5 -7
3 4 0
4 5 4

Running this with the c++ version as ./blossim5 -e GRAPH1.TXT returns

perfect matching with 6 nodes and 9 edges
    starting init...done [0.000 secs]. 0 trees
    .
done [0.000 secs]. 0 grows, 0 expands, 0 shrinks
    expands: [0.000 secs], shrinks: [0.000 secs], dual updates: [0.000 secs]
cost = -4.0

So what I have in Julia is

using BlossomV

differences = [
	0 1 3
	0 3 10
	0 4 7
	1 2 -1
	1 4 5
	1 5 4
	2 5 -7
	3 4 0
	4 5 4
]

m = Matching(6)
for row in 1:size(differences,1)
	vertex1, vertex2, weight = differences[row,:]
	add_edge(m, vertex1, vertex2, weight)
end

solve(m)
for i in 1:6
	get_match(m,i)
end

But I get the error

ERROR: LoadError: Cost must be positive. Edge between 1 and 2 has cost -1.

Is this by design? Seems that a wrapper should perform exactly what the original one performs. Let me know if I'm missing something. Thanks!

closed time in 6 days

Bebotron

issue commentmlewe/BlossomV.jl

Negative cost not accepted

Sounds good, I'll go ahead and close this with the pending pull request https://github.com/mlewe/BlossomV.jl/pull/18.

Bebotron

comment created time in 6 days

PR opened mlewe/BlossomV.jl

Allows negative cost, get_all_matches works

Simple edits to fix the function get_all_matches and allowing a graph with negative cost.

+1 -2

0 comment

1 changed file

pr created time in 6 days

fork Bebotron/BlossomV.jl

Julia interface for the Blossom V perfect matching algorithm

fork in 14 days

issue openedmlewe/BlossomV.jl

Negative cost not accepted

I'm new to this and am trying to understand how to use this wrapper. I'm trying to run the examples from the c++ blossom5 algorithm, one of which is the graph in GRAPH1.TXT

6 9
0 1 3
0 3 10
0 4 7
1 2 -1
1 4 5
1 5 4
2 5 -7
3 4 0
4 5 4

Running this with the c++ version as ./blossim5 -e GRAPH1.TXT returns

perfect matching with 6 nodes and 9 edges
    starting init...done [0.000 secs]. 0 trees
    .
done [0.000 secs]. 0 grows, 0 expands, 0 shrinks
    expands: [0.000 secs], shrinks: [0.000 secs], dual updates: [0.000 secs]
cost = -4.0

So what I have in Julia is

using BlossomV

differences = [
	0 1 3
	0 3 10
	0 4 7
	1 2 -1
	1 4 5
	1 5 4
	2 5 -7
	3 4 0
	4 5 4
]

m = Matching(6)
for row in 1:size(differences,1)
	vertex1, vertex2, weight = differences[row,:]
	add_edge(m, vertex1, vertex2, weight)
end

solve(m)
for i in 1:6
	get_match(m,i)
end

But I get the error

ERROR: LoadError: Cost must be positive. Edge between 1 and 2 has cost -1.

Is this by design? Seems that a wrapper should perform exactly what the original one performs. Let me know if I'm missing something. Thanks!

created time in 14 days

fork tguelcan/hapi-nuxt

Nuxt.js plugin for Hapi.js

fork in 17 days

startedMononofu/kanji_poster

started time in 25 days

issue openedmlewe/BlossomV.jl

Artifact system?

It would be nice to update this package to more modern Julia. Specifically, it would be nice to generate a Project.toml file, and especially nice to use the artifact system (Julia 1.3+). There is a wizard for generating the build: https://github.com/JuliaPackaging/BinaryBuilder.jl. I played with it briefly and it seemed fairly straightforward, but the first hurdle is figuring out how to handle your customizations (sharedlib.patch and interface/).

created time in a month

created repositorymbeham/hugo-ananke-forestry

created time in a month

created repositoryamilsted/kollider1D

created time in a month

startedbenjamarle/typhon

started time in a month

fork tguelcan/hapi-i18n

Translation module for hapi based on mashpie's i18n module

fork in 2 months

startedtheskumar/python-dotenv

started time in 2 months

startedstorax/kubedoom

started time in 2 months

startedgloges/TDA-Spin-Models

started time in 2 months

PublicEvent

startednuxt/nuxt.js

started time in 2 months

fork tguelcan/querymen

Querystring parser middleware for MongoDB, Express and Nodejs (MEN)

fork in 3 months

startednuxt-community/google-fonts-module

started time in 3 months

startedlukeed/polka

started time in 3 months

startedbsolomon1124/pycld3

started time in 3 months

PublicEvent
more