|
From: Bill H. <goo...@go...> - 2008-08-08 10:08:45
|
Hi Guys, Two of you will be preparing posters for the projects you have done, so I thought I would write a handful of comments on how to go about this. * There's always less space than you think on one of these posters, so don't be too ambitious about what to include in terms of writing. * Colour and graphics are essential. Every other poster will be colourful and have pictures, so we want to do the same. Try and come up with some graphics or photos which will capture the viewers' attention, but which are relevant to the project. Graphs can be useful in this regard. I think Richard already has a timing graph in mind, I'm not exactly sure what Daniel can put on there, perhaps a diagram explaining one of the more technical p-adic algrorithms. Remember you can use photos as backgrounds, and this can help. * When you write, don't write stuff like, "during this project I learned about...." The purpose of the work you have been doing is real research, i.e. working on something that wasn't already done before. We aren't doing a report on the reading we did about what other people had already done before us. Whilst it is valuable that you learned about stuff written in books and papers, from a research point of view, that is not interesting. What you learned from actual hands on work, that no one else knows about or did before, is valuable from a research point of view. Richard you came up with a completely fresh implementation of various factoring and irreducibility algorithms. Daniel you did a comparative analysis of what other computer algebra systems do and planned a completely new interface for FLINT. So speak about what you guys actually did. Of course you can also mention any special insights you got from your reading, i.e. things that changed your mind about something important and which had real significance for the direction your project took. Daniel you should definitely mention the fact that we chose to use a single large integer for the representation, not a power series of coefficients as such. I wish there had been more insights like this, but we have to just make do with what we were able to come up with. * Don't be afraid to make the posters look technical. Take a look at the posters produced last year (they are all online somewhere) and you will see no one held back with the technical details. Often the posters were totally incomprehensible. At the same time, your introduction should be readable by a chemist who knows how to multiply decimal numbers together and that is about it. Remember when the posters go on display, you will actually be there for the whole day explaining to people over and over exactly what your project is about. It's useful if you have interesting stuff to point to. * Try not to glorify FLINT, i.e. don't think of this as an advertisement for FLINT. You are advertising the brand new research *you* did, not the FLINT project. About 5 people last year did projects on coming up with ways to advertise their supervisor's work, and they looked really, really silly, since everyone else had spent the summer doing actual research themselves, some of it publishable in a journal!! * There's no need to mention me more than once, for exactly the same reasons. What is on display here is *your* innovation and what *you* spent the summer doing. * This is not the place to be writing about how much you enjoyed the work. You should write such things in the survey www.survey.bris.ac.uk/reading/urop which you have been asked to take part in (it was emailed to me, but I'm now sending the link to you). * Don't use the words "I" or "me", or "did" or "got" in the project *at all*. Instead use "we", "found", "obtained". Researchers use a particular language when writing, and even when they did the research completely on their own, tend to use the royal plural, i.e. "we found that...." or "we obtained the following...." * Don't criticise anyone else's work or papers, etc. If you found an error, or something that was useless, simply act puzzled about it, but not overly concerned. * Don't include references on the poster, it's not the place. We'll put those on the website. * You can mention any further work that is planned for the future, but don't major on it, since otherwise it makes it look like you spent all summer procrastinating and not actually doing anything and thinking about what it would be like to do real research. Daniel, you have a slightly harder job with this since you didn't implement something new, didn't build something, or run an experiment or test a hypothesis, etc. All the other posters are going to be of this form. So you need to make the unique feature of your work the point of interest in your project. You investigated the different approaches computer algebra systems have taken to this problem and you tried to construct an approach which took the best aspects of them all. You will want to focus on the design decisions you made and why they were important to the final design. The research you were doing was essentially to solve the problem of how best to implement a p-adic module in a computer algebra system. And your findings are the key "discoveries" you made about how to achieve this. In particular I think you probably picked up a fair bit about how basic p-adic algorithms are actually used, for example in the various transcendental functions implemented and in algebraic number theory. Hopefully that will have informed your choices in the final design you came up with. Richard, in answer to your question, yes we definitely need some Magma timings for various sized polynomials on a chart. Remember that Magma will be running the squarefree factorisation algorithm first and you have to subtract the time it takes to generate the random polynomials, which can take some time. Magma has some special code for factorising things like binomials, quadratics and a few other things like that quickly, so beware of this when picking your polynomials. You want them to be generic, not easily factorised by tricks, otherwise the timing comparisons will be meaningless and highly in Magma's favour. It's possible to actually use the test code to time stuff now, as it prints out the time the test took. With various modifications of the test code you should be able to get plenty of timings. If you want something more systematic, we can use the FLINT profiling module, which is also able to produce graphs. I can show you how to use that if you need it. Here is the code I use to time factorisation in Magma: t:=Cputime(); for i := 1 to 1000 do p := NextPrime(RandomBits(Random(62)+2)); R:=GaloisField(p); S<x>:=PolynomialRing(R); f:=x^(2*(Random(20)+1)+1)-1; g:=Factorisation(f); end for; Cputime(t); You can modify it to do whatever you need. If you want random polynomials of say length 20, you can do: length:=20; f:=Polynomial([Random(R): x in [1..length]]); You'll find that for long polynomials Magma quickly gets ahead of us. That is due to their better Gaussian elimination code and also an algorithm called half-gcd which is much better at computing GCD's of polynomials over length about 200 I think. Bill. |