# Galois Field Theory

Article by Dan Goodman

Published February 2002,February 2011.

This is a short introduction to Galois theory. The level of this article is necessarily quite high compared to some Nrich articles, because Galois theory is a very difficult topic usually only introduced in the final year of an undergraduate mathematics degree. This article only skims the surface of Galois theory and should probably be accessible to a 17 or 18 year old school student with a strong interest in mathematics. There is a short and very vague overview of a two important applications of Galois theory in the introduction below. If you want to know more about Galois theory the rest of the article is more in depth, but also harder.

The two most important things to know about in order to understand the in depth part of the article are complex numbers and group theory. If you’ve not come across complex numbers before you can read An Introduction to Complex Numbers , which should be accessible to 15 or 16 year old students. If you haven’t come across group theory before, don’t worry. I introduce the idea of a group below, although it might be better to try and find a book or web site that goes into more detail.

1 Introduction

1.1 Motivation

Galois theory is a very big subject, and until you are quite immersed in mathematical study in a way which is unusual unless studying for a degree in maths, it can seem quite pointless. However, there are two problems which provide some motivation for studying Galois theory – the existence of polynomials which aren’t soluble by radicals, and some results about classical Euclidean geometry, for example that you cannot trisect an angle using a ruler and compass, and that certain regular polygons cannot be constructed using a ruler and compass.

The first problem is this, given a polynomial p(x) with rational coefficients, for example p(x)=x2+3x+1, can you express the roots of p(x) using only rational numbers, multiplication, division, addition, subtraction and the operation of raising a number to the power 1/n for n an integer? So, for example, we can solve ax2+bx+c=0 using only these operations, because we know that the solutions are:

x=−b±b2−4ac−−−−−−−√2a

The coefficients a, b, c are all rational, and we have only used multiplication, division, addition, subtraction and square root (which is raising to the power of 1/2).

We can find more complicated examples, suppose p(x)=x4−4×2+2. We can factorise this as p(x)=(x2−2)2−2. So the solutions will satisfy x2−2=±2√, or x2=2±2√. Square rooting this we get x=±2±2√−−−−−−√. So, x4−4×2+2 can be solved in this way too.

Definition When we can find the solutions for a polynomial with rational coefficients using only rational numbers and the operations of addition, subtraction, division, multiplication and finding nth roots, we say that p(x) is soluble by radicals.

Using Galois theory, you can prove that if the degree of p(x) (i.e. the highest power of x in p(x)) is less than 5 then the polynomial is soluble by radicals, but there are polynomials of degree 5 and higher not soluble by radicals. In other words, polynomials of degree 5 whose solutions cannot be written down using nth roots and the arithmetical operations, no matter how complicated.

1.2 History

So, why is Galois theory called Galois theory? The answer is that it is named after a French mathematician Evariste Galois (1811-1832) who did some very important work in this area. He had a very dramatic and difficult life, failing to get much of his work recognised due to his great difficulty in expressing himself clearly. For example, he wasn’t admitted to the leading university in Paris, the Ecole Polytechnique , and had to make do with the Ecole Normale . He also met with difficulty because of his political sympathies, he was a republican. This led to him being expelled from the Ecole Normale when he wrote a letter to a newspaper criticising the director of the school. He joined a republican branch of the militia and was later imprisoned (twice) because of his membership. The second time whilst in prison he fell in love with the daughter of the prison physician, Stephanie-Felice du Motel and after being released died in a duel with Perscheux d’Herbinville . The reasons for the duel are not entirely clear, but it seems likely it had something to do with Stephanie. His death started republican riots and rallies which lasted for several days.

Although Galois is often credited with inventing group theory and Galois theory, it seems that an Italian mathematician Paolo Ruffini (1765-1822) may have come up with many of the ideas first. Unfortunately his ideas were not taken seriously by the rest of the mathematical community at the time. There are some links at the end of this document for anyone interested in finding out more about the history of group theory and Galois theory.

1.3 Overview

Galois theory is concerned with symmetries in the roots of a polynomial p(x). For example, if p(x)=x2−2 then the roots are ±2√. A symmetry of the roots is a way of swapping the solutions around in a way which doesn’t matter in some sense. So, 2√ and −2√ are the same because any polynomial expression involving 2√ will be the same if we replace 2√ by −2√. For example, we know that 2√2+2√+1=3+2√. Or α2+α+1=3+α when α=2√. However, the same equation is true when α=−2√, and this will be true for any expression involving only adding and multiplying 2√.

