This project computes the RO(C4) homology of a point as a Green Functor and more. This has been supplanted by the C++ library Mackey.
Read the Wiki for the full documentation. What follows is an FAQ; if you want to verify the results of our paper, in your preferred finite range, look no further than what's below.
All you need is a version of MATLAB (the base installation). I have only tested it with v. R2019a but it should probably work with previous versions of MATLAB or freeware like Octave that can run MATLAB code.
Download the repository and add it to your MATLAB path. Then type the following in the command line:
write_Data(1,1);
Data=load_Data;
test_Pure_Homology(8,7,0,Data);
The last command will perform three operations:
-
Check the answer against the tables in our paper, sending out an error message if there is a mismatch
-
Print the answer in the form
The k homology of the (n,m) sphere is MackeyFunctorSymbol
where MackeyFunctorSymbol
is our notation of the corresponding Mackey functor.
Since the MATLAB display output does not support Latex, MackeyFunctorSymbol
is more or less the Latex code of the symbol from our paper. For example, overline Z/2
stands for .
If you want to verify a different range, say n=0,...,rangeN, m=0,...,rangeM, run
test_Pure_Homology(rangeN,rangeM,0,Data);
If you want to check the homology of (in the usual range n=0,...,rangeN and m=0,...,rangeM), run
test_Pure_Cohomology(rangeN,rangeM,0,Data);
test_Sigma_Minus_Lambda(rangeN,rangeM,0,Data);
test_Lambda_Minus_Sigma(rangeN,rangeM,0,Data);
For the multiplicative generators of run
test_Pure_Homology_Mult(rangeN1,rangeN2,rangeM1,rangeM2,0,Data);
The input variables rangeN1, rangeN2, rangeM1, rangeM2
specify the sets that the exponents of the Euler and orientation classes aσ, u2σ, aλ, uλ are allowed to range in, respectively.
The command above does three things:
-
Computes the product of these Euler and orientation classes and checks if it's a generator
-
Checks the answer against our tables sending out an error message if not
-
Prints the answer in a form that looks like
Top Generator verified: asigma^2*alambda^3
or like
Mid Generator verified: usigma^4*bar(ulambda^2)
There's no reason to check the bottom level generators as that just involves the nonequivariant homology of spheres.
To check the rest of the tables run any of the following
test_Pure_Cohomology_Mult(rangeN1,rangeN2,rangeM1,rangeM2,0,Data);
test_Sigma_Minus_Lambda_Mult(rangeN1,rangeN2,rangeM1,rangeM2,0,Data);
test_Lambda_Minus_Sigma_Mult(rangeN1,rangeN2,rangeM1,rangeM2,0,Data);
Significant speed improvements can be achieved by precomputing data so as to avoid repeat calculations. Just run the test functions with the third input being 1 eg
test_Pure_Homology(rangeN,rangeM,1,Data);
Warning: If you run
test_Sigma_Minus_Lambda_Mult(rangeN1,rangeN2,rangeM1,rangeM2,1,Data);
test_Lambda_Minus_Sigma_Mult(rangeN1,rangeN2,rangeM1,rangeM2,1,Data);
you will get an error
Index in position 3 exceeds array bounds (must not exceed 1).
This is because these two functions involve triple box products and extra data must be precomputed. So you must first run
write_Data(1,LargeNumber);
Data=load_Data;
for a large enough LargeNumber
depending on the ranges you are using.
The larger the LargeNumber
you select the more precomputed data you have available and the wider the ranges you can check. LargeNumber=100
should be more than enough for any reasonable ranges (increasing it much further will make write_Data(1,LargeNumber)
a lot slower).
Try parallel processing.