This file is indexed.

/usr/share/axiom-20170501/src/algebra/PARAMP.spad is in axiom-source 20170501-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
)abbrev package PARAMP ParametrizationPackage
++ Author: Gaetan Hache
++ Date Created: 17 nov 1992
++ Date Last Updated: May 2010 by Tim Daly
++ Description:  
++ The following is part of the PAFF package

ParametrizationPackage(K,symb,PolyRing,E,ProjPt,PCS,Plc) : SIG == CODE where
  K : Field
  symb : List(Symbol)
  E : DirectProductCategory(#symb,NonNegativeInteger)
  OV  ==> OrderedVariableList(symb)
  PolyRing : PolynomialCategory(K,E,OV)
  ProjPt : ProjectiveSpaceCategory(K)
  PCS : LocalPowerSeriesCategory(K)
  Plc : PlacesCategory(K,PCS)

  SIG ==>  with

    parametrize : (PolyRing,List(PCS)) -> PCS

    parametrize : (PolyRing,Plc) -> PCS    
      ++ parametrize(f,pl) returns the local parametrization of the 
      ++ polynomial function f at the place pl. Note that local 
      ++ parametrization of the place must have first been compute and set.
      ++ For simple point on a curve, this done with \spad{pointToPlace}. 
      ++ The  local parametrization places corresponding to a leaf in a 
      ++ desingularization tree are compute at the moment of
      ++ their "creation". (See package \spad{DesingTreePackage}. 

    parametrize : (PolyRing,PolyRing,Plc) -> PCS    
      ++ parametrize(f,g,pl) returns the local parametrization of the  
      ++ rational function f/g at the place pl. Note that local 
      ++ parametrization of the place must have first been compute and set.
      ++ For simple point on a curve, this done with \spad{pointToPlace}. 
      ++ The  local parametrization places corresponding to a leaf in a 
      ++ desingularization tree are compute at the moment of
      ++ their "creation". (See package \spad{DesingTreePackage}. 

    parametrize : (PolyRing,Plc,Integer) -> PCS    
      ++ parametrize(f,pl,n) returns t**n * parametrize(f,p). 

  CODE ==>  add

    import PCS
    import PolyRing
    
    -- the following returns the parametrization in term of 
    -- the precomputed local parametrization
    -- of the point pt. Note if pl is a place and pl = pt::PLc then 
    -- parametrize(f,pt) <> parametrize(pl) unless pt is a simple point
    parametrize(f:PolyRing,localPar:List(PCS))==
      zero?(f) => 0
      lc:K:=leadingCoefficient(f)
      ld:E:=degree f
      ldp:List NonNegativeInteger :=parts(ld)
      if empty?(localPar) then error _
              "the parametrization of the place or leaf has not been done yet!"
      monoPar:PCS:=reduce("*",[ s**e for s in localPar for e in ldp])
      lc* monoPar + parametrize(reductum(f),localPar)
 
    parametrize(f:PolyRing,pt:Plc)==
      zero?(f) => 0
      localPar:List PCS:=localParam pt
      parametrize(f,localPar)
      
    parametrize(f:PolyRing,g:PolyRing,pt:Plc)==
      sf:=parametrize(f,pt)
      sg:=parametrize(g,pt)
      sf * inv sg

    parametrize(f:PolyRing,pt:Plc,n:Integer)==
      s:=parametrize(f,pt)
      shift(s,n)