Abstract
We describe a way of representing finite biquandles with n elements as 2n×2n block matrices. Any finite biquandle defines an invariant of virtual knots through counting homomorphisms. The counting invariants of non-quandle biquandles can reveal information not present in the knot quandle, such as the non-triviality of the virtual trefoil and the Kishino knots. We classify biquandles of order 2, 3 and 4 and provide a URL for our Maple programs for computing with finite biquandles.
Introduction
Much recent work has been done on the knot invariants defined by counting homomorphisms from a knot quandle into a finite target quandle ( [7] , [2] , etc.). A quandle is the algebraic structure obtained by assigning a generator to each arc in an oriented knot diagram with a binary operation at each crossing -specifically, set c = a ⊲ b when b is the overcrossing arc, a the arc on the right-hand side of b when looking in the positive direction of the oriented 1 arc b, and c is the arc on the left-hand side of b. The axioms are then derived from the Reidemeister moves, resulting in an algebraic structure which is an invariant of knot type. It is well-known that the knot quandle is a complete invariant of classical knot type up to reflection, though in general quandle-equivalent knots need not be ambient isotopic.
One way of strengthening the resulting invariant is to repeat the procedure used to derive the quandle definition from knot diagrams with semiarcs in place of arcs -instead of dividing our oriented knot diagram into arcs by breaking the diagram at the undercrossing points, we now also break it at overcrossing points. These semiarcs are oriented edges in the underlying 4-valent graph of the knot diagram. If we think of the two inbound semiarcs as the inputs to binary operations, then at each crossing we have two output semiarcs; since there are two types of crossings, this yields four binary operations. Comparing the semiarc labels around the edge of the circle before and after a minimal set of Reidemeister moves gives us a set of axioms. The resulting algebraic structure is called a biquandle; see [1] , [5] , [3] , and [10] , for example.
In this paper, we study finite biquandles using a matrix notation similar to the quandle matrix notation in [6] ; these finite biquandles define invariants of virtual and classical knots via homomorphism counting much like finite groups and finite quandles. The paper is organized as follows: in section 2, we give the biquandle definition and prove some results about finite biquandles. In section 3 we define the biquandle counting invariant and our biquandle matrix notation. In section 4 we exhibit finite biquandles whose counting invariants distinguish the virtual trefoil and a Kishino knot from the unknot, and a biquandle whose counting invariant distinguishes a virtual knot from its reflection. In section 5 we describe our algorithms for finding finite biquandles and computing the counting invariant, and we give a classification of finite biquandles with up to 4 elements. A file containing the Maple code used to obtain these results can be obtained at the first author's chadanderson@example.net/quandles.
Biquandles
We begin by recalling a definition from [10] . This definition is obtained by dividing an oriented knot or link diagram at every crossing point to obtain a collection of semiarcs. These semiarcs are the edges of the knot diagram considered as a 4-valent graph enhanced with crossing information. The two inbound semiarcs then operate on each other to yield the two outbound semiarcs, with different operations at positive and negative crossings as depicted in figure 1. The axioms are then transcriptions of a minimal set of oriented Reidemeister moves which are sufficient to generate any other oriented Reidemeister move. Axioms (1) and (2) come from the direct and reverse type II moves respectively, axiom (3) comes from the two type III moves with all positive and all negative crossings, and axiom (4) comes from the type I move. Proof. Here we only need to observe that the set of axioms is symmetrical under the operation of interchanging the right and left operations and upper and lower operations. Inspection shows that this hold for axioms (1), (3) and (4) . To see that axiom (2) also satisfies this symmetry, consider the following equivalent reformulation of axiom (2):
We will also need the following definition (see [8] or [4] ):
Definition 2 A quandle is a set Q with a binary operation (a, b) → a b such that (i) For all a ∈ Q, a a = a, (ii) For all a, b ∈ Q, there is a unique c ∈ Q such that a = c b , and (iii) For all a, b, c ∈ Q, a bc = a cb c .
The uniqueness in axiom (ii) implies that the map f b : Q → Q given by f b (a) = a b is a bijection; the inverse map is denoted f −1 b (a) = a b , and it is an easy exercise to show that Q forms a quandle under the operation (a, b) → a b , called the dual of Q. Axiom (ii) may then be reformulated as (ii ′ ) For every a, b ∈ Q we have a bb = a bb = a.
As expected, we have the following:
A bijective biquandle homomorphism is a biquandle isomorphism.
The knot biquandle of the obverse of a knot is the obverse of the biquandle of the original knot. The knot biquandle of the flip of a knot, that is, of the knot viewed from the other side of its supporting surface, is the flip of the biquandle of the original knot. If a knot is classical, then flipping is an ambient isotopy and the resulting biquandle must be isomorphic to its flip. If a virtual knot is non-classical, however, the flip of its biquandle may not be isomorphic to the original knot biquandle.
Proposition 2 Let B be a biquandle. Then the automorphism groups Aut(B), Aut(Obv(B)), Aut(Flip(B)) and Aut(Flip(Obv(B))) = Aut(Obv(Flip(B))) are all isomorphic.
. Then when viewed as a map from Obv(B) to itself, switching the right and left operations both before and after applying the map φ gives us back the same set of equalities, and φ ∈ Aut(Obv(B)). Similarly for the other cases.
To define biquandle presentations in terms of generators and relations, for a finite set X we start by defining the set of biquandle words in X, BW (X), to be the set which includes all elements of X together with all finite strings of the forms
where a, b ∈ BW (X). Then the free biquandle on X is the set of equivalence classes in BW (X) under the equivalence relation generated by the relations required by the biquandle axioms above, e.g. a bc ∼ a c b b c , X(a, b) ∼ a b X(a,b) , F x(a) ∼ a F x(a) , etc. A finitely presented biquandle is then the quotient of the free biquandle on a finite set X by the equivalence relation generated by a finite list of equivalences of biquandle words, which we may call explicit relations to distinguish them from the implicit relations required by the biquandle axioms. See [11] for more on the universal algebra of biquandles.
For any virtual knot diagram K, we obtain a presentation of the knot biquandle by assigning a distinct generator to every semiarc and obtaining a pair of relations at every crossing according to the diagrams in figure 1. The knot biquandle is then quotient of the free biquandle on the set of semi-arcs in the virtual knot diagram by the set of relations at each crossing; it is an invariant of virtual isotopy by construction.
In each of these, a is the input, b is the operator and c is the output. A biquandle presentation is knotlike if (i) Every explicit relation is short, A biquandle is knotlike if it has a knotlike presentation.
In particular, if we number the semiarcs in a knot biquandle sequentially following the orientation of the knot, then every relation is of the form i y = i + 1, i y = i + 1, i y = i + 1, or i y = i + 1 and we can unambiguously specify a knot biquandle as a vector whose ith entry is the operation in the explicit relation with input i. This vector notation can easily be translated into a Gauss code ( [9] ) or an SOKQ presentation ( [13] ).
Every virtual knot or link biquandle is knotlike. Unlike the knot quandle, given a knotlike biquandle presentation we can reconstruct the virtual knot or link it comes from up to strictly virtual moves. This is consistent with the following conjecture (see [3] ):
The knot biquandle is complete invariant of virtual link type. That is, if two knotlike biquandle presentations are related by Tietze moves, then the resulting virtual link diagrams are related by virtual isotopy moves.
As with other algebraic invariants of knots and links, direct comparison of isomorphism types of biquandles given by presentations is generally difficult. Thus, we seek invariants of biquandle isomorphism type, which are naturally also knot invariants. One such invariant is the counting invariant associated to a finite biquandle described in the following section.
Finite biquandles and the counting invariant
Let T be a finite biquandle and K a finitely presented biquandle, e.g. a knot biquandle. As with groups and quandles, we have the following theorem (see also [3] ):
Theorem 3 The cardinality |Hom(K, T )| of the set of homomorphisms from K to T is an invariant of biquandle isomorphism type and hence an invariant of virtual isotopy.
Proof. If φ : K → K ′ is an isomorphism then for every f ∈ Hom(K, T ) we have f φ −1 ∈ Hom(K ′ , T ) and for every g ∈ Hom(K ′ , T ) we have gφ ∈ Hom(K, T ). Hence we have both |Hom(K, T )| ≤ |Hom(K ′ , T )| and |Hom(K ′ , T )| ≤ |Hom(K, T )|, so |Hom(K, T )| = |Hom(K ′ , T )|.
Thus, for every finite biquandle T , the number of homomorphisms into T is an invariant of virtual (and hence classical) knot type. In order to find and evaluate such invariants, then, we need a way of representing finite biquandles. In [6] , finite quandles Q = {x 1 , . . . , x n } of order n are represented as n × n matrices with M ij = k where x k = x xj i . To represent finite biquandles as matrices, we use the following block matrix notation.
. , x n } be a finite biquandle. Then the matrix of B is the block matrix
The matrices M i will be called the block submatrices or just the submatrices of B.
Example 1 For any positive integer n let T n be the matrix such that the ith row of T n has every entry equal to i. Then the matrix
is a finite biquandle, called the trivial biquandle of order n. For instance,
Even though the biquandle axioms, unlike the quandle axioms, do not require uniqueness of right inverses under the four biquandle operations, we have Proposition 4 If B is a finite biquandle, then the right inverses under each of the four actions are unique.
Proof. Axiom (2) part (v) says that for every a, b ∈ B there is a c such that a = c b . That is, for a given element b ∈ B, every element of B must appear at least once in the column of b in the M 2 block of the matrix of B. Since there are only n available positions and n elements which must appear, every element appears exactly once. Similarly for M 1 .
To see uniqueness for M 4 , note that axiom 2 part (iii) is equivalent to "for all a, b ∈ B there exist c, x ∈ B such that b = c a and c = b x ." In particular, every element b must appear in some row c in column a, and as before we have uniqueness. Similarly for M 3 .
Thus, we have one easily checked condition for a block matrix to be the matrix of a finite biquandle, namely that each block must have columns which are permutations. The condition arising from the type I move is also easy to check visually:
Proposition 5 If M is one of the four submatrices of a finite biquandle, then every row of M has exactly one entry equal to its column number in M .
Proof. Axiom (4) implies that every row contains at least one entry which equals its column number. Now suppose row i has M ij = j and M ik = k. Then since every column is a permutation, no entry appears more than once in a column, so no other row has a j in column j or a k in column k. Then of the remaining n − 1 rows, at most n − 2 have an entry equal to its column number, and M is not a biquandle submatrix. But these are just the quandle axioms; (1) and (2) together give us quandle axiom (ii), while (3) is quandle axiom (iii) for a quandle and its dual, and (4) is quandle axiom (i) for a quandle and its dual.
Corollary 7 Let Q be a finite quandle. Then there is a corresponding finite biquandle with matrix
where M Q is the matrix of Q, and M Q is the matrix of the dual of Q, and T n is the matrix of the trivial quandle of order n. Such a biquandle is self-obverse iff Q is self-dual, and self-flip iff Q is trivial.
A biquandle with both lower (or both upper) operations trivial is really a quandle in disguise, which we call a quandle biquandle or a qbiq. Thus, to find new knot invariants using finite biquandles, we seek biquandles in which the lower (or upper) operations are non-trivial; we call such biquandles non-quandle biquandles or non qbiqs.
In the next section we give a few examples to illustrate the usefulness of biquandle counting invariants.
Counting invariant examples
To compute the counting invariant we first obtain a presentation of the knot biquandle for the virtual knot or link in question. We represent such a presentation with a biquandle presentation matrix in which each short-form relation fills in an entry in one of the biquandle submatrices, and the remaining entries are zero. Thus, an n-crossing knot or link has a 4n× 4n biquandle presentation matrix with exactly n non-zero entries.
Example 2
The biquandle of the unknot is the free biquandle on one generator. The zero-crossing diagram of the unknot determines a biquandle presentation with a single generator and an empty list of explicit relations, which does not yield a useful presentation matrix. The below one-crossing unknot diagram has biquandle presentation 1, 2 | 1 2 = 1, 2 1 = 1 , presentation vector [ 2 , 1 ] and presentation matrix
Example 3 The virtual trefoil from [9] has biquandle presentation 1, 2, 3, 4 | 1 3 = 2, 2 4 = 3, 3 1 = 4, 4 2 = 1 , which has presentation vector [ 3 , 4 , 1 , 2 ] and presentation matrix 
The counting invariant for a non-quandle biquandle can give us information not present in the knot quandle. For instance, the virtual trefoil in example 3 has trivial knot quandle as well as trivial Jones polynomial; however, the biquandle counting invariant with target biquandle 
] and presentation matrix 
This virtual knot is distinguished from the unknot by the biquandle counting invariant with target biquandle Note that, unlike quandles and groups, for a given pair of biquandles there may or may not be a homomorphism between the pair; thus a biquandle counting invariant can take any non-negative integer value, including zero. Indeed, we have Proof. If a ∈ B is idempotent in all four operations, that is, if a a = a, a a = a, a a = a and a a = a, then for any biquandle B with n generators, the constant map sending all generators to a satisfies any possible list of relations and hence is always a biquandle homomorphism.
Attempting to compute a complete list of finite biquandles even for small order quickly becomes computationally very resource-hungry. To find suitable finite target biquandles for use in counting invariants, then, it can be helpful to look for biquandle completions. Since filling in a zero amounts to adding a new explicit short relation, a completion is actually a finite quotient of the original biquandle. In particular, a completion of the presentation matrix of a knotlike biquandle KB is a finite quotient biquandle T onto which there is a surjective homomorphism. More generally, for any labelling of the semi-arcs in a knot diagram with numbers {1, 2, . . . , n} such that no two crossings have the same input labels, we can form the resulting biquandle presentation matrix and look for completions.
Definition 8 Let B be a biquandle. If there is an element a ∈ B such that every element of B is equivalent to a word starting with a (that is, a word with leftmost generator a), we say B is connected.
As with quandles, knot biquandles are connected, though link biquandles in general are not. Hence, for finding new knot invariants, we are primarily concerned with finding finite connected non-quandle biquandles. Of particular interest are finite non-quandle biquandles which are not selfflip and not self-obverse. As with quandles and groups, two isomorphic biquandles define the the same knot invariant; however, the flip or the obverse of a non self-flip or non self-obverse biquandle generally defines a different invariant from that defined by the original.
Our results in section 5 indicate that all biquandles with order ≤ 4 are self-obverse. Non self-obverse biquandles can be used to distinguish some virtual knots from their obverses -if |Hom(K, T )| = |Hom(Obv(K), T )| or equivalently if |Hom(K, T )| = |Hom(K, Obv(T ))|, then K is not isotopic to its obverse.
Example 5
The biquandle T 5 below is not self-obverse. Its counting invariant distinguishes the virtual knot below from its obverse, with |Hom(K 2 , T 5 )| = 5 = 1 = |Hom(Obv(K 2 ), T 5 )|. This virtual knot is similar to the virtual knots in figure 3 of [14] . Indeed, this same biquandle distinguishes K 2 from its inverse, that is, the virtual knot obtained from K 2 by reversing its orientation. 
In the last section we describe an algorithm for finding finite biquandles, including completions, and give a classification of all finite biquandles with up to 4 elements.
Computational Results
A file called biquandles-maple.txt containing Maple code implementing the following algorithm is available for chadanderson@example.net/quandles; we have chosen not to include it here as it is rather lengthy.
Our code represents a finite biquandle internally as a vector of four matrices rather than one large block matrix. Our first program, biqtest, checks a list of four n × n matrices for the biquandle axioms, returning "true" if the list represents a finite biquandle and "false" if any axiom is not satisfied.
Much of the work in finding finite biquandles is done by biqfill, which takes as input a biquandle pattern consisting of four n × n matrices with entries in {0, 1, . . . , n}. An entry of zero counts as a blank; our matrix notation lets the entries act both as biquandle elements and as submatrix row and column numbers. Overall, biqfill is a loop controlled by two variables, a "changed" counter and a "contradiction" counter. The program systematically checks a working biquandle pattern for each of the axioms. When the contradiction marker is set, the program skips the remaining checks, exits the loop and reports "false". Setting the "changed" counter to "true" tells the program to repeat the loop, propagating the changed value through the matrix. Biquandle axioms (1) and (3) each assert that various biquandle words corresponding to entries in the matrices should be equal; if enough entries are non-zero to determine the positions of the two entries in question, the entries are compared. If the two entries are equal, the algorithm moves on; if one is zero and the other non-zero, the zero entry is changed to match the non-zero entry and the "changed" counter is set to true; if both entries are non-zero and not equal, then the "contradiction" counter is set to true. Axiom (2) makes assertions about the right inverses of the various biquandle operations; biqfill tests for these, again setting the contradiction counter if the pattern violates one of the axioms and filling in zeroes when possible. For axiom (4), the contradiction counter is set to "true" if any row has no zeroes and no entry equal to its column number or if any row has more than one entry equal to its column number. When a row has one entry equal to its column number, the corresponding entry in the upper or lower matrix is checked and filled in or the contradiction counter is set as appropriate.
The equations in axiom (3) come from the oriented versions of the third Reidemeister move with all three crossings of the same sign. To speed up the search algorithm, we include the equations arising from the other oriented Reidemeister III moves, which are consequences of axioms (1)-(3). Finally, biqfill checks each column, looking for any which have only one zero; such zeroes are filled in or contradictions detected with the program avail, which finds the smallest available entry for the specified positions which does not contradict propositions 4 and 5 or returns "false" if no such entry exists. If the "contradiction" counter evaluates to "true" at any point, the loop is exited and biqfill returns "false." At the end of the loop, if the "changed" counter evaluates to "true" then the loop is repeated; if not, the program reports the new pattern and exits.
The program biqlist takes a starting biquandle pattern and starts a working list. The program removes the first biquandle pattern from the working list, then uses bfindzero and ratezero to find the zero entry most likely to complete a row, column, or Reidemeister III word, then systematically fills in the zero with each possible entry returned by avail. For each such value, the pattern is run through biqfill and any patterns returned are added to the end of the working list. When a pattern has no remaining zeroes, it is transferred to the output list; when the working list is empty, the program reports the output list. biqlist is useful for finding biquandle completions for knot biquandles, and we used it to find all biquandles of order 2, 3 and 4 as well as several biquandles of orders 5 and 6.
To compute the biquandle counting invariant, we use bhomlist which represents a map φ : {1, 2, . . . , n} → {1, 2, . . . , m} as a vector [φ(1), φ(2), . . . , φ(n)] where φ(i) ∈ {1, 2, . . . , m}. This program starts with a vector of all zeroes and keeps a working list of vectors, systematically filling in zeroes with each possible entry and using bhomfill to propagate the values through the vector as required by the homomorphism conditions, removing any maps which violate the homomorphism conditions. Once all zeroes have been filled in, each completed homomorphism is moved to the output list, and once the working list is empty, the output list is reported. The program bhomcount reports the cardinality of the list output by bhomlist, that is, the value of the counting invariant for the input presentation and target biquandles.
bhomlist can compute the set of homomorphisms from any biquandle presentation matrix to any finite biquandle. Since a finite biquandle matrix is itself a presentation matrix, we can use bhomlist to determine whether any pair of finite biquandles are isomorphic and to compute the automorphism group of any finite biquandle. bisolist lists the isomorphisms from one finite biquandle to another, giving an empty list if the two are non-isomorphic. baut computes the automorphism group of a finite biquandle.
Obv gives the obverse of a biquandle matrix, Flip gives the flip. The program breducelist takes a list of biquandles and removes any which are isomorphic to previous biquandles on the list, their flips, their obverses, or their obverse flips. For long lists of biquandles, it may be necessary to split the list into smaller lists first.
We used biqlist and breducelist to classify finite biquandles of order 2, 3 and 4; the results are lists in tables 1 through 8. There are 36 biquandles of order 3, which comprise 15 isomorphism classes. Five of these are isomorphic to the flip, obverse, or obverse flip of one of the ten listed biquandles of order 3. There are 744 biquandles of order 4, which reduce to 64 when isomorphic copies, flips and obverses are removed. In the interest of space, we have listed only the non-quandle biquandles of order 4. In the tables we have noted whether a biquandle is self-flip and listed the automorphism groups computed with baut. 

{'paper_id': '119631905', 'title': 'Matrices and finite biquandles', 's2_url': 'https://api.semanticscholar.org/CorpusID:119631905', 'source': 'S2ORC'}