The way the result about solubility by radicals above is proved (using Galois theory) is to prove a result about the collection of symmetries among the roots of a polynomial given that the roots are built up using only the special operations above. (It turns out that the collection of symmetries must form what is called a soluble group. More on this near the end of this article.) Then you find a polynomial for which the symmetries of the roots does not have this special property, so you know that the roots couldn’t be built up from the special operations.

The subject of the rest of this article is making precise what we mean by a symmetry of the roots and about the structure of the collection of these symmetries.

1.4 Notation

Throughout this article, I’ll use the following notation. The set of integers will be written Z, so writing n∈Z means that n is in Z, the set of integers, i.e. n is an integer. The set of rational numbers is Q, the set of real numbers is R and the set of complex numbers is C.

1.5 Advice on reading this article

The rest of this article is quite difficult. A large number of new ideas are introduced and used over and over again, and there are lots of unfamiliar words. By the end of the article I’ll be using phrases like Q[1+2√−−−−−−√] is a radical field extension of Q because it can be built up using only cyclotomic field extensions at each stage. Don’t be too put off by this seemingly alien language, every word is explained as it is introduced. The best strategy for reading it is to go slowly and make sure you understand exactly what every word means before going on to the next section, because that word will be used again and again, and if you don’t quite understand it then everything will just get more and more confusing as you read on. However, if you are reading this online you can simply click on any of the underlined words and the original definition will pop up in a small window.

2 Groups and Fields

2.1 Groups

Definition (Group):

A group G is a collection of objects with an operation ⋅ satisfying the following rules (axioms):

(1) For any two elements x and y in the group G we also have x⋅y in the group G.

(2) There is an element (usually written 1 or e, but sometimes 0) called the identity in G such that for any x in the group G we have 1⋅x=x=x⋅1.

(3) For any elements x, y, z in G we have (x⋅y)⋅z=x⋅(y⋅z) (so it doesn’t matter what order we do the calculations in). This property is called associativity ; it means we can write x⋅y⋅z unambiguously (otherwise it would not be clear what we meant by x⋅y⋅z: would it be x⋅(y⋅z) or (x⋅y)⋅z?).

(4) Every element x in G has a unique inverse y (sometimes written −x or x−1) so that x⋅y=y⋅x=1.

For example, the integers Z are a group with the operation of addition (we write this group(Z,+) or sometimes, lazily, just Z). We can check thefour axioms: (1) If n, m are integers then n+m is an integer, so we’re OK here. (2) n+0=n=0+n so 0 is the identity for the integers. (3) (n+m)+p=n+m+p=n+(m+p) so + is associative. (4) n+(−n)=0=(−n)+n so we have inverses.

However, the integers are not a group with multiplication, because the identity on the integers with multiplication is 1, and there is no integer n with 2n=1.

Definition (Cyclic Group):

Important finite groups are things like Cp which is the cyclic group of order p . This is the set of elements 1, x, x2, …, xp−1 with the operation xn⋅xm=xn+m and also the relation that xp=1. So, for example, in C5 we have that x2⋅x4=x6=x5⋅x=x. You can tell this is a group because the inverse of xn is xp−n.

Definition (Symmetric Group):

Another important example of a finite group is Sn, the symmetric group on n elements . Suppose we rearrange the numbers 1, 2, …, n. For example, we could rearrange 1, 2, 3 to 2, 3, 1. In other words, we take 1 to 2, 2 to 3 and 3 to 1. The collection of all of these rearrangements forms a group. The operation is do the second one, then the first. So, if we write σ for the rearrangement 1, 2, 3 goes to 2, 3, 1 and τ for the rearrangement 1, 2, 3 goes to 3, 2, 1 then the rearrangement σ⋅τ does the following: it rearranges 1, 2, 3 to 3, 2, 1 (that’s τ) then it rearranges this to 1, 3, 2 (because σ takes 3 to 1, 2 to 3 and 1 to 2). So the group Sn is the collection of rearrangements of 1, 2, 3, …, n.

