|
D.2.8.7 extendring
Procedure from library ring.lib (see ring_lib).
- Usage:
- extendring(n,va,o[,iv,i,r]); va,o=strings, n,i=integers, r=ring,
iv=intvec of positive integers or iv=0
- Return:
- ring R, which extends the ring r by adding n new variables in front
of (resp. after, if i!=0) the old variables.
[default: (i,r)=(0,basering)].
-- The characteristic is the characteristic of r.
-- The new vars are derived from va. If va is a single letter, say
va="T", and if n<=26 then T and the following n-1 letters from
T..Z..T (resp. T(1..n) if n>26) are taken as additional variables.
If va is a single letter followed by a bracket, say va="x(",
the new variables are x(1),...,x(n).
-- The ordering is the product ordering of the ordering of r and of an
ordering derived from `o` [and iv].
- If o contains a 'c' or a 'C' in front resp. at the end, this is
taken for the whole ordering in front, resp. at the end. If o does
not contain a 'c' or a 'C' the same rule applies to ordstr(r).
- If no intvec iv is given, or if iv=0, o may be any allowed ordstr,
like "ds" or "dp(2),wp(1,2,3),Ds(2)" or "ds(a),dp(b),ls" if
a and b are globally (!) defined integers and if a+b+1<=n.
If, however, a and b are local to a proc calling extendring, the
intvec iv must be used to let extendring know the values of a and b
- If a non-zero intvec iv is given, iv[1],iv[2],... are taken for the
1st, 2nd,... block of o, if o contains no substring "w" or "W"
i.e. no weighted ordering (in the above case o="ds,dp,ls"
and iv=a,b).
If o contains a weighted ordering (only one (!) weighted block is
allowed) iv[1] is taken as size for the weight-vector, the next
iv[1] values of iv are taken as weights and the remaining values of
iv as block size for the remaining non-weighted blocks.
e.g. o="dp,ws,Dp,ds", iv=3,2,3,4,2,5 creates the ordering
dp(2),ws(2,3,4),Dp(5),ds
- Note:
- This proc is useful for adding deformation parameters.
This proc uses 'execute' or calls a procedure using 'execute'.
If you use it in your own proc, it may be advisable to let the local
names of your proc start with a @
Example:
|