Higher algebra

Higher category theory

higher category theory

Basic concepts

Basic theorems





Universal constructions

Extra properties and structure

1-categorical presentations

TwoVect: a Mathematica Package for 2-Vector Spaces

What is TwoVect?

TwoVect is a Mathematica package for working with finite-dimensional complex semisimple 2-vector spaces. It implements all the basic operations of a skeletal version of 2Vect, the symmetric monoidal bicategory of finite-dimensional 2-vector spaces.

2-vector space are categories with many of the same properties as ordinary vector spaces. There are two main types of 2-vector spaces; the sort we are concerned with here are Kapranov-Voevodsky 2-vector spaces, closely related to the 2-Hilbert spaces of Baez. They have a range of applications in quantum algebra, representation theory, topological quantum field theory and quantum information. This package can help with calculations in these areas.

TwoVect was developed by Dan Roberts in 2011 as an MSc project, at the Quantum Group in the Department of Computer Science of the University of Oxford, supervised by Jamie Vicary. If you’ve got any questions, please get in touch.

How can I get it?

Here are download links for the packages and the user guide.

What’s it for?

The mathematics of 2-vector spaces is often referred to as higher linear algebra, and extends the ordinary linear algebra required for calculations involving traditional vector spaces. This higher linear algebra can be difficult to work with by hand: whereas ordinary linear algebra involves matrices of complex numbers, higher linear algebra involves matrices of matrices of complex numbers. And whereas ordinary matrices can be composed in two different ways, ordinary composition and tensor product, the theory of 2-vector spaces involves three types of composition: tensor product, horizontal composition and vertical composition.

While the underlying mathematics of 2-vector spaces is elegant and natural, the combinatorics of these basic operations can make calculations difficult to perform by hand. TwoVect implements the basic operations of higher linear algebra, and can make calculations a lot easier.

Here are some example uses for the package.

How does it work?

The basic package TwoVect implements a completely skeletal version of 2Vect, the symmetric monoidal bicategory of finite-dimensional semisimple complex 2-vector spaces, in the following way:

The three primitive composition operations of 2Vect are implemented:

The nonidentity invertible structural 2-cells are also implemented, which account for weakness of horizontal composition and tensor product:

There are also two add-on packages:

How could this be developed?

There are several exciting ways this could evolve. If you want to help out, get in touch! Lots of things on this list would involve original research, and could form a part of a Masters or PhD dissertation.

There are also some more mundane issues that need dealing with.

category: software