Another way of thinking about it, for those who are happy with the ideas of sets and functions, is to define the symmetric group on a set X to be SX={f:X→X|fis invertible} with the operation that for the functions f, g∈SX we have the function f⋅g defined to be (f⋅g)(x)=f(g(x)). The symmetric group above, Sn=S{1,2,…,n}, is the symmetric group on a set with n elements.

At this point, you may want to check you’ve followed so far. See if you can prove that Sn is a group and that it has n! elements. If you’re happy with the idea of sets and functions then you can prove that SX is a group even if X is an infinite set.

2.2 Fields

Definition (Field):

A field F is a bit like a group, but we have two operations, usually written ⋅ and +. F is a field if F has elements 0 and 1 such that F with the operation + is agroup (i.e. (F,+) is a group), the set F without the element 0 is a group with the operation ⋅ (i.e. (F∖{0},⋅) is a group) and we have relations like (x+y)⋅z=x⋅z+y⋅z (we say that ⋅ is distributive over +), 0⋅x=0=x⋅0, x⋅y=y⋅x and x+y=y+x (which isn’t always true for a group) and so on.

The definition of a field above is quite abstract, all it means is that a field is a set in which you can add, subtract and multiply any elements, and you can divide by any element other than 0.

A good example of a field is the real numbers or the rational numbers. (Check the axioms.)

A less obvious example of a field (the important example for Galois theory) is Q[2√]. This is the set of all numbers which can be written a+b2√ for a and b rational numbers. It is not immediately obvious that this is a field, because we do not know, for example, if 1/(a+b2√) can be written as c+d2√. However, you can always do this. If x=1/(a+b2√) then (multiplying the top and bottom by a−b2√):

x=a−b2√(a+b2√)(a−b2√)

And (a+b2√)(a−b2√)=a2−2b2=p say. So we have that x=a/p−(b/p)2√. So Q[2√] really is a field (the other axioms are clearly true, check them if you like).

Definition (Algebraic Number):

More generally, if α is a real number with the property that p(α)=0 for some polynomial p(x), then we say that α is an algebraic number.

If α is an algebraic number then Q[α] is a field. We can think of Q[α] in two ways. Firstly, as the set of elements a0+a1α+…+an−1αn−1 where each ai is a rational number and n is the smallest integer such that there is a polynomial p(x) of degree n with p(α)=0. The second way is that Q[α] is the smallest field extension of Q containing α, this is explained in the next section. You can try to prove that Q[α] is a field if you like, but you need to know a theorem called the Remainder Theorem.

This gives us lots of examples of fields. For example, Q[2√3]={a+b2√3+c2√32:a,b,c∈Q} is a field.

You can extend this idea to define, for α, β both algebraic, Q[α,β] to be the set of all expressions like 2αβ, α+α2β, and so on.

To test yourself, you might like to see if you can show that Q[α,β]=Q[α][β] (the right hand side makes sense because Q[α][β]=K[β] where K=Q[α] which is a field). This shows that Q[α,β] is a field.

This gives us even more examples of fields, for example Q[2√,3√]={a+b2√+c3√+d6√:a,b,c,d∈Q}.

2.3 Field extensions

Definition (Field Extension):

A field extension of a field F is a field K containing F (we write a field extension as F⊆K or K/F). For example, the real numbers are a field extension of the rational numbers, because the reals are a field and every rational is also a real number.

The example above, Q[2√] is a field extension of Q since if a∈Q then a+02√∈Q[2√], so Q⊆Q[2√]. More generally we have that Q[α] is a field extension of Q for α an algebraic number.

2.4 Splitting Fields

Here’s where the Galois theory bit starts.

Definition (Splitting Field):

Given a polynomial p(x) we have what is called the splitting field of p(x) which is the smallest field extension of Q that contains all the roots of p(x). So, if p(x)=x2−2 then the splitting field of p(x) is Q[2√] (it contains all the roots of p(x) and if it had fewer elements it either wouldn’t contain all the roots or wouldn’t be a field).

Another example is that the splitting field of p(x)=x4−5×2+6 is Q[2√,3√]. Can you see why?

3 Automorphisms and Galois Groups

3.1 Automorphisms

