- 109

We use Agda to formalise the theory of algebraic graphs and prove a few key theorems. This repository is fully self-contained and does not depend on any Agda libraries. We use this Travis build script for continuous verification of the proofs. To verify whether your implementation is correct, you can invoke the verify.sh script.

https://github.com/algebraic-graphs/agdaTags | algebra graph agda |

Implementation | Agda |

License | MIT |

Platform |

Alga is a library for algebraic construction and manipulation of graphs in Haskell. See this paper for the motivation behind the library, the underlying theory and implementation details. This algebraic structure corresponds to unlabelled directed graphs: every expression represents a graph, and every graph can be represented by an expression. Other types of graphs (e.g. undirected) can be obtained by modifying the above set of laws. Algebraic graphs provide a convenient, safe and powerful interface for working with graphs in Haskell, and allow the application of equational reasoning for proving the correctness of graph algorithms.

graph algebra haskellAbstractions and constructions from math (Category theory, Abstract algebra) implementations in Scala, minimal description, links to good explanations, links to implementations in other FP languages: Haskell, Idris, Purescript, non FP too: Java, C++ and to formalizations in proof assistants: Coq (UniMath, HoTT book), Cubical Agda.

category-theory monads comonads functor applicative-functors contravariant-functors free-monads free-applicative kan-extensions coyoneda yoneda arrows profunctors semigroup monoid day-convolution abstract-algebraThis repository contains a development of homotopy type theory and univalent foundations in Agda. The structure of the source code is described below. The code is loosely broken into core and theorems Agda libraries. You need Agda 2.5.3 or newer and include at least the path to core.agda-lib in your Agda library list. See CHANGELOG of Agda 2.5 for more information.

agda homotopy hott univalenceNote that this README is only about Agda, not its standard library. See the Agda Wiki for information about the library.

dependent-types programming-language proof-assistant agda type-theoryLearn you an Agda (and achieve enlightenment)

This is a specification for common algebraic structures in JavaScript based on Fantasy Land.Fantasy Land uses methods to define interfaces that a type must implement in order to support a particular Algebra. For example values of a type that implements the Monoid algebra must have fantasy-land/empty and fantasy-land/concat methods on them.

functional-programming fantasy-land specification monad functor monoid adt algebraic algebraic-data-types algebraThe OpenCog AtomSpace is a knowledge representation (KR) database and the associated query/reasoning engine to fetch and manipulate that data, and perform reasoning on it. Data is represented in the form of graphs, and more generally, as hypergraphs; thus the AtomSpace is a kind of graph database, the query engine is a general graph re-writing system, and the rule-engine is a generalized rule-driven inferencing system. The vertices and edges of a graph, known as "Atoms", are used to represent not only "data", but also "procedures"; thus, many graphs are executable programs as well as data structures. The AtomSpace is a platform for building Artificial General Intelligence (AGI) systems. It provides the central knowledge representation component for OpenCog. As such, it is a fairly mature component, on which a lot of other systems are built, and which depend on it for stable, correct operation in a day-to-day production environment.

graph-database rule-engine knowledge-representation query-engine logic-programming knowledge-graph knowledge-base query-language relational-database relational-algebra reasoning rewrite-system rewriting inference-engine inference inference-rulesAlgebrite is a Javascript library for symbolic mathematics (technically, CoffeeScript) designed to be comprehensible and easily extensible. All the built-in methods in Algebrite are exposed through a javascript interface. Strings are automatically parsed as expressions, numbers are converted into the appropriate representation, and the internal cons objects are returned.

cas algebra symbolic-computation coffeescript javascript-cas algebraic-computation computer-algebra-system computer-algebra symbolic-manipulation symbolic algebraic computer system eigenmath mathGAP is a system for computational discrete algebra, with particular emphasis on computational group theory. GAP provides a programming language, a library of thousands of functions implementing algebraic algorithms written in the GAP language as well as large data libraries of algebraic objects. For a more detailed overview, see https://www.gap-system.org/Overview/overview.html. For a description of the mathematical capabilities, see https://www.gap-system.org/Overview/Capabilities/capabilities.html. GAP is used in research and teaching for studying groups and their representations, rings, vector spaces, algebras, combinatorial structures, and more. The system, including source, is distributed freely. You can study and easily modify or extend it for your special use.

group-theory computer-algebra discrete-mathematicsAn algebra is a set of values, a set of operators that it is closed under and some laws it must obey. Each Fantasy Land algebra is a separate specification. An algebra may have dependencies on other algebras which must be implemented.

fantasy-land functional specification algebraic monad applicative functor monoid semigroup chain applyThis repo represents an attempt to unify the basic algebraic type classes from Spire and Algebird. By targeting just these type classes, we will distribute an algebra package with no dependencies that works with Scala 2.10, 2.11, and 2.12, which can be shared by all Scala libraries interested in abstract algebra. Since the creation of Algebra, we have also decided to interoperate with the Cats project. Algebra and Cats interoperate using the cats-kernel module.

