Jürgen Böhms Heimatseiten  Wissenschaft


dpack8 Package fundamental domains calculator sheafCohJB compCohX The dpack system for lie symmetry analysisIntroductionFeaturesThe maple package dpack is part of my work on a thesis with the title Janetbasen und Algorithmen zur Lösung gewöhnlicher Differentialgleichungen 2. und 3. Ordnung mittels Symmetrieanalyse Janetbases and Algorithms for Solution of ODEs of 2nd and 3rd Order by SymmetryAnalysis
which I started working on in June 1996 as member of the Group CADE at the german It represents a comprehensive collection of algorithms and datatypes useful for liesymmetry analysis of ODEs and PDEs with features like
Ease of useWhen I designed dpack my goals were:
DownloadRequirements
There it is: The following textfile contains the installation instructions: A necessary remarkIf you are  even to the slightest extent  interested in using the software or just playing a bit with it: Feel free to contact me about any problems encountered, or if you need help in installing the system or getting it to run on your computer (there have to be some pathnames changed in the sources probably). There are onlinehelp pages (made for the maple help system) included that become automatically activated, when the system is started  and I will make available some mapleworksheets showing example calculations ASAP. The funddomain routines
The funddomain routines are made for computing fundamental domains of
congruence subgroups of SL2(Z) in the upper half plane.
The main routines are gensToGroup ( genlis, oper ) where
gensToGroup computes the list of group elements generated by genlis under oper generateFundDomain ( quotGroup ) where quotGroup is a list of 2x2 matrices forming a group in SL2(Z/NZ). They represent the congruence subgroup GAMMA which is its preimage in SL2(Z). generateFundDomain computes a list of pairs funddomain, each consisting of
Together they describe a fundamental domain for the abovementioned congruence subgroup. More precisely the fundamental domain is the union of the translates of the canonical fundamental domain FF for SL2(Z) with all the matrices in funddomain. Additionally the indices give glueing data for the borders of the translated FF domain. The domain FF has a T, T^(1) and a Sside where an "ASide" means the intersection of FF with A FF. The three indices tell to which triangle of the fundamental domain of GAMMA  represented as the list funddomain  the T,T^1 and S adjacent triangle are equivalent modulo GAMMA. A negative value means, the adjacent triangle is by itself in funddomain. generateFundDomain2 ( funddom, quotGroup ) where
generateFundDomain2 computes a list funddom1 of pairs belonging to the congruence group GAMMA. The result has the same format as in generateFundDomain. Additionally it computes a mapping of the triangles of funddom to those computed for GAMMA (that is funddom1). This mapping represents the canonical map of GAMMA1\upperhalfplane to GAMMA\upperhalfplane.
generateRhoRels ( funddom )
take a list as returned by generateFundDomain as argument and compute a list of points overlying rho, I and infinity in SL2(Z)\upperhalfplane, together with their multiplicities. Returned is a list of lists of indices into funddom. Each element of that list corresponds to a point over rho, I, infinity respectively. The cardinality of the element (which is a list by itself) is the "Verzweigungsindex" (e). The meaning of the indices in the elementlist is as follows: If one takes the indices in the list representing a point over rho (resp. I, infinity) and selects by these indices the matrices from the list funddom (e.g. point equals [i1, i2, i3], corresponding matrices are funddom[i1][1], funddom[i2][1], funddom[i3][1] ) then applying these matrices to the point rho (resp. I, infinity) gives the points of the fundamental domain described by funddom lying over rho (resp. I, infinity). (N.B. border identifications may apply !) DownloadRequirements
There it is: The following Maple worksheet contains some example calculations: Maple Worksheet for funddomain1.maple Computing sheaf cohomology with Singular
Download the package
The function sheafCohJB(m,d1,d2) computes the ranks of the cohomology groups H^i(X,m(d)) with d1 <= d <= d2 where m is a module in Singular associated to a ring R. Then X is proj(R) and m(d) in H^i(X,m(d)) stands for the dtimes twisted sheaf associated to m. To try some examples do: LIB "all.lib"; LIB "sheafcoh.lib"; LIB "shjb.lib"; testJB(); def r=basering; setring r; sheafCoh(m1,6,5); sheafCohJB(m1,6,5); ... and so on (you have the modules m0, m1, m2 predefined). Comparing the results of sheafCoh and sheafCohJB, you can convince yourself (hopefully) of the correctness of my method. Concerning the mathematical base of my algorithm it might be interesting to note that it does not use local duality but global duality in its simplest form only. Computing sheaf cohomology with Macaulay2
Download the package
The function compCohX(ma, deg, check) takes three arguments. The first is a module ma over a polynomial ring S=A[x_0,...,x_n] where A is an arbitrary ring. (Currently only tested with A = QQ[a]). The parameter deg gives the truncation of ma for computing the main resolution of truncate(deg,ma). The third parameter check decides if checks on degrees in the resolution complex are done. (They are done, when check is not zero). To try some examples do:load "compcoh1.m2" (D,C,HD) = compCohX(na1, 2, 0) (D,C,HD) = compCohX(ma1, 2, 0) (D,C,HD) = compCohX((coker phi) ** (S1^{1}), 2, 0) prune HH(D ** (A/ideal(a))) 