def testInvolutiveRankL31(self): "Check that the involutive Floer homology of L(3,1) is F_2^4." P = infTypeD(1) Q = infTypeD(1) R = ArcslideDA(Arcslide(splitPMC(1),1,0)) Q2 = R.tensorD(Q) Q3 = R.tensorD(Q2) Q4 = R.tensorD(Q3) othcx = P.morToD(Q4) othcx.simplify() cx = involutiveCx(P,Q3) self.assertTrue(len(othcx)==3) self.assertTrue(len(cx)==4)
def testGrading(self): d1 = zeroTypeD(1) d2 = infTypeD(1) dd_id = identityDD(splitPMC(1)) cx = computeATensorD(d1.dual(), d2) dstr1 = computeDATensorD(dd_id, d1) dstr2 = computeATensorDD(d1, dd_id)
def testDATensorD(self): dastr = identityDA(splitPMC(2)) dstr = zeroTypeD(2) dstr_result = dastr.tensorD(dstr) cx = dstr_result.morToD(infTypeD(2)) cx.simplify() # Basic check that dstr_result is still zeroTypeD(2) self.assertEqual(len(cx), 1)
def testMorToD(self): id2 = identityDD(splitPMC(2)) d = infTypeD(2) d2 = id2.morToD(d) self.assertTrue(d2.testDelta()) d2.simplify() self.assertEqual(len(d2), 1) d3 = zeroTypeD(2) d4 = id2.morToD(d3) self.assertTrue(d4.testDelta()) d4.simplify() self.assertEqual(len(d4), 1)
def openCap(self): """Returns the type D structure corresponding to this handlebody by tensoring type DA bimodules with the genus-1 handlebody. """ assert self.genus > 0 last_move, prev_cap = self.getLastCobordism() if self.genus == 1: if last_move == 0: return zeroTypeD(1) else: return infTypeD(1) else: cur_da = CobordismDALeft(Cobordism(self.genus, last_move, LEFT)) dstr = cur_da.tensorD(prev_cap.openCap()) dstr.simplify() dstr.reindex() return dstr
def platTypeD2(genus, is_dual = False): """Obtain linear handlebody from inf-framed handlebody by a sequence of arcslides. As the inf-framed handlebody has absolute grading, we can get absolute grading on this D structure. """ start = infTypeD(genus, is_dual) slides = [] for i in range(genus-1): slides += [(4*i+3,4*i+4), (4*i+6,4*i+7), (4*i+5,4*i+6)] cur_pmc = splitPMC(genus) for i in range(len(slides)): b1, c1 = slides[i] slides[i] = Arcslide(cur_pmc, b1, c1) cur_pmc = slides[i].end_pmc if not is_dual: slides = [slide.inverse() for slide in slides] slides_dd = [slide.getDDStructure() for slide in slides] return composeDD(start, slides_dd, is_dual)
def testInvolutiveRankS3(self): "Check that the involutive Floer homology of S^3 is F_2^2." P = zeroTypeD(1) Q = infTypeD(1) cx = involutiveCx(P,Q) self.assertTrue(len(cx)==2)