Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active April 6, 2018 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/8ce8a7890fd10090be701652e9da3bdf to your computer and use it in GitHub Desktop.
Save kenwebb/8ce8a7890fd10090be701652e9da3bdf to your computer and use it in GitHub Desktop.
A survey of graphical languages for monoidal categories
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Fri Apr 06 2018 07:58:01 GMT-0400 (EDT)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: A survey of graphical languages for monoidal categories
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: 8ce8a7890fd10090be701652e9da3bdf
Keywords:
My Notes
--------
March 31, 2018
References
----------
(1) http://arxiv.org/abs/0908.3347
A survey of graphical languages for monoidal categories, Peter Selinger, Dalhousie University
Book chapter. In Bob Coecke, editor, New Structures for Physics, Lecture Notes in Physics 813:289–355, Springer, 2011.
Abstract:
This article is intended as a reference guide to various notions of monoidal categories and their associated string diagrams.
It is hoped that this will be useful not just to mathematicians, but also to physicists, computer scientists,
and others who use diagrammatic reasoning.
We have opted for a somewhat informal treatment of topological notions, and have omitted most proofs.
Nevertheless, the exposition is sufficiently detailed to make it clear what is presently known, and to serve as a starting place for more in-depth study.
Where possible, we provide pointers to more rigorous treatments in the literature.
Where we include results that have only been proved in special cases, we indicate this in the form of caveats.
(2) https://www.mathstat.dal.ca/~selinger/papers.html
(3) https://www.mathstat.dal.ca/~selinger/papers/graphical-bib/
References for the paper: A survey of graphical languages for monoidal categories
with links
(4) https://arxiv.org/pdf/1307.0204.pdf
CONNECTOR ALGEBRAS FOR C/E AND P/T NETS’ INTERACTIONS
ROBERTO BRUNI, HERNAN MELGRATTI, UGO MONTANARI, AND PAWEL SOBOCINSKI
Abstract.
A quite flourishing research thread in the recent literature on componentbased
systems is concerned with the algebraic properties of different classes of connectors.
...
(5) https://www.mathstat.dal.ca/~selinger/papers/graphical-bib/public/Penrose-applications-of-negative-dimensional-tensors.pdf
R. Penrose. Applications of negative dimensional tensors. In D. J. A. Welsh, editor, Combinatorial Mathematics and its Applications, pages 221–244. Academic Press, New York, 1971.
(6) https://en.wikipedia.org/wiki/Einstein_notation
In mathematics, especially in applications of linear algebra to physics,
the Einstein notation or Einstein summation convention is a notational convention that implies summation over a set of indexed terms in a formula,
thus achieving notational brevity.
As part of mathematics it is a notational subset of Ricci calculus;
however, it is often used in applications in physics that do not distinguish between tangent and cotangent spaces.
It was introduced to physics by Albert Einstein in 1916.
(7) https://en.wikipedia.org/wiki/Penrose_graphical_notation
(8) https://en.wikipedia.org/wiki/Monoidal_category
In mathematics, a monoidal category (or tensor category) is a category C equipped with a bifunctor
⊗ : C × C → C
that is associative up to a natural isomorphism, and an object I that is both a left and right identity for ⊗, again up to a natural isomorphism.
The associated natural isomorphisms are subject to certain coherence conditions, which ensure that all the relevant diagrams commute.
In category theory, monoidal categories can be used to define the concept of a monoid object and an associated action on the objects of the category.
They are also used in the definition of an enriched category.
(9) https://ncatlab.org/nlab/show/monoidal+category
(10) http://math.ucr.edu/home/baez/qg-fall2004/definitions.pdf
]]></Notes>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Block/>
<Brick/>
<!-- quantities -->
<Height superClass="Quantity"/>
</_-.XholonClass>
<xholonClassDetails>
<Block>
<port name="height" connector="Height"/>
</Block>
</xholonClassDetails>
<PhysicalSystem>
<Block>
<Height>0.1 m</Height>
</Block>
<Brick multiplicity="2"/>
</PhysicalSystem>
<Blockbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var a = 123;
var b = 456;
var c = a * b;
if (console) {
console.log(c);
}
]]></Blockbehavior>
<Heightbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var myHeight, testing;
var beh = {
postConfigure: function() {
testing = Math.floor(Math.random() * 10);
myHeight = this.cnode.parent();
},
act: function() {
myHeight.println(this.toString());
},
toString: function() {
return "testing:" + testing;
}
}
]]></Heightbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
$wnd.xh.Brickbehavior = function Brickbehavior() {}
$wnd.xh.Brickbehavior.prototype.postConfigure = function() {
this.brick = this.cnode.parent();
this.iam = " red brick";
};
$wnd.xh.Brickbehavior.prototype.act = function() {
this.brick.println("I am a" + this.iam);
};
]]></Brickbehavior>
<Brickbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
console.log("I'm another brick behavior");
]]></Brickbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Block</title>
<rect id="PhysicalSystem/Block" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Height</title>
<rect id="PhysicalSystem/Block/Height" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment