Ask Your Question

Erratis's profile - activity

2021-04-29 20:40:54 +0200 received badge  Popular Question (source)
2020-10-02 11:59:40 +0200 received badge  Popular Question (source)
2020-09-18 09:34:45 +0200 asked a question Defining Hyperplanearrangements over NumberFields

Hello,

I read the documentation and it seems that when working with HyperplaneArrangements one can only create arrangements over a finite field or QQ. I was asking myself if there was any way to define it over NumberFields. I tried the following:

VarTDef.(a)=QQ[]

K.(z) = NumberField(a^2-5, embedding=1.2)

H.(r,s,t,u)=HyperplaneArrangements(K)

Arrangement=H([(1,0,0,0),0],[(0,1,0,0),0])

Arrangement.characteristic_polynomial()

(I know that the brackets surrounding a,z and r,s,t,u are wrong, but I don't know how to write them in this post without getting taken away because they get handled like HTML tags)

But after calling the restriction function and trying to hand over the new arrangement it gives out a "TypeError: entries must be a list of length 3". After calculating the restriction it wants to "return H(*hyperplanes, signed=False)" this leads to "hyperplanes = [AA(_) for _ in arg]" and this reaches "coeffs = self.ambient_module()(coeffs)" and the TypeError gets triggered.

Since the creation of the arrangement succeeds my guess would be that the HyperplaneArrangement functions aren't implemented for arrangements over NumberFields. I'm just curious if there is any trick to make it work or if it just isn't implemented yet (or if I possibly just messed up during the creation).

2020-04-20 16:56:35 +0200 commented question Recursive calculation of a characteristic polynomial

Thanks for your reply. I'm sorry, but I forgot to mention that x = polygen(QQ,'x') already exists at the beginning of the program. The idea is that I don't have to define it again in that function (it saves runtime). Do you think that this could cause the bug? I will just write the polygen back into the function then.

The strange thing is that it seems to work in most cases. It goes wrong sometimes when the polynomial factors with 3 ones and 1 zero.

Update: It instantly seems to work now. Does that have to do anything with how python operates? I am pretty new to this so I thought that defining it global would be a good idea. I will try do do a bigger calculation and look if the bug keeps appearing. Thanks for your help!

2020-04-20 00:06:55 +0200 asked a question Recursive calculation of a characteristic polynomial

I am trying to calculate the characteristic polynomial of a complex arrangement of dimension 3 using recursion. But I am getting a return that doesn't make any sense to me. The code looks like this:

def threeDimChaPol(Matroid):
    if Matroid.rank() <= 2:
        MatGS = len(Matroid.groundset_list()) - 1
        return x * (x - MatGS) * (x - 1)
    HE = Matroid.groundset_list()[-1]
    print HE
    MatD = Matroid.delete(HE)
    MatR = Matroid.contract(HE).simplify()
    R = len(MatR.groundset_list()) - 1
    return threeDimChaPol(MatD) - (x - 1) * (x - R)

I am feeding the function with the Matroid that comes out when I use the normalvectors of the hyperplanes of the G32 and trim it down to 4 specific hyperplanes.

I use Matroid(Matrix(NF3, G32Normals).transpose()), where I prepared a list of the G32 normalvectors in which I use a numberfield instead of a cyclotomic field for the complex numbers (the vectors are in the same order as when you get them through ReflectionGroups). I then use deletion on everything, but 0,1,2,12 and get a Matroid of rank 4 with 4 elements.

If I now use the function above it responds 12,2 as it should, because they are the things chosen out of the groundset, but instead of returning the polynomial it just writes 53466 after that.

So the return is just a number, which does not make any sense to me. Before I wrote this into a new file, double attaching the file, where this function is in, to sage solved the problem and gave the right result. When I restarted sage and attached in only once the bug would appear again. But writing the function alone with the neccessary information (Matroid and Vectors) into a new file and attaching it just gives me the 53466 return, no matter how often I attach it to sage.

Since the code is working sometimes and other times not it really confuses me where the mistake could be. Any kind of help would be greatly appreciated!

2020-02-27 14:47:06 +0200 received badge  Scholar (source)
2020-02-25 16:53:17 +0200 commented answer NumberField NotImplemented Error

Hello rburing.

I will try this solution and if the error gets raised again I will report the issue. Thank you for your quick reply.

2020-02-25 12:54:32 +0200 asked a question NumberField NotImplemented Error

Hello!

I am currently trying to use NumberFields but I am getting random errors when using them. I am trying to construct a NumberField by using

K=NumberField(x^2 +x+ 1, 'y')

or

K.<y> = NumberField(x^2+x+1)

Sometimes it works out just fine and other times i just get this NotImplemented Error:

Traceback (most recent call last):
  File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1234, in execute flags=compile_flags), namespace, locals)
  File "", line 1, in <module>
  File "sage/modules/free_module_element.pyx", line 2023, in sage.modules.free_module_element.FreeModuleElement.__pow__ (build/cythonized/sage/modules/free_module_element.c:14871)
    raise NotImplementedError
NotImplementedError

And after that I can't make it work anymore. I tried resetting variables but that doesn't seem to be the problem. Does anybody might have an idea what causes this issue?

Cheers

2019-05-08 07:13:36 +0200 commented question Chevie on Windows

I will take away from this that I just shouldn´t try making it work as an amateur. I will just go ahead and install Linux then, because I have a glimmer of hope left that it might work there. Thank you for your efforts!

2019-05-06 23:18:59 +0200 commented question Chevie on Windows

Thank you for your reply. I downloaded Sage for Windows and installed it (Sage itsself is running completely fine). Then I went to Jean Michels website and downloaded the file gap3-jm11mar19.tar.gz . After that I altered the gap.cmd (that includes date about gaps location and such things) and opened sage. Here I tried to teach it the location of gap3 by using the line gap3 = Gap3(command='/usr/user/.sage/gap3-jm/bin/gap3.cmd') If I run the gap.cmd by itsself I get the usual gap3 opening screen, but Sage somehow refuses to let me calculate stuff with it. I tried stuff like gap3('1+1') or Gap3('1+1'), but it didnt work. So I didn´t do that much until now and so I am not able to see where it could have went wrong.

2019-05-03 19:30:30 +0200 received badge  Student (source)
2019-05-02 07:56:05 +0200 asked a question Chevie on Windows

Hello,

I am currently trying to install SageMath and gap3 (because I am in need of the Chevie package) on my Windows 7 computer. I am using Jean Michels gap3 for this, which I found at his website. So I unpacked it to where my sage files are and tried "gap3 = Gap3(command='/usr/user/.sage/gap3-jm/bin/gap3.cmd')" , because it says on the doc.sagemath site that this will lead sage to the version of gap3 that I want to use (it says in the ReadMe that the cmd file is the one for Windows). But if I type in "gap3" in sage afterwards gap3 doesnt open and if I try something like "x=gap3(1+1)" sage just tells me, that I didn't install gap3 the right way.

I am not able to provide links because of the Karma system, but I hope that it became clear what sites I am referring to. I would be very happy if anyone could provide a fix to this.