Ask Your Question
0

Units in number fields.

asked 2015-02-01 18:13:14 +0200

juan gravatar image

updated 2015-02-01 18:17:25 +0200

tmonteil gravatar image

I want to get the expression of a unit in a number field in terms of the base by means of U.log(). Here is my code:

K.<z> = CyclotomicField(21)
U = UnitGroup(K)
U.fundamental_units()
a=(z^3+z^6+z^12)/2+1      # a is  (3 + i sqrt[7])/4   so it is a unit in K
U.log(a)

I get the error

ValueError: 1/2*z^11 - 1/2*z^9 + 1/2*z^8 + 1/2*z^4 + 1/2*z + 1/2 is not a unit

But it is a unit. It is true that a = 1/2*z^11 - 1/2*z^9 + 1/2*z^8 + 1/2*z^4 + 1/2*z + 1/2.

What I'm doing wrong ?

edit retag flag offensive close merge delete

Comments

@tmonteil Thanks for the edits.

juan gravatar imagejuan ( 2015-02-01 18:22:48 +0200 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2015-02-01 18:57:36 +0200

Francis Clarke gravatar image

The problem is that your ais not an algebraic integer (though its norm is 1).
Following on from your code :

sage: a.is_integral()
False
sage: a.minpoly()
x^2 - 3/2*x + 1
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2015-02-01 18:13:14 +0200

Seen: 369 times

Last updated: Feb 01 '15