You must be careful what you call linear. Linear is often used sloppy, as in your description
This is necessary but not sufficient because you cannot write ##y=ax+k## as
if ##k\neq 0.## ##y=ax+0=(a)\cdot x ## is linear and a description with a ##1\times 1## matrix ##(a).## ##y(x)=ax+k \,(k\neq 0)## is strictly speaking not linear since it fails ##y(0)=0## and should be called affine linear.
However, people often speak of linear even if it is not: in school ##\left[y=ax+k\right]##, in physics when the dominant approximation term is meant ##\left[y(x)=a_0+a_1x+o(x^2)\right]## or a tangent space at a point ##p## ##\left[\{p\}+V\right]##, in computer science if e.g. the runtime of an algorithm is ##O(n)\sim an+k##, in statistics for a linear regression ##\left[y=(a)x+\vec{k}\right]##. You should not call it linear in abstract algebra, linear algebra, or analytical geometry. And you should always be aware of the two different usages of linear.