version 1.4, 2000/12/12 13:58:21 |
version 1.7, 2001/01/04 12:29:31 |
|
|
/* $OpenXM: OpenXM/src/k097/help.k,v 1.3 2000/12/10 09:34:27 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/k097/help.k,v 1.6 2000/12/29 07:19:39 takayama Exp $ */ |
if (K00_verbose) |
if (K00_verbose) |
Println("help.k (help.ccc). 8/6, 1996 --- 8/7, 1996. 3/6, 1997 --- 12/21, 1997."); |
Println("help.k (help.ccc). 8/6, 1996 --- 8/7, 1996. 3/6, 1997 --- 12/21, 1997."); |
|
|
Line 168 HelpAdd(["Poly", |
|
Line 168 HelpAdd(["Poly", |
|
"Poly(name) returns the polynomial name in the current ring |
"Poly(name) returns the polynomial name in the current ring |
(string name)."]); |
(string name)."]); |
HelpAdd(["PolyR", |
HelpAdd(["PolyR", |
"PolyR(name,r) returns the polynomial name in the ring r |
["PolyR(name,r) returns the polynomial name in the ring r |
(string name, ring r). |
(string name, ring r).", |
Ex. r = RingD(\"x,y\"); y = PolyR(\"y\",r); "]); |
"Ex. r = RingD(\"x,y\"); y = PolyR(\"y\",r); "]]); |
HelpAdd(["RingD", |
HelpAdd(["RingD", |
["RingD(names) defines a new ring (string names).", |
["RingD(names) defines a new ring (string names).", |
"RingD(names,weight_vector) defines a new ring with the weight vector", |
"RingD(names,weight_vector) defines a new ring with the weight vector", |
Line 185 ascii code is ascii_code (integer ascii_code)."]); |
|
Line 185 ascii code is ascii_code (integer ascii_code)."]); |
|
HelpAdd(["ToString","ToString(obj) transforms the <<obj>> to a string."]); |
HelpAdd(["ToString","ToString(obj) transforms the <<obj>> to a string."]); |
HelpAdd(["Numerator","Numerator(f) returns the numerator of <<f>> (rational f)."]); |
HelpAdd(["Numerator","Numerator(f) returns the numerator of <<f>> (rational f)."]); |
HelpAdd(["Denominator","Denominator(f) returns the denominator of <<f>> (rational f)."]); |
HelpAdd(["Denominator","Denominator(f) returns the denominator of <<f>> (rational f)."]); |
HelpAdd(["Replace","Replace(f,rule) (polynomial f, array rule). |
HelpAdd(["Replace", |
Ex. Replace( (x+y)^3, [[x,Poly(\"1\")]])"]); |
["Replace(f,rule) (polynomial f, array rule). ", |
|
"Ex. Replace( (x+y)^3, [[x,Poly(\"1\")]])"]]); |
HelpAdd(["SetRingVariables", |
HelpAdd(["SetRingVariables", |
"SetRingVariables() |
"SetRingVariables() |
Set the generators of the current ring as global variables. |
Set the generators of the current ring as global variables. |
Line 270 HelpAdd(["IsString", |
|
Line 271 HelpAdd(["IsString", |
|
["IsString(obj) returns true if << obj >> is a string (object obj).", |
["IsString(obj) returns true if << obj >> is a string (object obj).", |
"Example: if (IsString(\"abc\")) Println(\"Hello\"); ;"]]); |
"Example: if (IsString(\"abc\")) Println(\"Hello\"); ;"]]); |
|
|
|
HelpAdd(["IsRing", |
|
["IsRing(obj) returns true if << obj >> is a ring (object obj)." |
|
]]); |
|
|
|
|
HelpAdd(["IsSm1Integer", |
HelpAdd(["IsSm1Integer", |
["IsSm1Integer(obj) returns true if << obj >> is an integer of sm1(object obj)."]]); |
["IsSm1Integer(obj) returns true if << obj >> is an integer of sm1(object obj)."]]); |
|
|
Line 368 def IsSm1Integer(ob) { |
|
Line 373 def IsSm1Integer(ob) { |
|
sm1(ob , " isInteger /FunctionValue set "); |
sm1(ob , " isInteger /FunctionValue set "); |
} |
} |
|
|
|
def IsRing(ob) { |
|
sm1(ob , " isRing /FunctionValue set "); |
|
} |
|
|
|
|
def CancelNumber(rn) { |
def CancelNumber(rn) { |
local tmp; |
local tmp; |
sm1(" [(cancel) ",rn," ] mpzext /tmp set "); |
sm1(" [(cancel) ",rn," ] mpzext /tmp set "); |
Line 376 def CancelNumber(rn) { |
|
Line 385 def CancelNumber(rn) { |
|
sm1(" tmp (denominator) dc (1).. eq { /FunctionValue tmp (numerator) dc def} { /FunctionValue tmp def } ifelse "); |
sm1(" tmp (denominator) dc (1).. eq { /FunctionValue tmp (numerator) dc def} { /FunctionValue tmp def } ifelse "); |
} |
} |
|
|
|
def DC_polynomial(obj) { |
|
return(DC(obj,"polynomial")); |
|
} |
def DC(obj,key) { |
def DC(obj,key) { |
|
if (IsArray(obj) && key=="polynomial") { |
|
return(Map(obj,"DC_polynomial")); |
|
} |
if (key == "string") { return(ToString(obj)); } |
if (key == "string") { return(ToString(obj)); } |
else if (key == "integer") { key = "universalNumber"; } |
else if (key == "integer") { key = "universalNumber"; } |
else if (key == "sm1integer") { key = "integer"; } |
else if (key == "sm1integer") { key = "integer"; } |
Line 728 HelpAdd(["IsConstant", |
|
Line 743 HelpAdd(["IsConstant", |
|
Println("Default ring is Z[x,h]."); x = Poly("x"); h = Poly("h"); |
Println("Default ring is Z[x,h]."); x = Poly("x"); h = Poly("h"); |
|
|
def Substitute(f,xx,g) { |
def Substitute(f,xx,g) { |
local tmp, coeff0,ex,i,n,newex; |
local tmp, coeff0,ex,i,n,newex,ans; |
if (IsInteger(f)) return(f); |
if (IsInteger(f)) return(f); |
|
if (IsArray(f)) { |
|
n = Length(f); |
|
ans = NewVector(n); |
|
for (i=0; i<n; i++) { |
|
ans[i] = Substitute(f[i],xx,g); |
|
} |
|
return(ans); |
|
} |
if (! IsPolynomial(f)) { |
if (! IsPolynomial(f)) { |
k00_error("Substitute","The first argument must be polynomial."); |
k00_error("Substitute","The first argument must be polynomial."); |
} |
} |