David is right, you should be possible to do what you want using the
log function in the units module.

When Sage has better support for f.g. abelian groups (which is on its
way, I think) this kind of thing should be simpler to do.

John Cremona

On Jul 9, 11:55 am, davidloeffler <dave.loeff...@gmail.com> wrote:
> On Jul 8, 4:54 pm, mac8090 <bonzerpot...@hotmail.com> wrote:
>
>
>
> > I'm investigating relationships between sets of fundamental units of
> > complex extensions of the rationals. All the information from here
> > down to the horizontal line is context, and you can probably
> > understand my problem without understanding it.
>
> > I've constructed a number field L=Q(b) where b is solution to minimal
> > polynomial of x^6+3 like so:
>
> > L.<b>=NumberField(x^6+3)
>
> > then I extend this to M = L(c) where c is a solution of t^3 +(b^5-b^3)
> > *t^2 + (-b^4+2*b^2)*t-b in the following way:
>
> > R.<t>=L[]
> > M.<c>=L.extension(t^3 +(b^5-b^3)*t^2 + (-b^4+2*b^2)*t-b)
>
> > ________________________________________________________
>
> > what all this amounts to is that I have two rather ugly values: b, the
> > 6th root of -3, and c, an ugly solution to a polynomial in b.
>
> > The units of M can be attained by the command:
>
> > r=M.units()
>
> > where r contains 8 values. However, I also have a different set of 8
> > values from a previous calculation, s, all of whose contents are units
> > as well. Therefore, for any element r[i] of r there exists an 8-valued
> > set a such that
>
> > r[i]=s[0]^a[0]*s[1]^a[1]*...*s[7]^a[7]
>
> > and I am trying to find a, because the previous calculation which took
> > me from r to s has been mislaid.
>
> In other words, you want to solve a discrete logarithm problem. I
> would suggest you use the "unit_group" method of number fields, which
> is a bit cleverer than "units" -- rather than returning a list of
> elements, it returns an object that has methods like "generators" and
> (crucially) "log". That log method solves the discrete log problem,
> i.e. expresses an arbitrary unit in terms of the generators (the r's).
> So you can express your s's in terms of the r's, and a matrix
> inversion will give you the r's in terms of the s's instead.
>
> David
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to