Opened 8 years ago
Last modified 8 years ago
#763 reopened bug
betti() gives 'not a resolvent' for proper complex
Reported by: | steenpass | Owned by: | somebody |
---|---|---|---|
Priority: | minor | Milestone: | 4-1-0 and higher |
Component: | dontKnow | Version: | 4-0-3 |
Keywords: | Cc: | schreyer@… |
Description
Consider the following two resolutions:
> option(noloadLib); > LIB "matrix.lib"; > ring r = 0, (x,y,z), dp; > ideal i1 = x, y, z; > ideal i2 = 1; > resolution s1 = res(i1, 0); > resolution s2 = res(i2, 0); > list l1 = s1; > list l2 = s2; > print(betti(l1, 0), "betti"); 0 1 2 3 ------------------------------ 0: 1 3 3 1 ------------------------------ total: 1 3 3 1 > print(betti(l2, 0), "betti"); 0 1 ------------------ 0: - 1 1: 1 - ------------------ total: 1 1 >
Now let
list l_sum;
be the direct sum of l1 and l2 such that
l_sum[3] = module(dsum(matrix(l1[3]), matrix(l2[1]))); // direct sum
This way, we have to set
l_sum[1] = l1[1]; l_sum[2] = module(l1[2][1], l1[2][2], l1[2][3], 0);
Now we have
> print(l_sum[1]); z, y, x > print(l_sum[2]); -y,-x,0, 0, z, 0, -x,0, 0, z, y, 0 > print(l_sum[3]); x, 0, -y,0, z, 0, 0, 1
which is a proper complex. However, we get the following:
> print(betti(l_sum, 0), "betti"); ? input not a resolvent ? error occurred in or before STDIN line 19: `print(betti(l_sum, 0), "betti");` >
Change History (2)
comment:1 Changed 8 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 Changed 8 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Thanks for the fix. Now the command succeeds:
> print(betti(l_sum, 0), "betti"); 0 1 2 3 ------------------------------ -3: - - - 1 -2: - - - - -1: - - - - 0: 1 3 3 1 ------------------------------ total: 1 3 3 2
However, the Betti table is wrong. I would expect
0 1 2 3 ------------------------------ -1: - - - 1 0: 1 3 2 1 ------------------------------ total: 1 3 3 2
Note: See
TracTickets for help on using
tickets.
fix: see 1c1d660c7201e1779c8af50b3966da3a6e5cbe7c