Ask Your Question

nmbthr's profile - activity

2021-06-28 22:02:23 +0200 received badge  Popular Question (source)
2020-01-28 15:47:50 +0200 received badge  Nice Question (source)
2020-01-21 16:05:20 +0200 asked a question Is Galois Computation Time

Given an irreducible polynomial $f$, Sage computes whether a given field $K= \mathbb{Q}(f)$ is Galois with $K$.is_galois. This works well if $f$ is of low degree, say 1-20. But when $f$ is large, say degree 100 or more, this is very time consuming.

For $K$ to be Galois, it must have the same degree as $f$ and because we would expect (at random) $f$ to have Galois group $S_n$, $\text{Gal}(K/\mathbb{Q})$ will be very large. So in theory, determining 'Is Galois Y/N' should run much faster than actually computing the Galois group - which is very hard.

How does Sage .is_galois work? Does it try to compute the Galois group and compare sizes, or does it use some other method? If in computing $\text{Gal}(K/\mathbb{Q})$ you find a group with size at least $> \deg f$, does it automatically stop and give 'False'? If not, is there a way to force such a feature using features already built into Sage?

2020-01-21 16:04:23 +0200 asked a question .is_galois Computation

Given an irreducible polynomial $f$, Sage computes whether a given field $K= \mathbb{Q}(f)$ is Galois with $K$.is_galois. This works well if $f$ is of low degree, say 1-20. But when $f$ is large, say degree 100 or more, this is very time consuming.

For $K$ to be Galois, it must have the same degree as $f$ and because we would expect (at random) $f$ to have Galois group $S_n$, $\text{Gal}(K/\mathbb{Q})$ will be very large. So in theory, determining 'Is Galois Y/N' should run much faster than actually computing the Galois group - which is very hard.

How does Sage .is_galois work? Does it try to compute the Galois group and compare sizes, or does it use some other method? If in computing $\text{Gal}(K/\mathbb{Q})$ you find a group with size at least $> \deg f$, does it automatically stop and give 'False'? If not, is there a way to force such a feature using features already built into Sage?

2019-04-23 07:07:29 +0200 asked a question Defining a 'nice' Compositum

I'm having two difficulties which I assume are simple to resolve. I have a set field, say $K= \mathbb{Q}(x^2+1)$, and a set of polynomials I want to check if they are irreducible over $K$. If they are irreducible, I would like to form the compositum of $K$ and this field generated by $f$ and then find a 'nice' generator. For example,

K.<root> = NumberField(x^2+1);
R = K['x'];
poly = [x^2 + 1, x^2 + 2, x^2 + x + 1];
f = R(poly[0]);
if f.is_irreducible:
    L = NumberField([x^2+1, f]);

There are two issues:

  1. Even when f.is_irreducible() gives True, the polynomial is not always irreducible, as in the case above, so that the construction of L gives an error.

  2. Even if L can be formed, how do I find a 'nice' generator for L, i.e. a single polynomial $g$ which generates L so that I can form a 'better' (in terms of computation speed) field $M= \mathbb{Q}(g)$?

2019-04-21 18:03:15 +0200 received badge  Student (source)
2019-04-20 20:55:25 +0200 received badge  Scholar (source)
2019-04-20 20:55:21 +0200 commented answer Defining Polynomial from Import

Alright, thank you so much! It had been driving me crazy and I figured it was this type of issue but could not find any documentation on how to convert Sage types.

2019-04-20 20:34:50 +0200 commented answer Defining Polynomial from Import

I assume you mean I am doing this wrong (which I certainly know is the case) and not that the data is incorrect? The data is correct and imported but certainly coming from a .txt import from LMFBD, I know it could easily be read by Sage as text rather than the polynomial. I suppose the question is how to I pull the data which I have copied pasted and defined as 'data' to be read as a polynomial? Could I do something like f = K['x']['data[0][0]']? Essentially, if I have a polynomial x + 1 that is being read as symbolic in Sage, how do I tell it to instead read/redefine it as a polynomial?

2019-04-20 20:23:05 +0200 asked a question Defining a Polynomial from LMFBD Data

I am importing polynomials from LMFBD. So I have a set called data, which contains a polynomial in certain entries. So for example, data[0][0] may be a polynomial $x^2+x+1$. I want to check if this polynomial is irreducible over some number field $K$ I have defined. So I tried something like...

K = NumberField(y^2+1);
f = data[0][0];
f.change_ring(K);
f.is_irreducible()

But I get the error 'sage.symbolic.expression.Expression' object has no attribute 'is_irreducible'. How would I do this?

2019-04-20 20:23:05 +0200 asked a question Defining Polynomial from Import

I am importing polynomials from LMFBD. So I have a set called data, which contains a polynomial in certain entries. So for example, data[0][0] may be a polynomial $x^2+x+1$. I want to check if this polynomial is irreducible over some number field $K$ I have defined. So I tried something like...

K = NumberField(y^2+1);
f = data[0][0];
f.change_ring(K);
f.is_irreducible()

But I get the error 'sage.symbolic.expression.Expression' object has no attribute 'is_irreducible'. How would I do this?