algebra typelevelRedisGraph is the first queryable property graph database to use sparse adjacency matrices and linear algebra to represent and query graphs. To see RedisGraph in action, visit Demos.

graphdb redis module opencypherUntil an issue with one of our dependencies is resolved, LightGraphs will not work with any Julia 0.7 or 1.0 version that has been built from source on OSX or other systems with a compiler more modern than GCC7. If you use LightGraphs with Julia 0.7 or 1.0, please download a Julia binary. LightGraphs offers both (a) a set of simple, concrete graph implementations -- Graph (for undirected graphs) and DiGraph (for directed graphs), and (b) an API for the development of more sophisticated graph implementations under the AbstractGraph type.

julia graph lightgraphs graph-theory graph-generation graph-analytics graph-algorithmsAlgebraic calculation system implemented purely in C#.

algebra symbolic-algebra symbolic-calculationGraphView is a DLL library that enables users to use SQL Server or Azure SQL Database to manage graphs. It connects to a SQL database locally or in the cloud, stores graph data in tables and queries graphs through a SQL-extended language. It is not an independent database, but a middleware that accepts graph operations and translates them to T-SQL executed in SQL Server or Azure SQL Database. As such, GraphView can be viewed as a special connector to SQL Server/Azure SQL Database. Developers will experience no differences than the default SQL connector provided by the .NET framework (i.e., SqlConnection), only except that this new connector accepts graph-oriented statements.GraphView is a DLL library through which you manage graph data in SQL Server (version 2008 and onward) and Azure SQL Database (v12 and onward). It provides features a standard graph database is expected to have. In addition, since GraphView relies on SQL databases, it inherits many features in the relational world that are often missing in native graph databases.

StellarGraph is a Python library for machine learning on graphs and networks. StellarGraph is built on TensorFlow 2 and its Keras high-level API, as well as Pandas and NumPy. It is thus user-friendly, modular and extensible. It interoperates smoothly with code that builds on these, such as the standard Keras layers and scikit-learn, so it is easy to augment the core graph machine learning algorithms provided by StellarGraph. It is thus also easy to install with pip or Anaconda.

machine-learning graphs machine-learning-algorithms networkx graph-data graph-analysis graph-machine-learning link-prediction graph-convolutional-networks gcn saliency-map interpretability geometric-deep-learning graph-neural-networks heterogeneous-networks stellargraph-libraryJraph (pronounced "giraffe") is a lightweight library for working with graph neural networks in jax. It provides a data structure for graphs, a set of utilities for working with graphs, and a 'zoo' of forkable graph neural network models. Jraph is designed to provide utilities for working with graphs in jax, but doesn't prescribe a way to write or develop graph neural networks.

machine-learning deep-learning jax graph-neural-networksWe also have a slack channel for real-time discussion. If you want to join the channel, contact mufeili1996@gmail.com. Deep learning on graphs has been an arising trend in the past few years. There are a lot of graphs in life science such as molecular graphs and biological networks, making it an import area for applying deep learning on graphs. DGL-LifeSci is a DGL-based package for various applications in life science with graph neural networks.

bioinformatics deep-learning cheminformatics molecule drug-discovery geometric-deep-learning graph-neural-networks dglGlow is a machine learning compiler and execution engine for various hardware targets. It is designed to be used as a backend for high-level machine learning frameworks. The compiler is designed to allow state of the art compiler optimizations and code generation of neural network graphs. This library is experimental and in active development. Glow lowers a traditional neural network dataflow graph into a two-phase strongly-typed intermediate representation (IR). The high-level IR allows the optimizer to perform domain-specific optimizations. The lower-level instruction-based address-only IR allows the compiler to perform memory-related optimizations, such as instruction scheduling, static memory allocation and copy elimination. At the lowest level, the optimizer performs machine-specific code generation to take advantage of specialized hardware features. Glow features a lowering phase which enables the compiler to support a high number of input operators as well as a large number of hardware targets by eliminating the need to implement all operators on all targets. The lowering phase is designed to reduce the input space and allow new hardware backends to focus on a small number of linear algebra primitives. The design philosophy is described in an arXiv paper.

tl;dr Show me how to write, say, the Either sum type with Derive4J!.This project has a special dedication to Tony Morris' blog post Debut with a catamorphism. I'm also very thankful to @sviperll and his adt4j project which was the initial inspiration for Derive4J.

algebraic-data-types optics functional-programming algebra visitor-pattern annotation-processor java-8 derive4j catamorphisms visitor laziness functional streams
We have large collection of open source products. Follow the tags from
Tag Cloud >>

Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
**Add Projects.**