At this point you may be wondering why I was talking about symmetries of roots at the beginning of this article. Here’s where the idea of a field automorphism comes in. Let’s use Q[2√] as an example. If we define a function f:Q[2√]→Q[2√] by taking f(a+b2√)=a−b2√ then we find that f is what is called a field automorphism.

Definition (Field Automorphism):

A field automorphism f has to be an invertible function (which the f above clearly is) such that f(x+y)=f(x)+f(y), f(ax)=f(a)f(x) and f(1/x)=1/f(x).

You can check that for the function f above really does satisfy all the conditions.

The idea of a field automorphism is that it is just a way of relabelling the elements of the field without changing the structure at all. In other words, we can replace the symbol 2√ with the symbol −2√, do all our calculations and then change the symbol −2√ back to 2√ and we get the right answer. Field automorphisms are the right way of expressing this idea, because the conditions that f(x+y)=f(x)+f(y) preserve multiplication, addition and so on.

Definition (F-Automorphism):

More specifically, if we have a field extension K of a field F, then an F-automorphism of K is an automorphism f of K with the additional property that f(x)=x for all x in F.

This is the precise way of defining the symmetry of the roots that I talked about above, because the F-automorphism leaves all elements of F unchanged and only relabels the new elements we added to form K. It turns out that for Q[2√] the function f I defined above is the only Q-automorphism other than the obvious g(x)=x.

If p(x) is any polynomial (with rational coefficients, as always), K/Q is a field extension, and f is a Q-automorphism of K then f(p(x))=p(f(x)), see if you can prove this.

The reason this is useful is that it shows that a Q-automorphism of a splitting field K of a polynomial p(x) rearranges the roots of p(x). If p(α)=0 then p(f(α))=f(p(α))=f(0)=0, so f(α) is then a root of p(x).

In fact, we can go further than this and show that knowing how a Q-automorphism of a splitting field rearranges the roots of p(x) is enough to tell us precisely what that Q-automorphism does to every element of the splitting field. However, not every rearrangement of the roots of p(x) comes from a Q-automorphism. For example, if p(x)=x4−5×2+6 (which we showed has splitting field K=Q[2√,3√]) which has roots ±2√ and ±3√ then there is no Q-automorphism f of K with f(2√)=3√. Suppose there was, then f(2√)2=f(2√2)=f(2)=2 because f preserves multiplicative structure and f(x)=x for rational x. But if f(2√)=3√ then f(2√)2=3√2, i.e. 2=3 which is clearly nonsense.

So now we can see why a Q-automorphism of a splitting field gives us exactly the right idea of a symmetry of the roots which doesn’t matter (i.e. doesn’t change the structure at all).

So for the polynomial p(x)=x2−2 we have the following:

(a) The splitting field of p(x) is Q[2√].

(b) The Q-automorphisms of p(x), which we can think of as the symmetries of the roots, are f(a+b2√)=a−b2√ and g(x)=x.

At this point, you may want to see if you can find the splitting field and the Q-automorphisms ofp(x)=x2−5 (two Q-automorphisms), and if you know about complex numbers, you could try x4−1 (also two Q-automorphisms).

3.2 The Galois Group

Definition (Galois Group):

Now, if we have a field F which is a field extension of Q then we have a collection G of Q-automorphisms of F. This collection G is a group (with the operation defined by: if f and g are in G, i.e. they are Q-automorphisms of F, then f⋅g is a Q-automorphism defined by (f⋅g)(x)=f(g(x)) – check that this really is a group). It is called the Galois group of the field extension F over Q , usually written Gal(F/Q). If F is the splitting field of a polynomial p(x) then G is called the Galois group of the polynomial p(x), usually written Gal(p).

