All Projects β†’ JuliaGraphs β†’ Simpleweightedgraphs.jl

JuliaGraphs / Simpleweightedgraphs.jl

Licence: other
Simple weighted graphs. Requires LightGraphs.jl.

Programming Languages

julia
2034 projects

Labels

Projects that are alternatives of or similar to Simpleweightedgraphs.jl

Mpandroidchart
A powerful πŸš€ Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.
Stars: ✭ 34,377 (+79846.51%)
Mutual labels:  graph
Ig Follow Count
πŸ“ˆ A simple Instagram analytics tool that continuously logs and graphs your follower count.
Stars: ✭ 35 (-18.6%)
Mutual labels:  graph
Scala Plotly Client
Visualise your data from Scala using Plotly
Stars: ✭ 39 (-9.3%)
Mutual labels:  graph
Pgl
Paddle Graph Learning (PGL) is an efficient and flexible graph learning framework based on PaddlePaddle
Stars: ✭ 953 (+2116.28%)
Mutual labels:  graph
Beagle
Beagle is an incident response and digital forensics tool which transforms security logs and data into graphs.
Stars: ✭ 976 (+2169.77%)
Mutual labels:  graph
Multi Robot Path Planning On Graphs
Multi-Robot Path Planning on Graphs Solution by A* algorithm
Stars: ✭ 36 (-16.28%)
Mutual labels:  graph
Subdue
The Subdue graph miner discovers highly-compressing patterns in an input graph.
Stars: ✭ 20 (-53.49%)
Mutual labels:  graph
Resonance
◾️Resonance | 5kb React animation library
Stars: ✭ 1,011 (+2251.16%)
Mutual labels:  graph
Cracking The Coding Interview
Solutions for Cracking the Coding Interview - 6th Edition
Stars: ✭ 35 (-18.6%)
Mutual labels:  graph
Osmnet
Tools for the extraction of OpenStreetMap street network data
Stars: ✭ 39 (-9.3%)
Mutual labels:  graph
Activetriples
An ActiveModel-like interface for RDF data
Stars: ✭ 31 (-27.91%)
Mutual labels:  graph
Pingg
Ping latency graphing CLI
Stars: ✭ 33 (-23.26%)
Mutual labels:  graph
Dgcnn
A PyTorch implementation of DGCNN based on AAAI 2018 paper "An End-to-End Deep Learning Architecture for Graph Classification"
Stars: ✭ 37 (-13.95%)
Mutual labels:  graph
React Native Touchable Graph
React Native component for simply creating a graph πŸ“± , without any iOS or Android issue of touch.
Stars: ✭ 29 (-32.56%)
Mutual labels:  graph
Ingraph
Incremental view maintenance for openCypher graph queries.
Stars: ✭ 40 (-6.98%)
Mutual labels:  graph
Dotnet Assembly Grapher
Reverse engineering and software quality assurance tool for .NET assemblies
Stars: ✭ 21 (-51.16%)
Mutual labels:  graph
Logicflow
A front-end framework for process visualization.
Stars: ✭ 973 (+2162.79%)
Mutual labels:  graph
G6
β™Ύ A Graph Visualization Framework in JavaScript
Stars: ✭ 8,490 (+19644.19%)
Mutual labels:  graph
Qualia2.0
Qualia is a deep learning framework deeply integrated with automatic differentiation and dynamic graphing with CUDA acceleration. Qualia was built from scratch.
Stars: ✭ 41 (-4.65%)
Mutual labels:  graph
Graphrole
Automatic feature extraction and node role assignment for transfer learning on graphs (ReFeX & RolX)
Stars: ✭ 38 (-11.63%)
Mutual labels:  graph

SimpleWeightedGraphs

Build Status codecov.io

Edge-Weighted Graphs for LightGraphs.jl.

Usage:

using LightGraphs, SimpleWeightedGraphs

g = SimpleWeightedGraph(3)  # or use `SimpleWeightedDiGraph` for directed graphs
add_edge!(g, 1, 2, 0.5)
add_edge!(g, 2, 3, 0.8)
add_edge!(g, 1, 3, 2.0)

# find the shortest path from vertex 1 to vertex 3 taking weights into account.
enumerate_paths(dijkstra_shortest_paths(g, 1), 3)
3-element Array{Int64,1}:
 1
 2
 3

# reweight the edge from 1 to 2
add_edge!(g, 1, 2, 1.6)

# rerun the shortest path calculation from 1 to 3
enumerate_paths(dijkstra_shortest_paths(g, 1), 3)
2-element Array{Int64,1}:
 1
 3

# it's possible to build the graph from arrays of sources, destinations and weights
sources = [1,2,1]
destinations = [2,3,3]
weights = [0.5, 0.8, 2.0]
g = SimpleWeightedGraph(sources, destinations, weights)

# the combine keyword handles repeated pairs (sum by default)
g = SimpleWeightedGraph([1,2,1], [2,1,2], [1,1,1]; combine = +)
g.weights[2,1] == g.weights[1,2] == 3 # true

# WARNING: unexpected results might occur with non-associative combine functions

# notice that weights are indexed by [destination, source]
s = SimpleWeightedDiGraph([1,2,1], [2,1,2], [1,1,1]; combine = +)
s.weights[1,2] == 1 # true
s.weights[2,1] == 2 # true

Please pay attention to the fact that zero-weight edges are discarded by add_edge!. This is due to the way the graph is stored (a sparse matrix). A possible workaround is to set a very small weight instead.

Note that adding or removing vertices or edges from these graph types is not particularly performant; see MetaGraphs.jl for possible alternatives.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].