Source: http://www.cs.uleth.ca/~fiori/Math3410LectureSlides/24-Transformations-KernelHandout.pdf