Graphony VS CoinBLAS

Compare Graphony vs CoinBLAS and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Graphony CoinBLAS
1 3
5 21
- -
- 1.8
over 2 years ago almost 3 years ago
Python Jupyter Notebook
Apache License 2.0 -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Graphony

Posts with mentions or reviews of Graphony. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-05.
  • The "missing" graph datatype already exists. It was invented in the '70s
    6 projects | news.ycombinator.com | 5 Mar 2024
    > Abstractions should be seen as models. They are always wrong, but they are sometimes useful. (And sometimes not.)

    George Box was very specifically talking about statistical models when he coined that aphorism. Matrices are linear algebra and graphs are graph theory, I find it hard to think they are not correct and useful models.

    > A forward traversal >v of node v enters from the left, reads the sequence stored in the node, and exits from the right. A reverse traversal I'm not an expert in this field but I'm guessing you're talking about De Bruijn graphs, which can be very elegantly modeled with incidence matrices, here's an example of one using the GraphBLAS that downloads data from BioPython, loads it into incidence matrices and graphs it. This is just a simple example, SuiteSparse can handle many billions of edges:

    https://github.com/Graphegon/Graphony?tab=readme-ov-file#exa...

    Traversing bidirectionally is quite easy, the upper triangle of a matrix are the directed outgoing edges, and the lower triangle are the incoming. This style of "push/pull" optimization is common in the GraphBLAS.

    > In a good graph representation, you can do this by maintaining a small state that does not grow significantly with the length of the context or the number of underlying paths.

    Again if I understand you correctly, in the GraphBLAS this is accomplished by using accumulators and masks. During traversal data can be accumulated, with a stock operator or one you define, into a vector or matrix, and that object can be used to efficiently mask subsequent computations to avoid unnecessary work or determine when you've reached a termination condition.

    > Matrices don't feel like a good abstraction for graphs like this.

    Mathematically, graphs and matrices are isomorphic. Regardless of algorithm or storage format like edge lists, tuples or CSR, every graph is a matrix, and vice versa. And if you have a matrix, you have linear algebra to operate on it.

    Some people don't like Linear Algebra as a graph abstraction, so I guess for them it is "not good", but on the other hand, it's Linear Algebra and Graph Theory, whose roots date back to the 2nd century BC, forward through great minds like Descartes and Euler, permeating every kind of math, science, physics and engineering discipline humans have ever created. That's a strong argument for its goodness.

    Now it is entirely possible, likely even, that the current SuiteSparse implementation doesn't have exactly the tool needed or maybe not the precise best storage format, but these missing pieces do not invalidate the underlying mathematical foundation that it's based on.

CoinBLAS

Posts with mentions or reviews of CoinBLAS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-05.
  • The "missing" graph datatype already exists. It was invented in the '70s
    6 projects | news.ycombinator.com | 5 Mar 2024
    When you consider that a graph and a matrix are isomorphic, doing vector matrix multiplication takes a vector with a set value, say row 4, and multiplies it by a matrix where row 4 has values present that represent edges to the nodes that are adjacent to it (ie "adjacency" matrix). The result is a vector with the next "step" in a BFS across the graph, do that in a loop and you step across the whole graph.

    A cool result of this is, for example, taking an adjacency matrix and squaring it is the "Friend of a Friend" graph. It takes every node/row and multiplies it by itself, returning a matrix that are adjacent to the adjacencies of each node, ie, the friends (adjacencies of the adjacencies) of friends (adjacencies) of the nodes.

    Deeper traversal are just higher nodes, a matrix cubed are the friends of the friends of the friends.

    A picture is worth a thousand words, see figure 7 of this paper:

    https://arxiv.org/pdf/1606.05790.pdf

    Also check out figure 8, this shows how incidence matrices can work to represent hyper and multi graphs. An pair of incidence matrices reprsent two graphs, one from nodes to edges and the other from edges to nodes, these are n by m and m by n. When you multiply them, you get a square adjacency matrix that "projects" the incidence into an adjacency. This can be used to collapse hypergraphs into simple graphs that use different semirings to combine the multiple edges.

    For some pretty pictures of this kind of stuff, check out CoinBLAS (note I am not a crypto-bro, it was just a very handy extremely large multi-graph that I could easily download in chunks to play with):

    https://github.com/Graphegon/CoinBLAS/

  • Ask HN: What Are You Working On?
    100 projects | news.ycombinator.com | 14 Jan 2021
    Python wrapper around The GraphBLAS API:

    https://github.com/michelp/pygraphblas

    For an upcoming paper we've open sourced using pygraphblas to analyse the bitcoin graph using the GAP benchmarks on a server with 1TB of RAM:

    https://github.com/Graphegon/CoinBLAS

  • Show HN: CoinBLAS – Bitcoin Analysis with the GraphBLAS
    1 project | news.ycombinator.com | 3 Jan 2021

What are some alternatives?

When comparing Graphony and CoinBLAS you can also consider the following projects:

Tasker - A commitment tracker desktop app that tracks the progress of your tasks with mouse, keyboard and audio hooks.

covid_status

roost - Proof of Concept for Eventsourced backend

suncalc - A tiny JavaScript library for calculating sun/moon positions and phases.

osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync

slam-crappy - Navigation project for an indoor robot using a Raspberry Pi, Arduino by combining a camera/OpenCV and physical measurements from ultrasonic and single point lidar sensor.

knatter - An unclack-style mute-when-typing for windows

linaria - Zero-runtime CSS in JS library

mp4-inspector - A Web-based MP4 File Inspector. Powered by Rust, Vue and Web Assembly! :crab:

procedural-gl-js - Mobile-first 3D mapping engine with emphasis on user experience

Papercups - Open-source live customer chat

HillFacts - Project to make the process of legislation and other civic activity more accessible. This is currently live at https://hillfacts.azurewebsites.net/