File: setupLift-doc.m2

package info (click to toggle)
macaulay2 1.25.05%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 172,152 kB
  • sloc: cpp: 107,824; ansic: 16,193; javascript: 4,189; makefile: 3,899; lisp: 702; yacc: 604; sh: 476; xml: 177; perl: 114; lex: 65; python: 33
file content (45 lines) | stat: -rw-r--r-- 1,018 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
--- status: DRAFT
--- author(s): PZJ
--- notes: 

undocumented {(setupLift,Function,Ring,Ring,Function), (setupLift,RingMap,Ring,Ring)}

doc ///
 Key
  setupLift
  (setupLift,Function,Ring,Ring)
  (setupLift,RingMap)
 Headline
  set up lift from one ring to another
 Usage
  setupLift (f,R,S)
  setupLift g
 Inputs
  f: Function
  R: Ring
  S: Ring
  g: RingMap
 Description
  Text
   There are two possible ways of implementing @TO "lift"@ using @TT "setupLift"@. In the first one, we use a function:
  Example
   R=QQ[x]
   S=QQ[y]
   setupPromote map(R,S,{x^2})
   setupLift(a->sum(listForm a, (e,c)->if odd first e then error "not liftable" else c*y^(first e//2)),R,S)
   promote(y^2+2,R)
   lift(oo,S)
   lift(x,S,Verify=>false)
  Text
   In the second one, we define a ring map which is a partial inverse to the promotion map:
  Example
   R=QQ[x,y]
   S=R[s]
   setupPromote map(R,S,{x+y})
   setupLift map(S,R,{s,0})
   promote(s^3+2*s-1,R)
   lift(oo,S)
   lift(x,S,Verify=>false)
 SeeAlso
  setupPromote
///