# spike -- spike matroid

## Synopsis

• Usage:
M = spike r
M = spike(r, L)
M = binarySpike r
• Inputs:
• Outputs:
• , a (tipped) r-spike

## Description

The family of spikes appears in Oxley, p. 661-662. For a given r, every r-spike has 2r+1 elements and rank r. The ground set consists of a tip 0, and r legs {0, 1, 2}, {0, 3, 4}, ..., {0, 2*r-1, 2*r} (each of which is a circuit).

Deleting the tip 0 gives a matroid of rank r on 2r elements called a tipless r-spike.

The optional input L should be a list of additional circuits, subject to certain additional conditions to be a spike. If no additional circuits are provided, then the spike is called free.

Out of all possible r-spikes, there is a a unique one which is binary (i.e. representable over the field of 2 elements): this is returned by the function binarySpike.

 i1 : M = binarySpike 5 o1 = a "matroid" of rank 5 on 11 elements o1 : Matroid i2 : getRepresentation M o2 = | 1 0 0 0 0 0 1 1 1 1 1 | | 0 1 0 0 0 1 0 1 1 1 1 | | 0 0 1 0 0 1 1 0 1 1 1 | | 0 0 0 1 0 1 1 1 0 1 1 | | 0 0 0 0 1 1 1 1 1 0 1 | ZZ 5 ZZ 11 o2 : Matrix (--) <--- (--) 2 2 i3 : N = M \ set{0} o3 = a "matroid" of rank 5 on 10 elements o3 : Matroid i4 : areIsomorphic(N, dual N) o4 = true i5 : N1 = (spike 5) \ set{0} o5 = a "matroid" of rank 5 on 10 elements o5 : Matroid i6 : N1 == dual N1 o6 = true