| version 1.27, 2000/08/16 22:38:52 |
version 1.28, 2000/08/21 07:45:22 |
|
|
| /* $OpenXM: OpenXM/src/k097/lib/minimal/minimal.k,v 1.26 2000/08/10 02:59:08 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/k097/lib/minimal/minimal.k,v 1.27 2000/08/16 22:38:52 takayama Exp $ */ |
| #define DEBUG 1 |
#define DEBUG 1 |
| Sordinary = false; |
Sordinary = false; |
| /* If you run this program on openxm version 1.1.2 (FreeBSD), |
/* If you run this program on openxm version 1.1.2 (FreeBSD), |
| Line 1006 def Sminimal(g,opt) { |
|
| Line 1006 def Sminimal(g,opt) { |
|
| redundantTable = r[1]; |
redundantTable = r[1]; |
| reducer = r[2]; |
reducer = r[2]; |
| bettiTable = SbettiTable(redundantTable); |
bettiTable = SbettiTable(redundantTable); |
| Sprintln2("Betti numbers are ------"); |
Sprintln2("BettiTable ------"); |
| if (Sverbose || Sverbose2) {sm1_pmat(bettiTable);} |
if (Sverbose || Sverbose2) {sm1_pmat(bettiTable);} |
| minRes = SnewArrayOfFormat(freeRes); |
minRes = SnewArrayOfFormat(freeRes); |
| seq = 0; |
seq = 0; |
| Line 1070 def Sminimal(g,opt) { |
|
| Line 1070 def Sminimal(g,opt) { |
|
| Println("0: minimal resolution, 3: Schreyer resolution "); |
Println("0: minimal resolution, 3: Schreyer resolution "); |
| Println("------------ Resolution Summary --------------"); |
Println("------------ Resolution Summary --------------"); |
| Print("Betti numbers : "); |
Print("Betti numbers : "); |
| Println(Map(ansSminimal[0],"Length")); |
Println(Join([Length(ansSminimal[0,0,0])],Map(ansSminimal[0],"Length"))); |
| Print("Betti numbers of the Schreyer frame: "); |
Print("Betti numbers of the Schreyer frame: "); |
| Println(Map(ansSminimal[3],"Length")); |
Println(Join([Length(ansSminimal[3,0,0])],Map(ansSminimal[3],"Length"))); |
| Println("-----------------------------------------------"); |
Println("-----------------------------------------------"); |
| |
|
| sm1(" restoreEnvAfterResolution "); |
sm1(" restoreEnvAfterResolution "); |
| Line 1509 HelpAdd(["SgetShift", |
|
| Line 1509 HelpAdd(["SgetShift", |
|
| def SgetShifts(resmat,w) { |
def SgetShifts(resmat,w) { |
| local i,n,ans,m0; |
local i,n,ans,m0; |
| n = Length(resmat); |
n = Length(resmat); |
| ans = NewArray(n); |
ans = NewArray(n+1); |
| m0 = NewArray(Length(resmat[0,0])); |
m0 = NewArray(Length(resmat[0,0])); |
| ans[0] = m0; |
ans[0] = m0; |
| for (i=0; i<n-1; i++) { |
for (i=0; i<n; i++) { |
| ans[i+1] = SgetShift(resmat[i],w,m0); |
ans[i+1] = SgetShift(resmat[i],w,m0); |
| m0 = ans[i+1]; |
m0 = ans[i+1]; |
| } |
} |