q$, then this test does not work. For $q=2^l, d=q/2$, this test fails for the following function. %Even when $d$ is half, here is a polynomial: \paragraph{A function for which the tester fails:} \begin{align*} f(X_1 \dots X_m) &= X_1^d\cdot X_2^d\\ f|_{a+tb}&= (a_1+ tb_1)^d \cdot (a_2+ tb_2)^d\\ & = A \cdot t^{2d} + B \cdot t^{d} + C\\ & = A \cdot t + B \cdot t^{d} + C\\ \end{align*} So, the polynomial is degree $d$ on all points and this test accepts with probability 1.\\ \begin{remark} Low degree testing works great for $d < q/2$, but fails at $d=q/2$ as shown above. Local testability works for these codes but there are barriers both algebraic and probabilistic. \end{remark} \section{General Questions} We would like to know the influence of locality on the usual parameters viz. $n,k$ of error correcting codes. There are two extreme regimes that we consider, viz: low queries and high rate. \subsection{Locally Decodable Code parameters} \subsubsection{Low query:} For small values of $l$, we know a few results. For $l=1$, LDC's don't exist beyond a finite message length. ~\cite{katz2000efficiency} For $l=2$, we cannot have an efficient family of LDCs, there is exponential growth in $n$ and $k$. There are lower bounds for $l>3$, that show sub-exponential growth. In general, we must have: $n\geq k^{1+1/l}$. On the positive side, for $l=3$, there is construction that achieves $n \leq \exp( \exp (\sqrt[]{k}) )$ ~\cite{yekhanin2008towards,Efremenko09}. If we impose the conditions $q=2, l=2$, then we can get $n = \exp(k)$ lower bound. For larger alphabets $q \approx l$, we get better constructions. ~\cite{dvir20162} \subsubsection{High Rate} Here, we consider the regime of rate $ R \approx 1 - \delta$. The minimum $l$ we can get is $l = n^{o(1)} = \exp( \widetilde{\sqrt[]{k}} )$ \cite{kopparty2015high} \subsection{Locally Testable Code parameters} \subsubsection{Low Query} For $l=3$, there is a construction that achieves $n= k \poly \log k$. The rate here is effectively zero, but this is still considered very respectable. \subsubsection{High Rate} We consider the rate to be \[R \approx 1 - \delta\] There are codes that achieve $l= \exp( \poly ( \log \log k)) $. We will talk about this in next few lectures. \section{Practical Application} In cloud storage, locality in the context of coding theory found a practical application. The errors relevant in this setting are erasures. Consider a number of servers in locations spread all over the globe together storing a symbol from a large alphabet. We consider the model of erasures, whereby we denote the failure of a server as an erasure. Erasure of such a server is a significant event and the data need to be recovered. This may be of two kinds: \begin{itemize} \item frequent single erasures \item occasional catastrophic multiple erasures \end{itemize} Clearly, if we can recover from multiple erasures, we will be able to recover from single erasures. However, we require the guarantee that single erasures can be recovered quickly. Multiple erasures can be less efficient. Such codes were defined as follows. \begin{definition}{($l,d)$ Locally Recoverable Code \cite{gopalan2012locality}} %We define a systematic code $C$ to be $l,d$ locally recoverable code (LRC) A systematic code $C$ of distance $d$ with encoding \[E:m \rightarrow (m,p)\] (where $p$ denotes the parities) is $(l,d)-$locally recoverable, with locality $l$ if for every $\forall i \in[k]$ there exists a subset $S \subseteq [n] \setminus \{i\} : |S| \leq l$, such that: \[ (m,p)_S \implies m_i\] \end{definition} %and a function $\phi_i$ such that we have $m_i = \phi_i({x_j , j ∈ S_i})$. \newpage %%%%%%%% \bibliographystyle{alpha} \bibliography{bib} \end{document}