So, taking the polynomial p(x)=x2−2, we have G=Gal(p)={f,g} where f(a+b2√)=a−b2√ and g(x)=x. Here, g is the identity element of the group, and we have that f⋅f=g, because (f⋅f)(a+b2√)=f(f(a+b2√)=f(a−b2√)=a+b2√=g(a+b2√). So, the group G is the same as C2, the cyclic group of order 2, or S2, the symmetric group of order 2, because we have a single element f with f2=f⋅f=1 the identity on the group.

As an exercise, you might like to find the Galois group of p(x)=ax2+bx=c. [Hint: there are two cases to consider, b2−4ac=r2 for some rational r or b2−4ac≠r2 for any rational r.]

If you know a bit about complex numbers (specifically, roots of unit) and you’re quite adventurous, you might like to try and show that for p(x)=xq−1 with q a prime number, Gal(p)=Cq−1 the cyclic group of order q−1.

If you know about subgroups, you can use the fact that the Q-automorphisms of a splitting field rearrange the roots (and that the rearrangement of the roots alone tells us what the Q-automorphism is) is to show that Gal(p)≤Sn where n is the degree of p(x). In particular, all polynomials have finite Galois group.

4 Solubility by Radicals

To go any further into Galois theory would, unfortunately, be too complicated. I’ll sketch the rest of the proof of the existence of polynomials that are not soluble by radicals.

Definition (Cyclotomic Field Extension):

First, you define a cyclotomic field extension to be a field extension of F where you take an element x in F and add the nth root. So, Q[2√] is a cyclotomic field extension of Q.

Definition (Radical Field Extension):

Second, you define a radical field extension K of a field F to be a field extension which you can get to only using cyclotomic field extensions. So, Q[1+2√−−−−−−√] is a radical field extension because you can start with Q, add 2√ to form Q[2√]. Now, 1+2√ is in Q[2√], so taking the square root of this you get Q[1+2√−−−−−−√]. If the polynomial p(x) is soluble by radicals, then the splitting field F of p(x) is a radical field extension of Q (can you see why?).

Third, you prove that the Galois group of any radical field extensionis soluble. This is the hardest part by a long, long way. In fact, I’m not even going to attempt to explain what a soluble group is here, because it would take too long.

Fourth, you prove that the group S5 (the symmetric group on 5 elements) is not soluble. If you know a bit of group theory, this isn’t very difficult.

Fifth, you find a polynomial p(x) whose Galois groupis S5. The splitting field of this polynomial cannot be a radical field extension (because all radical field extensions have soluble Galois groups, so the roots of p(x) cannot be built up from +, −, ×, / and the nth roots.

5 Trisecting Angles

As I mentioned above, you can use Galois theory to show that it is impossible to trisect all angles using ruler and compass methods. I’ll outline a proof that you cannot construct an angle of 20∘ using ruler and compasses (and so you cannot trisect an angle of 60∘).

Definition (Constructible Numbers and Constructible Field Extensions):

The basic idea is to define a constructible number to be a real number that can be found using geometric constructions with an unmarked ruler and a compass. You can show that any constructible number must lie in a field extension Q[α1−−√,α2−−√,…,αn−−√] with each αi∈Q[α1−−√,…,αi−1−−−−√]. We’ll call a field extension that looks like this a constructible field extension . So, for example, Q[2√] is a constructible field extension, and so is Q[1+2√−−−−−−√], because you can write Q[1+2√−−−−−−√]=Q[2√,1+2√−−−−−−√].

It’s not obvious that any constructible number must lie in a field extension of this form, but we can sort of see why because given line segments of length x, y, it is possible to construct other line segments of length x+y, xy and 1/x using geometric constructions. Moreover, you can construct a line segment of length x√ using only geometric constructions. In fact, you can also show that these are the only things you can do with geometric constructions. (If you want to try, the way to prove this is to use the fact that all you can do with unmarked rulers and compasses is to find the intersection between two lines, which only gives you arithmetical operations, find the intersection between a line and a circle, which gives you square roots, and intersections between circles and circles, which gives you square roots.) Can you see why this means that a number in a constructible field extension (as defined above) can be constructed using only an unmarked ruler and compass, and that only numbers in constructible field extensions can be made in this way?

Next, you show that if you have a cubic polynomial p(x)=ax3+bx2+cx+d whose roots are not rational numbers then the roots are not constructible? This isn’t very difficult to prove but requires some knowledge beyond what I’m assuming for this article.

Here’s the clever part. Suppose you could construct a 20∘ angle, then the number cos(20∘) would be constructible (you can just drop a perpendicular from a point on a line at 20∘ to the horizontal, distance 1 from the origin). However, you can show that α=cos(20∘) is a root of the equation 8×3−6x−1=0 (by expanding cos(60∘) in terms of cos(20∘) using the addition formula). It is easy to show that this has no rational roots, and so the roots are not constructible. This means that we couldn’t have constructed a 20∘ angle, because then we would be able to construct cos(20∘) which is impossible. So a 60∘ angle cannot be trisected.

You can use methods like this to prove other results about what shapes can or can’t be constructed and so forth.

6 Further Reading

http://mathworld.wolfram.com/CubicEquation.html (lots about solving polynomials of degree 3, quite hard)

http://mathworld.wolfram.com/QuarticEquation.html (lots about solving polynomials of degree 4, quite hard)

http://mathworld.wolfram.com/Group.html (information about group theory, quite hard but lots of links to interesting things about group theory)

http://members.tripod.com/~dogschool/ (long introduction to group theory, seems quite good and not too difficult)

http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/Development_group_theory.html (history of work on group theory, quite a lot about Galois theory)

http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/Abstract_groups.html (history of the development of the concept of a group)

http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Galois.html (biography of Galois, whose life story is very dramatic – involving duels and political riots)

http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Abel.html (biography of Abel, another important person in the development of Galois theory)

http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Ruffini.html (biography of Ruffini, who is the first person to have come up with a proof that there are quintic equations which are not soluble by radicals, although his work was little recognised at the time)

http://mathworld.wolfram.com/Trisection.html (trisecting angles, no proofs)

http://mathworld.wolfram.com/ConstructiblePolygon.html (constructible polygons, no proofs)

http://www.cut-the-knot.org/arithmetic/rational.shtml (constructible numbers, with proofs)

http://www.cut-the-knot.com/arithmetic/cubic.shtml (trisecting angles, with proofs)

# Linux Kernel 4.14 on Odroid

Exynos 5422 is a Samsung System-on-a-chip (SoC) that has been at the core of Hardkernel’s products for several years. Starting with the high-end ODROID-XU3, it has been released later in a more affordable variant, the ODROID-XU3 Lite; went through a completely redesign in the ODROID-XU4 and XU4Q, and recently found itself at the core of the new ODROID-HC1 and MC1, geared towards NAS usage and clusters, respectively.

Initially released with Linux kernel version 3.10, there has been many tries to update the Exynos 5422-based ODROID products to a more recent kernel, with experimental kernels released for versions 4.0, 4.2, 4.4, and 4.8 by the community, until Hardkernel helped developed and released a stable kernel version 4.9.

During each kernel development cycle, the SoC gained more updates in the mainline kernel due to the efforts of Samsung and the community. Thus, it is getting easier to get updated to the latest version of the kernel. In fact, for a while, Exynos 5422-based ODROIDs can use the mainline kernel without modifications. The issue however is that mainline version does not have all the drivers included and some systems won’t work.

The next kernel with Long Time Support (LTS) is version 4.14, due to be released in November. Coincidentally, it was recently revealed that LTS kernel support is being extended to 6 years. This means that version 4.14 will get support until the end of 2022. This is great news for the owners of small, extensible, powerful and inexpensive boards such as the ODROIDs.

This kernel version becomes particularly attractive for the Exynos 5422 ODROIDs, especially since it includes important fixes for the hardware video decoder and encoder (MFC), the hardware scaler and color space converter (GScaler), and a brand new driver for the HDMI CEC, that exposes the device as a infrared remote control.

In addition, there are a myriad of fixes from the version 4.9 maintained by Hardkernel that can benefit ODROID users, such as improvements to the EXT4 and BTRFS filesystems, improvements to the kernel-based virtual machine (KVM), new and updated WiFi drivers, and improvements to the media drivers (for e.g. better TV tuners support).

The community stepped in and started fixing the remaining issues even before the 4.14 kernel is released:

Mali drivers were updated to version r20p0

Support was added for the Heterogeneous Multi-Processing (HMP) CPU scheduler

Fixes for the USB3 ports in the ODROID

Fix for the Gigabit Ethernet interface

Added support for interfaces such as the power button, SPI, ADC, GPIOs

HDMI Sound driver for the ODROID-XU4

Improvements for the emmc/sd card including support for higher speeds

Improved support for the virtual machine hypervisor

Enabled support for the hardware watchdog

Added support for the CPU hardware performance counters (PMU)

Included the official support for ODROID-HC1 (scheduled for the kernel version 4.15)

Added support for extra CPU frequencies, and improved thermal characteristics

Added support for Samsung CPU ASV tables to improve CPU voltage selection and thermals

With most fixes and patches developed or imported from kernel 4.9, kernel version 4.14 is already ready for public testing. Those interested can download, compile, and install the kernel on the official Hardkernel Ubuntu distribution using these instructions:

$ git clone –depth 1 –single-branch -b odroidxu4-4.14.y https://github.com/mihailescu2m/linux

$ cd linux

$ wget https://gist.github.com/mihailescu2m/115c9e2135f9b12f3d05669e18137c3d -O .config

$ make -j 8 zImage dtbs modules

$ sudo cp arch/arm/boot/zImage arch/arm/boot/dts/*.dtb /media/boot

$ sudo cp .config /media/boot/config

$ sudo make modules_install

$ kver=`make kernelrelease`

$ sudo cp .config /boot/config-${kver}

$ cd /boot

$ sudo update-initramfs -c -k ${kver}

$ sudo mkimage -A arm -O linux -T ramdisk -a 0x0 -e 0x0 -n initrd.img-${kver} -d initrd.img-${kver} uInitrd-${kver}

$ sudo cp uInitrd-${kver} /media/boot/uInitrd

Feedback and testing results are welcomed on the “Kernel 4.14 debugging party” forum thread at http://bit.ly/2ltTPbD.

# Edoardo Brotto: Music + Photos

Edoardo Brotto: Music + Photos

Edoardo Brotto studied Engeneering at University of Padua and piano with M°Victoria Pontecorboli, M° Federica Righini and M° Riccardo Zadra and he obtained his Diploma with hornors at Conservatory A.Pedrollo in Vicenza. He continued his studies with M°Aleksandar Madzar at the Koninklijk Conservatorium in Brussel and in 2015 he Master graduated with the highest honors in Piano. He attended a post master program reserved for the best students at the Koninklijk Conservatorium. Edoardo won several prizes in national and international piano competition and he has been awared as the best student (first prize) of the Conservatory of Vicenza in 2012. He attended various masterclasses and lessons with Andrea Lucchesini, Stefano Bollani, Filippo Gamba, Aleksandar Madzar, Leslie Howard, Riccardo Zadra, Boyan Vodenitcharov, Rolf Plagge, Claudius Tanski and Jan Wijn. He has recently been invited by the Liszt Society to the masterclasses holded by Leslie Howard and to the International Festival Schiermonnikoog.

Edoardo has a peculiar talent for classical improvisation, developed as soon as he started playing piano. His improvisations in the style of Rachmaninov and Chopin are very appreciated in the web and recently he has been discovered and broadcasted four times by Classic FM.

Thanks to the combination of his arts he has been invited to hold a photo exhibition and play an improvisations concert in Luxembourg at the Kinneksbond.

Edoardo gave concerts and recitals in Cesena at “Sala Concerti Luigi Dallapiccola”, in Vicenza at “Sala Concerti del Conservatorio” and at “Palazzo Leoni Montanari”, in Bassano at “Palazzo Roberti”, in Belluno at “Ex Chiesa di Santa Maria dei Battuti”, in the city hall of Roana, in Bruxelles at “Kleine Zavel Concert Hall”, at the “Royal Concert Hall” with the Rachmaninov’s Third Concerto Op.30, at the “Schouwburg De Lawei” in Drachten, at the “Singelkerk” in Amsterdam and in Leeuwarden at the “Doppsgezinde Kerk”. Edoardo plays often in duo with the cellist Wytske Holtrop with whom has also been interviewed by Omrop Fryslân radio/tv in August 2016.

Edoardo is also a nature photographer, specialized in landscapes and nightscapes. He was a pioneer in night photography being one of the first photographers to succesfully shoot the “arched Milky Way” by using his own particular panoramic technique. He has been published on “The Daily Telegraph”, Fotografia Reflex, Meridiani Montagne, Asferico, National Geographic, he collaborated with the British company Bracroft Media which allowed him worldwide publications of his night-portfolio stories and he has been published on the book “Dolomiti Photo – The great photographers of the Dolomites”. A complete interview is online on RewindMagazine. He was finalist at the prestigious Sony World Photography Award 2011 with his famous “The Crown of the Dolomites”, which was also the most popular image in 1x.com for over three years. Together with his Dreamerlandscape’s former colleagues, he exposed his portfolios in several photo exhibitions.

# Tutorial for Dynamic Programming

Tutorial for Dynamic Programming

Introduction

Cold War between Systematic Recursion and Dynamic programming

Problem : Minimum Steps to One

Identifying the State

Problem : Longest Increasing subsequence

Problem : Longest Common Subsequence (LCS)

Memory Constrained DP

Practice Problems

Finding nth Fibonacci number in O(log n)

Dynamic programming (usually referred to as DP ) is a very powerful technique to solve a particular class of problems. It demands very elegant formulation of the approach and simple thinking and the coding part is very easy. The idea is very simple, If you have solved a problem with the given input, then save the result for future reference, so as to avoid solving the same problem again.. shortly ‘Remember your Past’ 🙂 . If the given problem can be broken up in to smaller sub-problems and these smaller subproblems are in turn divided in to still-smaller ones, and in this process, if you observe some over-lapping subproblems, then its a big hint for DP. Also, the optimal solutions to the subproblems contribute to the optimal solution of the given problem ( referred to as the Optimal Substructure Property ).

There are two ways of doing this.

1.) Top-Down : Start solving the given problem by breaking it down. If you see that the problem has been solved already, then just return the saved answer. If it has not been solved, solve it and save the answer. This is usually easy to think of and very intuitive. This is referred to as Memoization.

2.) Bottom-Up : Analyze the problem and see the order in which the sub-problems are solved and start solving from the trivial subproblem, up towards the given problem. In this process, it is guaranteed that the subproblems are solved before solving the problem. This is referred to as Dynamic Programming.

Note that divide and conquer is slightly a different technique. In that, we divide the problem in to non-overlapping subproblems and solve them independently, like in mergesort and quick sort.

In case you are interested in seeing visualizations related to Dynamic Programming try this out.

Complementary to Dynamic Programming are Greedy Algorithms which make a decision once and for all every time they need to make a choice, in such a way that it leads to a near-optimal solution. A Dynamic Programming solution is based on the principal of Mathematical Induction greedy algorithms require other kinds of proof.

# Shell Check

Finds bugs in your shell scripts.

You can cabal, apt-get, yum or brew install it locally right now.

How to use

On the web

From your terminal

In your editor

In your build or test suites

Installing

Travis CI Setup

Compiling from source

Installing Cabal

Compiling ShellCheck

Running tests

Gallery of bad code

Quoting

Conditionals

Frequently misused commands

Common beginner’s mistakes

Style

Data and typing errors

Robustness

Portability

Miscellaneous

Testimonials

Ignoring issues

Reporting bugs

Contributing

Copyright

# Weingut Haussmann

raben-Trarbach, Moseltreffpunkt für Weinfreunde umgeben von einer einmaligen Weinlandschaft.

Hier widmen wir uns seit Generationen der Erzeugung von qualitativ hochwertigem Moselwein.

In naturnahem Weinbau wird im Steilhang auf mineralhaltigem Schieferboden, neben der Rivaner-Traube, hauptsächlich die Riesling-Rebe angebaut. Durch reduzierten Rebschnitt sowie selektiver Lese (Ernte) der Trauben, wird der Ertrag zu Gunsten bester Qualität begrenzt.

Im Familienbesitz befinden sich Weinberge in den Weinlagen Würzgarten, Kräuterhaus, Königsberg und Taubenhaus.

Im Gewölbekeller erfolgt ein traditioneller Weinausbau im Einklang mit moderner Kellerwirtschaft.

Fortschrittliche Weinkultur garantiert einen unverwechselbaren, feinfruchtigen Charakter und eine gute Lagerfähigkeit unserer Weine.

Bei der Ernte ausgelesene Trauben, schonend gekeltert, prägen unseren Rieslingwein für die Versektung.

Durch das Champagnerverfahren mit klassischer Flaschengärung, einem ausgewogenem Hefelager und Abrütteln von Hand, erhält unser Sekt einen feinperlige, fruchtige Art und macht ihn zu einem Erlebnis.

Hier ist unverfälschter Weingenuss zu Hause, wir lassen Sie gerne daran teilhaben!

Ihr Stefan Stassen

Stefan Stassen