Annotation of OpenXM/src/k097/Doc/complex.texi, Revision 1.3
1.3 ! takayama 1: %% $OpenXM: OpenXM/src/k097/Doc/complex.texi,v 1.2 2001/01/05 11:14:26 takayama Exp $
1.1 takayama 2: /*&C
3: \input texinfo
4: @iftex
5: @catcode`@#=6
6: @def@b#1{{@bf@gt #1}}
7: @catcode`@#=@other
8: @end iftex
9: @overfullrule=0pt
10: @c -*-texinfo-*-
11: @comment %**start of header
12: @setfilename complex
13: @settitle complex
14: @comment %**end of header
15: @comment %@setchapternewpage odd
16:
17: @iftex
18: @comment @finalout
19: @end iftex
20:
21: @titlepage
22:
23: */
24:
25: //&C @title Kan/k0 complex
26: //&ja @subtitle Kan/k0 complex $B%Q%C%1!<%8(B User's Manual ($BF|K\8lHG(B)
27: //&en @subtitle Kan/k0 complex Package User's Manual
28: /*&C
29: @subtitle Edition 1.1.3 for OpenXM/kan/k0
30: @subtitle December 31, 2000
31:
32: @author by Nobuki Takayama
33: @end titlepage
34:
35: @synindex vr fn
36:
37: @comment node-name, next, previous, up
38: @node Top,, (dir), (dir)
39:
40: */
41:
42: /*&ja
43:
44: @menu
45: * COMPLEX $BH!?t(B::
46: * $B4pK\(B $BH!?t(B::
47: * $B:w0z(B::
48: @end menu
49:
50: */
51: /*&en
52:
53: @menu
54: * COMPLEX function::
55: * Primitive function::
56: * index::
57: @end menu
58:
59: */
60: /*&ja
61:
62: @node COMPLEX $BH!?t(B,,, Top
63: @chapter COMPLEX $BH!?t(B
64: @section $BH!?t0lMw(B
65: */
66: /*&en
67:
68: @node COMPLEX function,,, Top
69: @chapter COMPLEX function
70: @section A list of functions
71: */
72: /*&C
73: @menu
74: * Res_solv::
75: * Res_solv2::
76: * Kernel::
77: * Kernel2::
78: * Gb::
79: * Gb_h::
80: * Res_shiftMatrix::
81: @end menu
82:
83: */
84:
85: /*&ja
86: @c %%%%%%%%%%%%%%%%%%%% start of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
87: @menu
88: * Res_solv::
89: @end menu
90: @node Res_solv,,, COMPLEX $BH!?t(B
91: @subsection @code{Res_solv}
92: @findex Res_solv
93: @table @t
94: @item Res_solv(@var{m},@var{d})
1.3 ! takayama 95: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B.
1.1 takayama 96: @item Res_solv(@var{m},@var{d},@var{r})
97: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B. @var{r} $B$O(B ring.
98: @end table
99:
100: */
101: /*&en
102: @c %%%%%%%%%%%%%%%%%%%% start of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103: @menu
104: * Res_solv::
105: @end menu
106: @node Res_solv,,, COMPLEX function
107: @subsection @code{Res_solv}
108: @findex Res_solv
109: @table @t
110: @item Res_solv(@var{m},@var{d})
111: :: Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
112: @item Res_solv(@var{m},@var{d},@var{r})
113: :: Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
114: @var{r} is a ring object.
115: @end table
116:
117: */
118:
119: /*&ja
120: @table @var
121: @item return
122: [c,r] $B$,La$jCM$N$H$-(B c/r $B$,2r(B u ($B2#%Y%/%H%k(B).
123: @item m
124: $B9TNs$^$?$O%Y%/%H%k(B
125: @item d
126: $B%Y%/%H%k(B $B$^$?$O%9%+%i!<(B
127: @end table
128:
129: @itemize @bullet
130: @item $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{d} $B$N2r$r$b$H$a$k(B.
131: @item @var{m}, @var{d} $B$N=g$K4D$NDj5A$r8!:w$7(B, $B$=$N4D$HF1$8JQ?t=89g$r(B
132: $B$b$DHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
133: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$HF1$8JQ?t=89g$r$b$D(B
134: $BHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
135: @item @var{m}, @var{d} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
136: (@var{m}, @var{d} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
137: @end itemize
138:
139: */
140: /*&en
141: @table @var
142: @item return
143: When [c,r] is the return value, c/r is the solution u.
144: @item m
145: Matrix or vector
146: @item d
147: Vector or scalar
148: @end table
149:
150: @itemize @bullet
151: @item Find a solution u of the linear indefinite equation u @var{m} =@var{d}.
152: @item It solves the linear indefinite equation in the ring of differential
153: operators (with graded reverse lexicographic order) of the same set
154: of variables of the ring to which @var{m} or @var{d} belongs.
155: When the ring @var{r} is given,
156: it solves the linear indefinite equation in the ring of differential
157: operators (with graded reverse lexicographic order) of the same set
158: of variables of the ring @var{r}.
159: @item When @var{m} and @var{d} consist of constants, a ring @var{r}
160: should be given.
161: @end itemize
162:
163: */
164:
165: /*&C
166: @example
167: In(16)= RingD("x,y");
168: In(17)= mm=[Dx,Dy,x];
169: In(18)= Res_solv(mm,1):
170: [ [ x , 0 , -Dx ] , -1 ]
171: @end example
172: */
173: /*&ja
174: $B$3$l$O(B -x*Dx + 0*Dy+Dx*x = 1 $B$G$"$k$3$H$r<($9(B.
175: */
176: /*&en
177: The output means that -x*Dx + 0*Dy+Dx*x = 1.
178: */
179:
180: /*&C
181: @example
182: In(4)=RingD("x");
183: m=[ [x*Dx+2, 0],[Dx+3,x^3],[3,x],[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]];
184: d=[1,0];
185: Res_solv(m,d):
186:
187: [ [ x^2*Dx-x*Dx-4*x-1 , 0 , 0 , x ] , -2 ]
188: @end example
189: */
190: /*&ja
191: $B$3$l$O(B
192: -(1/2)*(x^2*Dx-x*Dx-4*x-1)*[x*Dx+2, 0]-(1/2)*[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]
193: = [1,0]
194: $B$G$"$k$3$H$r<($9(B.
195: */
196: /*&en
197: The output implies that
198: -(1/2)*(x^2*Dx-x*Dx-4*x-1)*[x*Dx+2, 0]-(1/2)*[Dx*(x*Dx+3)-(x*Dx+2)*(x*Dx-4),0]
199: = [1,0]
200: */
201:
202: /*&C
203:
204: @example
205:
206: In(4)= r=RingD("x,y");
207: In(5)= Res_solv([[1,2],[3,4]],[5,0],r):
208: [ [ 10 , -5 ] , -1 ]
209:
210: @end example
211:
212:
213: */
214:
215:
216: /*&ja
217:
218: @table @t
219: @item $B;2>H(B
220: @code{Res_solv_h}, @code{Kernel}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 221: @item Files
! 222: @code{lib/restriction/complex.k}
1.1 takayama 223: @end table
224: @c %%%%%%%%%%%%%%%%%%%% end of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225: */
226: /*&en
227:
228: @table @t
1.3 ! takayama 229: @item See also
1.1 takayama 230: @code{Res_solv_h}, @code{Kernel}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 231: @item Files
! 232: @code{lib/restriction/complex.k}
1.1 takayama 233: @end table
234: @c %%%%%%%%%%%%%%%%%%%% end of Res_solv %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235: */
236:
237: /*&ja
238: @c %%%%%%%%%%%%%%%%%%%% start of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
239: @menu
240: * Res_solv2::
241: @end menu
242: @node Res_solv2,,, COMPLEX $BH!?t(B
243: @subsection @code{Res_solv2}
244: @findex Res_solv2
245: @table @t
246: @item Res_solv2(@var{m},@var{v},@var{j})
1.3 ! takayama 247: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
1.1 takayama 248: @item Res_solv2(@var{m},@var{v},@var{j},@var{r})
249: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
250: @var{r} $B$O(B ring.
251: @end table
252:
253: */
254: /*&en
255: @c %%%%%%%%%%%%%%%%%%%% start of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
256: @menu
257: * Res_solv2::
258: @end menu
259: @node Res_solv2,,, COMPLEX function
260: @subsection @code{Res_solv2}
261: @findex Res_solv2
262: @table @t
263: @item Res_solv2(@var{m},@var{v},@var{j})
264: :: Find a solution u of the linear indefinite equation u @var{m} =@var{v}
1.3 ! takayama 265: mod @var{j}.
1.1 takayama 266: @item Res_solv2(@var{m},@var{v},@var{j},@var{r})
267: :: Find a solution u of the linear indefinite equation u @var{m} =@var{v}
268: mod @var{j}.
269: @var{r} is a ring object.
270: @end table
271:
272: */
273:
274: /*&ja
275: @table @var
276: @item return
277: [c,r] $B$,La$jCM$N$H$-(B c/r $B$,2r(B u ($B2#%Y%/%H%k(B).
278: @item m
279: $B9TNs$^$?$O%Y%/%H%k(B
280: @item v j
281: $B%Y%/%H%k(B $B$^$?$O%9%+%i!<(B
282: @end table
283:
284: @itemize @bullet
285: @item $B0l<!ITDjJ}Dx<0(B u @var{m} =@var{v} mod @var{j} $B$N2r$r$b$H$a$k(B.
286: @item $B$3$l$O(B, @var{m} $B$r(B
287: @var{m} : D^p ---> D^q/@var{j}
288: $B$J$k:8(B D homomorphism $B$H$_$J$9$H$-(B,
289: @var{m}^(-1)(@var{v}) $B$r5a$a$k$3$H$KAjEv$9$k(B.
290: @item @var{m}, @var{v} $B$N=g$K4D$NDj5A$r8!:w$7(B, $B$=$N4D$HF1$8JQ?t=89g$r(B
291: $B$b$DHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
292: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$HF1$8JQ?t=89g$r$b$D(B
293: $BHyJ,:nMQAG4D(B(graded reverse lexicographic order)$B$GITDjJ}Dx<0$r2r$/(B.
294: @item @var{m}, @var{v} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
295: (@var{m}, @var{v} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
296: @end itemize
297:
298: */
299: /*&en
300: @table @var
301: @item return
302: When [c,r] is the return value, c/r is the solution u.
303: @item m
304: Matrix or vector
305: @item v j
306: Vector or scalar
307: @end table
308:
309: @itemize @bullet
310: @item Find a solution u of the linear indefinite equation u @var{m} =@var{v}
311: mod @var{j}.
312: @item Let @var{m} be the left D-homomorphism
313: @var{m} : D^p ---> D^q/@var{j}.
314: The function returns an element in
315: @var{m}^(-1)(@var{v}).
316: @item It solves the linear indefinite equation in the ring of differential
317: operators (with graded reverse lexicographic order) of the same set
318: of variables of the ring to which @var{m} or @var{v} belongs.
319: When the ring @var{r} is given,
320: it solves the linear indefinite equation in the ring of differential
321: operators (with graded reverse lexicographic order) of the same set
322: of variables of the ring @var{r}.
323: @item When @var{m} and @var{v} consist of constants, a ring @var{r}
324: should be given.
325: @end itemize
326:
327: */
328:
329: /*&C
330: @example
331: In(28)= r=RingD("x,y");
332: In(29)= Res_solv2([x,y],[x^2+y^2],[x]):
333: [ [ 0 , y ] , 1 ]
334:
335: @end example
336: */
337: /*&ja
338: $B$3$l$O(B 0*x + y*y = x^2+y^2 mod x $B$G$"$k$3$H$r<($9(B.
339: */
340: /*&en
341: The output means that 0*x + y*y = x^2+y^2 mod x
342: */
343:
344: /*&C
345: @example
346:
347: In(32)= Res_solv2([x,y],[x^2+y^2],[],r):
348: [ [ x , y ] , 1 ]
349:
350:
351: @end example
352: */
353: /*&ja
354: $B$3$l$O(B
355: x*x + y*y = x^2+y^2
356: $B$G$"$k$3$H$r<($9(B.
357: */
358: /*&en
359: The output implies that
360: x*x + y*y = x^2+y^2.
361: */
362:
363:
364:
365: /*&ja
366:
367: @table @t
368: @item $B;2>H(B
369: @code{Res_solv2_h}, @code{Kernel2}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 370: @item Files
! 371: @code{lib/restriction/complex.k}
1.1 takayama 372: @end table
373: @c %%%%%%%%%%%%%%%%%%%% end of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
374: */
375: /*&en
376:
377: @table @t
1.3 ! takayama 378: @item See also
1.1 takayama 379: @code{Res_solv2_h}, @code{Kernel2}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 380: @item Files
! 381: @code{lib/restriction/complex.k}
1.1 takayama 382: @end table
383: @c %%%%%%%%%%%%%%%%%%%% end of Res_solv2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
384: */
385:
386:
387: /*&ja
388: @c %%%%%%%%%%%%%%%%%%%% start of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389: @c Kernel $B$O(B minimal.k $B$K$"$k$,(B complex.k $B$J$I$K0\F0$9$Y$-(B.
390: @menu
391: * Kernel::
392: @end menu
393: @node Kernel,,, COMPLEX $BH!?t(B
394: @subsection @code{Kernel}
395: @findex Kernel
396: @table @t
397: @item Kernel(@var{m})
398: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B.
399: @item Kernel(@var{m},@var{r})
400: :: $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B. @var{r} $B$O(B ring.
401: @end table
402:
403: */
404: /*&en
405: @c %%%%%%%%%%%%%%%%%%%% start of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
406: @menu
407: * Kernel::
408: @end menu
409: @node Kernel,,, COMPLEX function
410: @subsection @code{Kernel}
411: @findex Kernel
412: @table @t
413: @item Kernel(@var{m})
414: :: Find solution basis of the linear indefinite equation u @var{m} =0.
415: @item Kernel(@var{m},@var{r})
416: :: Find solution basis of the linear indefinite equation u @var{m} =0.
417: @var{r} is a ring object.
418: @end table
419:
420: */
421:
422: /*&ja
423: @table @var
424: @item return
425: $B%j%9%H(B
426: @item m
427: $B9TNs$^$?$O%Y%/%H%k(B
428: @end table
429:
430: @itemize @bullet
431: @item $B0l<!ITDjJ}Dx<0(B u @var{m} =0 $B$N2r6u4V$N4pDl$r5a$a$k(B.
432: @item $BLa$jCM$r(B k $B$H$9$k$H$-(B k[0] $B$,(B $B2r6u4V$N4pDl$N=89g(B.
433: k[1] $B$O(B [gb, backward transformation, syzygy without dehomogenization].
434: @item @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%+!<%M%k$r7W;;$9$k(B.
435: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%+!<%M%k$r7W;;$9$k(B.
436: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
437: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
438: @item BUG: Kernel $B$*$h$S(B Res_solv (syz, res-solv) $B$N$_$,(B, $B4D0z?t$K(B
439: $BBP1~$7$F$k(B. (2000, 12/29 $B8=:_(B).
440: @end itemize
441:
442: */
443: /*&en
444: @table @var
445: @item return
446: List
447: @item m
448: Matrix or vector
449: @end table
450:
451: @itemize @bullet
452: @item Find solution basis of the linear indefinite equation u @var{m} =0.
453: @item When the return value is k, k[0] is a set of generators of the kernel.
454: k[1] is [gb, backward transformation, syzygy without dehomogenization].
455: @item It finds the kernel in the ring
456: to which @var{m} belongs.
457: When the ring @var{r} is given,
458: it finds the kernel in the ring @var{r}.
459: @item When @var{m} consists of constants, a ring @var{r}
460: should be given.
461: @end itemize
462:
463: */
464:
465: /*&C
466: @example
467: In(16)= RingD("x,y");
468: In(17)= mm=[[Dx],[Dy],[x]];
469: In(18)= Pmat(Kernel(mm));
470: [
471: [
472: [ -x*Dx-2 , 0 , Dx^2 ]
473: [ -x*Dy , -1 , Dx*Dy ]
474: [ -x^2 , 0 , x*Dx-1 ]
475: ]
476: [
477: [
478: [ -1 ]
479: ]
480: [
481: [ x , 0 , -Dx ]
482: ]
483: [
484: [ -x*Dx-2 , 0 , Dx^2 ]
485: [ -x*Dy , -1 , Dx*Dy ]
486: [ -x^2 , 0 , x*Dx-1 ]
487: ]
488: ]
489: ]
490:
491: @end example
492: */
493:
494:
495: /*&C
496:
497: @example
498:
499: In(4)= r=RingD("x,y");
500: In(5)= k=Kernel([[1,2],[2,4]],r); k[0]:
501: [ [ 2 , -1 ] ]
502: @end example
503:
504:
505: */
506:
507:
508: /*&ja
509:
510: @table @t
511: @item $B;2>H(B
512: @code{Kernel_h}, @code{Res_solv}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 513: @item Files
! 514: @code{lib/restriction/complex.k}
1.1 takayama 515: @end table
516: @c %%%%%%%%%%%%%%%%%%%% end of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
517: */
518: /*&en
519:
520: @table @t
1.3 ! takayama 521: @item See also
1.1 takayama 522: @code{Kernel_h}, @code{Res_solv}, @code{GetRing}, @code{SetRing}.
1.3 ! takayama 523: @item Files
! 524: @code{lib/restriction/complex.k}
1.1 takayama 525: @end table
526: @c %%%%%%%%%%%%%%%%%%%% end of Kernel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
527: */
528: /*&ja
529: @c %%%%%%%%%%%%%%%%%%%% start of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
530: @menu
531: * Kernel2::
532: @end menu
533: @node Kernel2,,, COMPLEX $BH!?t(B
534: @subsection @code{Kernel2}
535: @findex Kernel2
536: @table @t
537: @item Kernel2(@var{m},@var{j})
538: :: @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B.
539: @item Kernel2(@var{m},@var{j},@var{r})
540: :: @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B. @var{r} $B$O(B ring.
541: @end table
542:
543: */
544: /*&en
545: @c %%%%%%%%%%%%%%%%%%%% start of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
546: @menu
547: * Kernel2::
548: @end menu
549: @node Kernel2,,, COMPLEX function
550: @subsection @code{Kernel2}
551: @findex Kernel2
552: @table @t
553: @item Kernel2(@var{m})
554: :: Get the kernel of @var{m} : D^p ---> D^q/@var{j}.
555: @item Kernel2(@var{m},@var{r})
556: :: Get the kernel of @var{m} : D^p ---> D^q/@var{j}.
557: @var{r} is a ring object.
558: @end table
559:
560: */
561:
562: /*&ja
563: @table @var
564: @item return
565: $B%j%9%H(B
566: @item m j
567: $B9TNs$^$?$O%Y%/%H%k(B
568: @end table
569:
570: @itemize @bullet
571: @item @var{m} : D^p ---> D^q/@var{j} $B$N(B Kernel $B$r5a$a$k(B.
572: @item D^p $B$O2#%Y%/%H%k$G$"$j(B, u $B$,(B D^p $B$N85$N$H$-(B,
573: u @var{m} $B$G<LA|$rDj5A$9$k(B.
574: @item @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%+!<%M%k$r7W;;$9$k(B.
575: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%+!<%M%k$r7W;;$9$k(B.
576: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
577: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
578: @end itemize
579:
580: */
581: /*&en
582: @table @var
583: @item return
584: List
585: @item m j
586: Matrix or vector
587: @end table
588:
589: @itemize @bullet
590: @item Get a set of generators of the the kernel
591: of @var{m} : D^p ---> D^q/@var{j}.
592: @item D^p is a set of row vectors. When u is an element of D^p,
593: define the map from D^p to D^q/@var{j} by u @var{m}.
594: @item It finds the kernel in the ring
595: to which @var{m} belongs.
596: When the ring @var{r} is given,
597: it finds the kernel in the ring @var{r}.
598: @item When @var{m} consists of constants, a ring @var{r}
599: should be given.
600: @end itemize
601:
602: */
603:
604: /*&C
605: @example
606: In(27)= r=RingD("x,y");
607: In(28)= Kernel2([[x,y],[x^2,x*y]],[]):
608: [ [ -x , 1 ] ]
609: In(29)=Kernel2([[x,y],[x^2,x*y]],[[x,y]]):
610: [ [ 1 , 0 ] , [ 0 , 1 ] ]
611:
612: In(41)=Kernel2([0],[0],r):
613: [ [ 1 ] , [ 0 ] ]
614: In(42)=Kernel2([[0,0],[0,0]],[[0,0]],r):
615: [ [ 1 , 0 ] , [ 0 , 1 ] , [ 0 , 0 ] ]
616: In(43)=Kernel2([[0,0,0],[0,0,0]],[],r):
617: [ [ 1 , 0 ] , [ 0 , 1 ] ]
618:
619: @end example
620: */
621:
622:
623: /*&ja
624:
625: @table @t
626: @item $B;2>H(B
627: @code{Kernel2_h}, @code{Res_solv2}, @code{GetRing}, @code{SetRing},
628: @code{Kernel}.
1.3 ! takayama 629: @item Files
! 630: @code{lib/restriction/complex.k}
1.1 takayama 631: @end table
632: @c %%%%%%%%%%%%%%%%%%%% end of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633: */
634: /*&en
635:
636: @table @t
1.3 ! takayama 637: @item See also
1.1 takayama 638: @code{Kernel2_h}, @code{Res_solv2}, @code{GetRing}, @code{SetRing},
639: @code{Kernel}
1.3 ! takayama 640: @item Files
! 641: @code{lib/restriction/complex.k}
1.1 takayama 642: @end table
643: @c %%%%%%%%%%%%%%%%%%%% end of Kernel2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
644: */
645:
646: /*&ja
647: @c %%%%%%%%%%%%%%%%%%%% start of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
648: @menu
649: * Gb::
650: @end menu
651: @node Gb,,, COMPLEX $BH!?t(B
652: @node Gb_h,,, COMPLEX $BH!?t(B
653: @subsection @code{Gb}
654: @findex Gb
655: @findex Gb_h
656: @table @t
657: @item Gb(@var{f})
658: :: @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
659: @item Gb(@var{f},@var{r})
660: :: @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B. @var{r} $B$O(B ring.
661: @item Gb_h(@var{f})
662: :: @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
663: @item Gb_h(@var{f},@var{r})
664: :: @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B. @var{r} $B$O(B ring.
665: @end table
666:
667: */
668: /*&en
669: @c %%%%%%%%%%%%%%%%%%%% start of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
670: @menu
671: * Gb::
672: @end menu
673: @node Gb,,, COMPLEX function
674: @node Gb_h,,, COMPLEX function
675: @subsection @code{Gb}
676: @findex Gb
677: @table @t
678: @item Gb(@var{f})
679: :: It computes the Grobner basis of @var{f}.
680: @item Gb(@var{m},@var{r})
681: :: It computes the Grobner basis of @var{f}.
682: @var{r} is a ring object.
683: @item Gb_h(@var{f})
684: :: It computes the Grobner basis of @var{f}.
685: @item Gb_h(@var{m},@var{r})
686: :: It computes the Grobner basis of @var{f}.
687: @var{r} is a ring object.
688: @end table
689:
690: */
691:
692: /*&ja
693: @table @var
694: @item return
695: $B%j%9%H(B
696: @item f
697: $B9TNs$^$?$O%Y%/%H%k(B
698: @end table
699:
700: @itemize @bullet
701: @item @var{f} $B$N%0%l%V%J4pDl$r$b$H$a$k(B.
702: @item _h $BIU$-$N>l9g$O(B, $BF1<!%o%$%kBe?t$G7W;;$r$*$3$J$&(B.
703: @item $BLa$jCM$r(B k $B$H$9$k$H$-(B k[0] $B$,(B $B%0%l%V%J4pDl(B.
704: $B4D$,(B weight vector $BIU$-$GDj5A$5$l$?$H$-$O(B,
705: k[1] $B$O(B initial ideal $B$^$?$O(B initial module.
706: @item @var{m} $B$h$j4D$NDj5A$r8!:w$7(B, $B$=$N4D$G%0%l%V%J4pDl$r7W;;$9$k(B.
707: $B4D(B @var{r} $B$,$"$?$($i$l$F$$$k$H$-$O(B, @var{r} $B$G%0%l%V%J4pDl$r7W;;$9$k(B.
708: @item @var{m} $B$,Dj?t@.J,$N$H$-$O(B, $B4D(B @var{r} $B$rM?$($kI,MW$,$"$k(B.
709: (@var{m} $B$h$j4D$N>pJs$r$H$j$@$;$J$$$?$a(B).
710: @end itemize
711:
712: */
713: /*&en
714: @table @var
715: @item return
716: List
717: @item f
718: Matrix or vector
719: @end table
720:
721: @itemize @bullet
722: @item Compute the Grobner basis of @var{f}.
723: @item Functions with _h computes Grobner bases in the homogenized Weyl
724: algebra.
725: @item When the return value is k, k[0] is the Grobner basis.
726: k[1] is the initial ideal or the initial module of @var{f},
727: when the ring is defined with a weight vector.
728: @item It computes the Grobner basis in the ring
729: to which @var{f} belongs.
730: When the ring @var{r} is given,
731: it computes the Grobner basis in the ring @var{r}.
732: @item When @var{f} consists of constants, a ring @var{r}
733: should be given.
734: @end itemize
735:
736: */
737:
738: /*&C
739: @example
740: In(5)= r=RingD("x,y");
741: In(6)= m=[[x^2+y^2-1],[x*y-1]];
742: In(7)= Gb(m):
743: [ [ [ x^2+y^2-1 ] , [ x*y-1 ] , [ y^3+x-y ] ] ,
744: [ [ x^2+y^2-1 ] , [ x*y-1 ] , [ y^3+x-y ] ] ]
745:
746: In(11)= RingD("x,y",[["x",1]]);
747: In(12)= r=RingD("x,y",[["x",1]]);
748: In(13)= Gb(m,r):
749: [ [ [ x+y^3-y ] , [ -y^4+y^2-1 ] ] ,
750: [ [ x ] , [ -y^4+y^2-1 ] ] ]
751:
752: @end example
753: */
754:
755:
756: /*&ja
757:
758: @table @t
759: @item $B;2>H(B
760: @code{Gb_h}, @code{Kernel}, @code{Res_solv}, @code{RingD},
761: @code{GetRing}, @code{SetRing}.
1.3 ! takayama 762: @item Files
! 763: @code{lib/restriction/complex.k}
1.1 takayama 764: @end table
765: @c %%%%%%%%%%%%%%%%%%%% end of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
766: */
767: /*&en
768:
769: @table @t
1.3 ! takayama 770: @item See also
1.1 takayama 771: @code{Gb_h}, @code{Kernel}, @code{Res_solv}, @code{RingD},
772: @code{GetRing}, @code{SetRing}.
1.3 ! takayama 773: @item Files
! 774: @code{lib/restriction/complex.k}
1.1 takayama 775: @end table
776: @c %%%%%%%%%%%%%%%%%%%% end of Gb %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
777: */
778:
779: /*&ja
780: @c %%%%%%%%%%%%%%%%%%%% start of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
781: @menu
782: * Res_shiftMatrix::
783: @end menu
784: @node Res_shiftMatrix,,, COMPLEX $BH!?t(B
785: @subsection @code{Res_shiftMatrix}
786: @findex Res_shiftMatrix
787: @table @t
788: @item Res_shiftMatrix(@var{m},@var{v})
789: :: Degree shift $B%Y%/%H%k(B @var{m} $B$KBP1~$9$k9TNs$r:n$k(B.
790: @item Res_shiftMatrix(@var{f},@var{v},@var{r})
791: :: Degree shift $B%Y%/%H%k(B @var{m} $B$KBP1~$9$k9TNs$r:n$k(B. @var{r} $B$O(B ring.
792: @end table
793:
794: */
795: /*&en
796: @c %%%%%%%%%%%%%%%%%%%% start of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
797: @menu
798: * Res_shiftMatrix::
799: @end menu
800: @node Res_shiftMatrix,,, COMPLEX function
801: @subsection @code{Res_shiftMatrix}
802: @findex Res_shiftMatrix
803: @table @t
804: @item Res_shiftMatrix(@var{m},@var{v})
805: :: Generate a matrix associated to a degree shift vector @var{m}
806: @item Res_shiftMatrix(@var{m},@var{v},@var{r})
807: :: Generate a matrix associated to a degree shift vector @var{m}
808: @var{r} is a ring object.
809: @end table
810:
811: */
812:
813: /*&ja
814: @table @var
815: @item return
816: $B9TNs(B.
817: @item m
818: $B%Y%/%H%k(B
819: @item v
820: $BB?9`<0JQ?t$^$?$OJ8;zNs(B
821: @end table
822:
823: @itemize @bullet
824: @item diag(@var{v}^(@var{m}1), ..., @var{v}^(@var{m}n))
825: $B$J$k(B n $B!_(B n $B9TNs$rLa$9(B.
826: @end itemize
827:
828: */
829: /*&en
830: @table @var
831: @item return
832: Matrix
833: @item m
834: Vector
835: @item v
836: $BB?9`<0JQ?t$^$?$OJ8;zNs(B
837: @end table
838:
839: @itemize @bullet
840: @item Returns n by n matrix
841: diag(@var{v}^(@var{m}1), ..., @var{v}^(@var{m}n))
842: @end itemize
843:
844: */
845:
846: /*&C
847: @example
848: In(5)= r=RingD("x,y");
849: In(6)= Res_shiftMatrix([-1,0,3],x):
850: [ [ x^(-1) , 0 , 0 ] , [ 0 , 1 , 0 ] , [ 0 , 0 , x^3 ] ]
851:
852: @end example
853: */
854:
855: /*&C
856: @example
857: In(9)= rrr = RingD("t,x,y",[["t",1,"x",-1,"y",-1,"Dx",1,"Dy",1]]);
858: In(10)= m=[Dx-(x*Dx+y*Dy+2),Dy-(x*Dx+y*Dy+2)];
859: In(12)= m=Gb(m);
860: In(13)= k = Kernel_h(m[0]);
861: In(14)= Pmat(k[0]);
862: [
863: [ -Dy+3*h , Dx-3*h , 1 ]
864: [ -x*Dx+x*Dy-y*Dy-3*x*h , y*Dy+3*x*h , h-x ]
865: ]
866:
867: In(15)=Pmat(m[0]);
868: [ Dx*h-x*Dx-y*Dy-2*h^2 , Dy*h-x*Dx-y*Dy-2*h^2 ,
869: x*Dx^2-x*Dx*Dy+y*Dx*Dy-y*Dy^2 ]
870:
871: In(18)=k2 = Gb_h(k[0]*Res_shiftMatrix([1,1,1],t));
872: In(19)=Pmat(Substitute(k2[0],t,1));
873: [
874: [ -Dy+3*h , Dx-3*h , 1 ]
875: [ -x*Dx+x*Dy-y*Dy-3*x*h , y*Dy+3*x*h , h-x ]
876: ]
877:
878:
879: @end example
880: */
881:
882:
883: /*&ja
884:
885: @table @t
886: @item $B;2>H(B
887: @code{Gb}, (m,(u,v))-$B%0%l%V%J4pDl(B
1.3 ! takayama 888: @item Files
! 889: @code{lib/restriction/complex.k}
1.1 takayama 890: @end table
891: @c %%%%%%%%%%%%%%%%%%%% end of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
892: */
893: /*&en
894:
895: @table @t
1.3 ! takayama 896: @item See also
1.1 takayama 897: @code{Gb}, (m,(u,v))-Grobner basis
1.3 ! takayama 898: @item Files
! 899: @code{lib/restriction/complex.k}
1.1 takayama 900: @end table
901: @c %%%%%%%%%%%%%%%%%%%% end of Res_shiftMatrix %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
902: */
903:
904:
905: @c -------------- Primitive $B4pK\(B ----------------------
906:
907: /*&ja
908:
909: @node $B4pK\(B $BH!?t(B,,, Top
910: @chapter $B4pK\(B $BH!?t(B
911: @section $BH!?t0lMw(B
912: */
913: /*&en
914:
915: @node Primitive function,,, Top
916: @chapter Primitive function
917: @section A list of functions
918: */
919: /*&C
920: @menu
1.2 takayama 921: * ChangeRing::
1.1 takayama 922: * Intersection::
923: * Getxvars::
924: * Firstn::
925: @end menu
926: */
927:
928: /*&ja
1.2 takayama 929: @c %%%%%%%%%%%%%%%%%%%% start ChangeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
930: @node ChangeRing,,, $B4pK\(B $BH!?t(B
931: @subsection @code{ChangeRing}
932: @findex ChangeRing
1.1 takayama 933: @table @t
1.2 takayama 934: @item ChangeRing(@var{f})
935: :: ChangeRing $B$O(B @var{f} $B$NMWAG$,B0$9$k4D$r(B current ring $B$K$9$k(B.
1.1 takayama 936: @end table
937:
938: @table @var
939: @item return
940: true $B$+(B false
941: @item f $B%j%9%H(B
942: @end table
943:
944: @example
945: RingD("x,y");
946: f=[x+y,0];
947: RingD("p,q,r");
1.2 takayama 948: ChangeRing(f);
1.1 takayama 949: @end example
950:
951: @table @t
1.3 ! takayama 952: @item Files
! 953: @code{lib/restriction/complex.k}
1.1 takayama 954: @end table
1.3 ! takayama 955: @c %%%%%%%%%%%%%%%%%%%% end of ChangeRing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1.1 takayama 956: */
957:
958:
959: /*&ja
960: @c %%%%%%%%%%%%%%%%%%%% start of Intersection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
961: @menu
962: * Intersection::
963: @end menu
964: @node Intersection,,, $B4pK\(B $BH!?t(B
965: @subsection @code{Intersection}
966: @findex Intersection
967: @table @t
968: @item Intersection(@var{i},@var{j})
969: :: $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B.
970: @item Intersection(@var{i},@var{j},@var{r})
971: :: $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B. $B7W;;$r4D(B @var{r}
972: $B$G$*$3$J$&(B.
973: @end table
974:
975: @table @var
976: @item return
977: $B%j%9%H$G$"$?$($i$l$?%$%G%"%k$^$?$O<+M32C72$NItJ,2C72(B
978: @item i j
979: $B%$%G%"%k$^$?$O<+M32C72$NItJ,2C72(B
980: @item r
981: $B4D(B
982: @end table
983:
984: @itemize @bullet
985: @item :: $B%$%G%"%k(B @var{i} $B$H(B @var{j} $B$N8r$o$j$r5a$a$k(B.
986: @end itemize
987:
988: @example
989: In(16)= RingD("x,y");
990: In(17)= mm=[ [x,0],[0,y] ]; nn = [ [x^2,0],[0,y^3]];
991: In(19)= Intersection(mm,nn):
992: In(33)=Intersection(mm,nn):
993: [ [ -x^2 , 0 ] , [ 0 , -y^3 ] ]
994: @end example
995:
996: @table @t
997: @item $B;2>H(B
1.3 ! takayama 998: @item Files
! 999: @code{lib/restriction/complex.k}
1.1 takayama 1000: @end table
1001: @c %%%%%%%%%%%%%%%%%%%% end of Intersection %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1002: */
1003:
1004: /*&ja
1005: @c %%%%%%%%%%%%%%%%%%%% start of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1006: @menu
1007: * Getxvars::
1008: @end menu
1009: @node Getxvars,,, $B4pK\(B $BH!?t(B
1010: @subsection @code{Getxvars}
1011: @findex Getxvars
1012: @table @t
1013: @item Getxvars()
1014: :: x $BJQ?t$rLa$9(B
1015: @end table
1016:
1017: */
1018: /*&en
1019: @c %%%%%%%%%%%%%%%%%%%% start of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1020: @menu
1021: * Getxvars::
1022: @end menu
1023: @node Getxvars,,, Primitive function
1024: @subsection @code{Getxvars}
1025: @findex Getxvars
1026: @table @t
1027: @item Getxvars()
1028: :: Return x variables
1029: @end table
1030:
1031: */
1032:
1033: /*&ja
1034: @table @var
1035: @item return
1036: [x_list, x_str] x_list $B$O(B x $BJQ?t$N%j%9%H(B, x_str $B$O(B x $BJQ?t$r(B , $B$G6h@Z$C$?J8;zNs(B.
1037: @end table
1038:
1039: */
1040: /*&en
1041: @table @var
1042: @item return
1043: [x_list, x_str] x_list is a list of x variables, x_str is a string consisting
1044: of x variables separated by commas.
1045: @end table
1046:
1047:
1048: */
1049:
1050: /*&C
1051: @example
1052: In(4)=RingD("x,y");
1053: In(5)=Getxvars():
1054: [ [ y , x ] , y,x, ]
1055: @end example
1056:
1057: */
1058:
1059:
1060: /*&ja
1061:
1062: @table @t
1063: @item $B;2>H(B
1.3 ! takayama 1064: @item Files
! 1065: @code{lib/restriction/complex.k}
1.1 takayama 1066: @end table
1067: @c %%%%%%%%%%%%%%%%%%%% end of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1068: */
1069: /*&en
1070:
1071: @table @t
1.3 ! takayama 1072: @item See also
! 1073: @item Files
! 1074: @code{lib/restriction/complex.k}
1.1 takayama 1075: @end table
1076: @c %%%%%%%%%%%%%%%%%%%% end of Getxvars %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1077: */
1078:
1079: /*&ja
1080: @c %%%%%%%%%%%%%%%%%%%% start of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1081: @menu
1082: * Firstn::
1083: @end menu
1084: @node Firstn,,, $B4pK\(B $BH!?t(B
1085: @subsection @code{Firstn}
1086: @findex Firstn
1087: @table @t
1088: @item Firstn(@var{m},@var{n})
1089: :: @var{m} $B$N:G=i$N(B @var{n} $B8D$r$H$j$@$9(B.
1090: @end table
1091:
1092: */
1093: /*&en
1094: @c %%%%%%%%%%%%%%%%%%%% start of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1095: @menu
1096: * Firstn::
1097: @end menu
1098: @node Firstn,,, Primitive function
1099: @subsection @code{Firstn}
1100: @findex Firstn
1101: @table @t
1102: @item Firstn(@var{m},@var{n})
1103: :: Return the first @var{n} elements of @var{m}.
1104: @end table
1105:
1106: */
1107:
1108: /*&ja
1109: @table @var
1110: @item return
1111: $B9TNs$^$?$O%Y%/%H%k(B
1112: @item m
1113: $B9TNs$^$?$O%Y%/%H%k(B
1114: @item n
1115: $B?t(B
1116: @end table
1117:
1118: @itemize @bullet
1119: @item m $B$N:G=i$N(B n $B8D(B. $B$H$/$K(B m $B$,9TNs$N$H$-$O(B, $B3F9T$h$j:G=i$N(B n $B8D$r$H$j$@$7$?(B
1120: $B$b$N$G:n$l$i$?9TNs$rLa$9(B.
1121: @end itemize
1122:
1123: */
1124: /*&en
1125: @table @var
1126: @item return
1127: Matrix or vector
1128: @item m
1129: Matrix or vector
1130: @item n
1131: Number
1132: @end table
1133:
1134: @itemize @bullet
1135: @item The first n elements of m. When m is a matrix, it returns the matrix
1136: consisting of first n elements of rows of m.
1137: @end itemize
1138:
1139: */
1140:
1141: /*&C
1142: @example
1143: In(16)= mm = [[1,2,3],[4,5,6]];
1144: In(17)= Firstn(mm,2):
1145: [[1,2],
1146: [4,5]]
1147: @end example
1148: */
1149:
1150:
1151: /*&ja
1152:
1153: @table @t
1154: @item $B;2>H(B
1.3 ! takayama 1155: @item Files
! 1156: @code{lib/restriction/complex.k}
1.1 takayama 1157: @end table
1158: @c %%%%%%%%%%%%%%%%%%%% end of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1159: */
1160: /*&en
1161:
1162: @table @t
1.3 ! takayama 1163: @item See also
! 1164: @item Files
! 1165: @code{lib/restriction/complex.k}
! 1166:
1.1 takayama 1167:
1168: @end table
1169: @c %%%%%%%%%%%%%%%%%%%% end of Firstn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1170: */
1171:
1172: /*&ja
1173: @node $B:w0z(B,,, Top
1174: @unnumbered $B:w0z(B
1175: */
1176: /*&en
1177: @node index,,, Top
1178: @unnumbered index
1179: */
1180: /*&C
1181: @printindex fn
1182: @printindex cp
1183: @iftex
1184: @vfill @eject
1185: @end iftex
1186: @summarycontents
1187: @contents
1188: @bye
1189: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>