Post a reply
Username:
Note:If not registered, provide any username. For more comfort, register here.
Subject:
Message body:
Enter your message here, it may contain no more than 60000 characters. 

Smilies
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
Font size:
Font colour
Options:
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Disable BBCode
Disable smilies
Do not automatically parse URLs
Confirmation of post
To prevent automated posts the board requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.
Confirmation code:
Enter the code exactly as it appears. All letters are case insensitive, there is no zero.
   

Topic review - Maps over transcendental field extensions
Author Message
  Post subject:  Re: Maps over transcendental field extensions  Reply with quote
Could the following proc fit your pupose?

Code:
proc quantummap(poly f, number q)
{
  map qphi = basering,q*var(2),q*var(1),
  f = qphi(f);
  f = parsubst(f,q);
return(f);
}


Does it define a map your looking for?

Regards,
Christian
Post Posted: Mon Mar 22, 2010 3:38 pm
  Post subject:  Re: Maps over transcendental field extensions  Reply with quote
Dear Viktor,
ad 1) I really had difficulties to see the case where this message appears.

Then I found, that subst does not work, if the
poly or number in which we want to substitute has
denominators in the parameters.

So this trivial examples fails:
Code:
  > ring rt = (0,t),x,dp;
  > subst(2/t,t,t);
  // ** ignoring denominators of coefficients...
  2


but (yes!) I found a solution. See the proc parsubst below.

The idea is, first to clear the denominator, then use subst
and divide by the substituted denominator again.

Some care must be taken for the following cases:

i) if the input only consists of a parameter, then
cleardenom returns 1.

Here I multiply first with a ring variable, (hopefully this
will not change the result in the non-commutative case),

ii) if f(0)=0, we can not recover the denominator.
Therefore, I add a constant.

This two operations will be reversed at the end.

The example above and substitution as you mention will work.
Code:
  > parsubst(2/t,t,t);
  2/(t)
  > parsubst(2/t,t,(2t+4)/(3t+1))
  (3t+1)/(t+2)
 
  > // example parsubst
  > number q = (3t+4)/(2t+3);
  > parsubst(1/t,t,q);

  > poly f = t/(t-1)*x2 + 2/t;
  > parsubst(f,t,q);
  (3t+4)/(t+1)*x2+(4t+6)/(3t+4)
 



Code:
  proc parsubst(poly f,number t,number q)
  " USAGE: parsubst(f,t,q); f poly or number, t number, q number
  RETURN: poly, resp. number as the input type
  ASSUME: t is a parameter of the basering
  EXAMPLE: example parsubst; shows an example
  "
  {
    int is_constant = deg(f)==0;
    if  (is_constant) { f = f*var(1); } //  f was a number

    int zero_const_term = jet(f,0)==0;
    if (zero_const_term) { f = f + 1;}  //otherwise denom is lost
     
    poly g = cleardenom(f);
    number commondenom = leadcoef(g)/leadcoef(f);
    f = subst(g,t,q)/subst(commondenom,t,q);
    if (zero_const_term) { f = f - 1;}
    if(is_constant) { f = f/var(1);}
    return(f);
}
example
{
  "EXAMPLE:"; echo = 2;
  ring r=(0,t),x,dp;
   
  number q = (3t+4)/(2t+3);
  parsubst(1/t,t,q);

  poly f = t/(t-1)*x2 + 2/t;
  parsubst(f,t,q);
}


ad 2) If I understand correctly, then theta(x) would form
an rational expression built on variables?


Best regards,
Christian
Post Posted: Sat Mar 20, 2010 10:34 pm
  Post subject:  Maps over transcendental field extensions  Reply with quote
I work over K(q) with K-linear maps.
(1) Is there some procedure, which makes correct analog to subst. I want to apply K(q)-automorphisms (even of order 2), they are of the form q-> (a+bq)/(c+dq) with a,b,c,d in K subject to some relations. At the moment subst says it "ignores denominators"...
(2) What I need further is the modification of type map indeed, since I need to do (anti-)morphisms of K and NOT of K(q)-algebras in noncommutative context, say (commutatively)
K(q)[x,y] -> K(q)[x,y], q->(a+bq)/(c+dq)=theta(q), x -> theta(x), y-> theta(y). Theta includes twisting on q, that is it's K- but not K(q)-linear.
HOWEVER: it is enough to apply this generalized map to a single object (poly/ideal/module/matrix). This will be used e.g. to extend the procedure involution from involut.lib to the case of quantum and quantized algebras.

Thanks in advance to any hints,
Viktor
Post Posted: Sun Mar 14, 2010 6:05 pm


It is currently Fri May 13, 2022 11:06 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group