\documentclass[12pt]{article}%
\usepackage{amsfonts}
\usepackage{fancyhdr}
\usepackage{comment}
\usepackage[a4paper, top=2.5cm, bottom=2.5cm, left=2.2cm, right=2.2cm]%
{geometry}
\usepackage{times}
\usepackage{amsmath}
\usepackage{changepage}
\usepackage{amssymb}
\usepackage{enumitem}


\usepackage{algorithm}
\usepackage[noend]{algpseudocode}


\usepackage{scrextend}

\usepackage{graphicx}%
\setcounter{MaxMatrixCols}{30}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}[theorem]{Acknowledgement}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}{Axiom}
\newtheorem{case}[theorem]{Case}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conclusion}[theorem]{Conclusion}
\newtheorem{condition}[theorem]{Condition}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{criterion}[theorem]{Criterion}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{exercise}[theorem]{Exercise}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{solution}[theorem]{Solution}
\newtheorem{summary}[theorem]{Summary}
\newenvironment{proof}[1][Proof]{\textbf{#1.} }{\ \rule{0.5em}{0.5em}}

\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\Z}{\mathbb{Z}}


\documentclass{minimal}
\usepackage{mathtools}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\begin{document}

\title{Homework 3}
\author{Jeffery Russell}
\date{\today}
\maketitle

\section{Strassen's algorithm}



\begin{enumerate}[label=(\alph*)]

\item 

$$
\begin{bmatrix}
1 & 3\\
7 & 5
\end{bmatrix} \odot
\begin{bmatrix}
6 & 8\\
4 & 2
\end{bmatrix}\\*
$$

$S_1 = 6, S_2 = 4$\\
$S_3 = 12, S_4 = -2$\\
$S_5 = 5, S_6 = 8$\\
$S_9 = -6, S_{10} = 14$\\
\\
$P_1 = 1*6 = 6, P_2 = 4*2 = 8$\\
$P_3 = 6*12 = 72, P_4 = -2*5 = -10$\\
$P_5 = 6*8 = 48, P_6 = -2*6 = -12$\\
$P_7 = -6*14 = -84$\\

$$
= 
\begin{bmatrix}
c_{11} & c_{12}\\
c_{21} & c_{22}
\end{bmatrix} = 
\begin{bmatrix}
(P_5 + P_4 - P_2 + P_6) & (P_1+P_2)\\
(P_3+P_4) & (P-5+P_1 - P_3 + P_7)
\end{bmatrix} 
$$

$$
= 
\begin{bmatrix}
(48 + (-10) - 8 + (-12)) & (6 + 8)\\
(72 + (-10)) & (48 + 6 - 72 - (-84))
\end{bmatrix} = 
\begin{bmatrix}
18 & 14\\
62 & 66
\end{bmatrix}
$$


\item 

$$
 A \odot B = 
  \begin{cases}
   A*B & \text{if } A_{rows} = 1 \\
   \begin{bmatrix}
c_{11} & c_{12}\\
c_{21} & c_{22}
\end{bmatrix}       & \text{otherwise}
  \end{cases}
$$

Where:
$A =
\begin{bmatrix}
A_{11} & A_{12}\\
A_{21} & A_{22}
\end{bmatrix}$

$B =
\begin{bmatrix}
B_{11} & B_{12}\\
B_{21} & B_{22}
\end{bmatrix}$

$c_{11} = A_{11} \odot B_{11} + A_{12} \odot B_{21}$\\
$c_{12} = A_{11} \odot B_{12} + A_{12} \odot B_{22}$\\
$c_{21} = A_{21} \odot B_{11} + A_{22} \odot B_{21}$\\
$c_{22} = A_{21} \odot B_{12} + A_{22} \odot B_{22}$

\newpage

\begin{algorithm}
\caption{Strassen's Algorithm}\label{euclid}
\begin{algorithmic}[1]
\Procedure{Strassen(A,B):}{}
\State $\textit{n} \gets \text{number of rows in}\textit{ A}$
\State $C \gets \textit{new n by n matrix}$
\If {$\textit{n} = 1$}
\State $c \gets A[1][1] * B[1][1]$ 
\Else{}
\State Sub partition A into 4 equal matrix quadrants A11, A12, A21, A22
\State Sub partition B into 4 equal matrix quadrants B11, B12, B21, B22

\State $s1 \gets B12 - B22$ 
\State $s2 \gets A11 + A12$ 
\State $s3 \gets A21 + A22$
\State $s4 \gets B21 - B11$
\State $s5 \gets A11 + A22$
\State $s6 \gets B11 + B22$
\State $s7 \gets A12 - A22$
\State $s8 \gets B21 + B22$ 
\State $s9 \gets A11 - A21$
\State $s10 \gets B11 + B12$
\State $p1 \gets Strassen(A11,S1)$ 
\State $p2 \gets Strassen(S2,B22)$ 
\State $p3 \gets Strassen(S3,B11)$
\State $p4 \gets Strassen(A22,S4)$
\State $p5 \gets Strassen(S5,S6)$
\State $p6 \gets Strassen(S7,S8)$
\State $p7 \gets Strassen(S9,S10)$
\State $C[1][1] \gets p5 + p4 - p2 + p6$
\State $C[1][2] \gets p1 + p2$
\State $C[2][1] \gets p3 + p4$
\State $C[2][2] \gets p5 + p1 - p3 + p7$
\EndIf
\State \textbf{return} C
\EndProcedure
\end{algorithmic}
\end{algorithm}

\item

$T(1) = 1$\\
$T(n) = 7T(\frac{n}{2}) + \frac{9}{2}n^2$\\
$T(2^0) = 1$\\
$T(2^m) = 7T(2^{m-1}) + \frac{9}{2}(2^m)^2$\\
$= 7(7T(n^{m-2}) + \frac{9}{2}(2^{m-1})^2) + \frac{9}{2}(2^m)^2$\\
$= 7^2T(n^{m-2}) + 7*\frac{9}{2}(2^{m-1})^2 + 7^0*\frac{9}{2}(2^m)^2$\\
$= 7^2(7T(2^{m-3}) + \frac{9}{2}(2^{m-2})^2) + 7*\frac{9}{2}(2^{m-1})^2 + 7^0*\frac{9}{2}(2^m)^2$\\
$= 7^3T(2^{m-3}) + 7^2\frac{9}{2}(2^{m-2})^2 + 7*\frac{9}{2}(2^{m-1})^2 + 7^0*\frac{9}{2}(2^m)^2$\\
$= 7^kT(2^{m-k}) + 7^{(k-1)}\frac{9}{2}(2^{m-(k-1)})^2 + ... + 7^{k-k}*\frac{9}{2}(2^{m-(k-k)})^2$\\

Let $m = k$\\
$T(2^m)= 7^mT(2^{m-m}) + 7^{(m-1)}\frac{9}{2}(2^{m-(m-1)})^2 + ... + 7^{m-m}*\frac{9}{2}(2^{m-(m-m)})^2$\\
$T(2^m)= 7^m + 7^{(m-1)}\frac{9}{2}(2^{1})^2 + ... + 7^{0}*\frac{9}{2}(2^{m})^2$\\
$= 7^m + \frac{9}{2}\sum_{k=0}^{m-1}7^k(2^{m-k})^2$\\
$= \frac{9}{2}\sum_{k=0}^{m}7^k(2^{2(m-k)}) - \frac{9}{2}7^m$\\
$= \frac{9}{2}\sum_{k=0}^{m}7^k(2^{2m})(2^{-2k}) - \frac{9}{2}7^m$\\
$= (2^{2m})\frac{9}{2}\sum_{k=0}^{m}7^k(2^{-2k}) - \frac{9}{2}7^m + 7^m$\\
$= (2^{2m})\frac{9}{2}\sum_{k=0}^{m}\frac{7^k}{2^{2k}}) - \frac{7}{2}7^m$\\
$= (2^{2m})\frac{9}{2}\sum_{k=0}^{m}(\frac{7}{4})^k - \frac{7}{2}7^m$\\
$= (2^{2m})\frac{9}{2}(\frac{\frac{7}{4}^{m+1} -1)}{1.75-1}) - \frac{7}{2}7^m$\\
$= (2^m)^2\frac{9}{2}\frac{4}{3}((\frac{7}{4})^{m+1}-1) - (\frac{7}{2})7^m$\\
$= 6(2^m)^2((\frac{7}{4})^{m+1}-1) - (\frac{7}{2})7^m$\\
$= 6(2^m)^2\frac{7}{4} - 6(2^m)^2 - (\frac{7}{2})7^m$\\
$= \frac{21*7^m}{2} - 6(2^m)^2 - (\frac{7}{2})7^m$\\
$= 7*7^m - 6 * 4^m$\\
$T(n)= 7*n^{lg(7)} - 6 * n^2$\\
$T(n) \approx 7*n^{2.81} - 6 * n^2$\\

\item Modifying Strassen's Algorithm

To make Strassen's algorithm to work with any n x n matrix we would pad the two matrices being multiplied with zeros to become two m x m matrix where m is a power of 2. The answer would be the result but only taking out the n x n section out of the m x m product.\\

To prove that this is still asymptotically equal we will demonstrate that at most the dimensions of the matrix being multiply double. 

let m = length of new padded matrices being multiplied \\
let n = length of original matrices being multiplied \\
Since:
$2^{k-1} < n < 2^k = m$\\
Note:
$2n > 2^{k+1} > m$\\
Hence:
$T(n) \in \Theta((2n)^{lg(7)}) = \Theta(n^{lg7})$


\item

$(a+bi)(c+di)$\\
$= ac + adi + bci + bdi^2$\\
$= ac + adi + bci - bd$\\
$Real Part= ac - bd$\\
$Imaginary Part= (a + b)(c+d) -ac - bd$\\

Consider:\\
$A_1 = ac$\\
$A_2 = bd$\\
$A_3 = (a+b)(c+d)$\\

Then:\\
Real Part = $A_1 - A_2$\\
Imaginary Part = $A_3 - A_1 - A_2$\\

\end{enumerate}


\section{Recurrence}

\begin{enumerate}[label=(\alph*)]

\item
\textbf{Lemma 1}: For any n $\in \mathbb{N}, \left\lfloor\dfrac{n+1}{2}\right\rfloor = \left\lceil\dfrac{n}{2}\right\rceil$\\

\textbf{Proof By Cases:}\\
\textbf{Even Case:}\\
n can be represented as 2m for some value of m\\
$LHS = \left\lfloor\dfrac{n+1}{2}\right\rfloor = \left\lfloor\dfrac{2m+1}{2}\right\rfloor$\\
$=\left\lfloor m + \dfrac{1}{2}\right\rfloor = m$\\
$RHS = \left\lceil\dfrac{n}{2}\right\rceil = \left\lceil\dfrac{2m}{2}\right\rceil$
$=\left\lceil m \right\rceil = m = LHS$

\textbf{Odd Case:}\\
n can be represented as (2m + 1) for some value of m\\
$LHS = \left\lfloor\dfrac{n+1}{2}\right\rfloor = \left\lfloor\dfrac{2m +1+1}{2}\right\rfloor$\\
$=\left\lfloor m + 1\right\rfloor = m +1$\\
$RHS = \left\lceil\dfrac{n}{2}\right\rceil = \left\lceil\dfrac{2m +1}{2}\right\rceil$
$=\left\lceil m + \dfrac{1}{2} \right\rceil = m +1 = LHS$

$\Box$\\

\item
\textbf{Lemma 2}: For any n $\in \mathbb{N}, \left\lfloor\dfrac{n}{2}\right\rfloor + 1 = \left\lceil\dfrac{n+1}{2}\right\rceil$

\textbf{Proof By Cases:}\\
\textbf{Even Case:}\\
n can be represented as 2m for some value of m\\
$LHS = \left\lfloor\dfrac{n}{2}\right\rfloor +1= \left\lfloor\dfrac{2m}{2}\right\rfloor + 1$\\
$=\left\lfloor m \right\rfloor = m + 1$\\
$RHS = \left\lceil\dfrac{n + 1}{2}\right\rceil = \left\lceil\dfrac{2m + 1}{2}\right\rceil$
$=\left\lceil m + \dfrac{1}{2} \right\rceil = m + 1 = LHS$

\textbf{Odd Case:}\\
n can be represented as (2m + 1) for some value of m\\
$LHS = \left\lfloor\dfrac{n}{2}\right\rfloor + 1 = \left\lfloor\dfrac{2m + 1}{2}\right\rfloor + 1 = \left\lfloor m +\dfrac{1}{2}\right\rfloor + 1$\\
$=\left\lfloor m \right\rfloor + 1 = m +1$\\
$RHS = \left\lceil\dfrac{n + 1}{2}\right\rceil = \left\lceil\dfrac{2m + 1 +1}{2}\right\rceil$
$=\left\lceil m + 1 \right\rceil = m +1 = LHS$\\

$\Box$\\

\item
\textbf{Let:} $T(1) = 0, T(n) = T(\left\lfloor\dfrac{n}{2}\right\rfloor) + T(\left\lceil\dfrac{n}{2}\right\rceil) + n$\\
\textbf{Let:} $D(n) = T(n+1) - T(n)$\\

\textbf{Lemma 3:} $D(1) = 2$\\
\textbf{Direct Proof:}\\
$D(1) = T(2) - T(1)$\\
$= T(\left\lfloor\dfrac{2}{2}\right\rfloor) + T(\left\lceil\dfrac{2}{2}\right\rceil) + 2 - T(0)$\\
$= T(1) + T(1) + 2 - T(0)$\\
$= 2$\\
$\Box$\\


\textbf{Lemma 4:} $D(n) = D(\left\lfloor\dfrac{n}{2}\right\rfloor) + 1$\\
\textbf{Direct Proof:}\\
$D(n) = T(n+1) - T(n)$\\
$=T(\left\lfloor\dfrac{n + 1}{2}\right\rfloor) + T(\left\lceil\dfrac{n + 1}{2}\right\rceil) + (n+1) - T(n)$\\
$=T(\left\lceil\dfrac{n}{2}\right\rceil) + T(\left\lfloor\dfrac{n}{2}\right\rfloor + 1) + (n+1) - T(n)$ \textit{by lemma 1, 2}\\
$=T(\left\lceil\dfrac{n}{2}\right\rceil) + T(\left\lfloor\dfrac{n}{2}\right\rfloor + 1) + (n+1) - T(\left\lfloor\dfrac{n}{2}\right\rfloor) - T(\left\lceil\dfrac{n}{2}\right\rceil) - n$\\
$=T(\left\lfloor\dfrac{n}{2}\right\rfloor + 1) - T(\left\lfloor\dfrac{n}{2}\right\rfloor) +1$\\
$= D(\left\lfloor\dfrac{n}{2}\right\rfloor) + 1$\\
$\Box$\\

\item
\textbf{Lemma 5:} For any $n \in  \mathbb{N}$, if $n > 1$ and n is even then :\\
$\left\lfloor lg(\left\lfloor\dfrac{n}{2}\right\rfloor)\right\rfloor = \left\lfloor\ lg(n) -1\right\rfloor$\\
\textbf{Direct Proof:}\\
Suppose that n is even:\\
$\left\lfloor lg(\left\lfloor\dfrac{n}{2}\right\rfloor)\right\rfloor = \left\lfloor lg(\left\dfrac{n}{2}\right)\right\rfloor$ \textit{since n is even}\\
$= \left\lfloor lg(n) - lg(2)\right\rfloor$\\
$= \left\lfloor lg(n) - 1\right\rfloor$\\
$= \left\lfloor lg(n)\right\rfloor -1$\\
$\Box$\\



\textbf{Lemma 6:} For any $m \in  \mathbb{N}$, if $m > 0$ then:\\
$\left\lfloor lg(\left\lfloor 2m+1 \right\rfloor)\right\rfloor = \left\lfloor\ lg(2m)\right\rfloor$\\
\textbf{Direct Proof:}\\
Let $k = \left\lfloor lg(\left\lfloor 2m+1 \right\rfloor)\right\rfloor$\\
$\left\lfloor lg(\left\lfloor 2m+1 \right\rfloor)\right\rfloor = k \xrightarrow[]{} k \leq lg(2m + 1) < k + 1$\\
$\xrightarrow[]{} 2^k \leq 2m+1 < 2^{k+1}$\\
$\xrightarrow{} 2^{k} -1 \leq 2m < 2^{k+1} -1 \textit{by transitivity}$\\
$\xrightarrow{} 2^k -1 \leq 2m < 2^{k+1}$\\
$\xrightarrow[]{} 2^k \leq 2m < 2^{k+1}$\textit{Since 2m is even}\\
$\xrightarrow{} k \leq lg(2m) < k + 1$\\
$\xrightarrow{}\left\lfloor\ lg(2m)\right\rfloor = k$\\
$\Box$\\


\textbf{Lemma 7:} For any $n \in  \mathbb{N}$, if $n > 1$ and n is odd then :\\
$\left\lfloor lg(\left\lfloor\dfrac{n}{2}\right\rfloor)\right\rfloor = \left\lfloor\ lg(n) -1\right\rfloor$\\
\textbf{Direct Proof:}\\
$\left\lfloor lg(\left\lfloor\dfrac{n}{2}\right\rfloor)\right\rfloor = \left\lfloor\ lg(\dfrac{n-1}{2})\right\rfloor$\textit{Gets an even number since n is odd}\\
$= \left\lfloor\ lg(n-1) - lg(2)\right\rfloor$\\
$= \left\lfloor\ lg(n-1) - 1\right\rfloor$\\
$= \left\lfloor\ lg(n-1)\right\rfloor -1$\\
$= \left\lfloor\ lg(n)\right\rfloor -1$\textit{By lemma 6}\\
$\Box$\\

\textbf{Corollary 1:}
By lemmas 5 and 7, for any $n \in  \mathbb{N}$, if $n > 1$ then :\\
$\left\lfloor lg(\left\lfloor\dfrac{n}{2}\right\rfloor)\right\rfloor = \left\lfloor\ lg(n) -1\right\rfloor$\\


\textbf{Lemma 8:} For any for any $n \in  \mathbb{N}$, if $n > 1$ then $D(n) = \left\lfloor\ lg(n)\right\rfloor +2$\\
\textbf{Proof via Strong Induction:}\\
\textbf{base case: n =1}\\
$D(1) = 2$ \textit{lemma 3}\\
$D(1) = \left\lfloor\ lg(1)\right\rfloor +2$\\
$= 0 + 2 = 2$\\
\textbf{Inductive Step:} Assume proposition holds up to but not including n.\\ Show that n follows.\\
$D(n) = D(\left\lfloor\dfrac{n}{2} \right\rfloor) +1$\\
$= \left\lfloor lg(\left\lfloor \dfrac{n}{2}\right\rfloor)\right\rfloor + 2 + 1$\textit{  By I.H}\\
$=\left\lfloor\ lg(n)\right\rfloor -1 + 2 + 1$ \textit{ Corollary 1}\\
$=\left\lfloor\ lg(n)\right\rfloor +2$\\
$\Box$\\

\item

\textbf{Lemma 9:} $T(n) - T(1) = \sum^{n-1}_{k = 1}D(k)$\\
\textbf{Direct Proof:}\\
$\sum^{n-1}_{k = 1}D(k) = D(1) + D(2) + D(3) + ... + D(n-3) + D(n-2) + D(n-1)$\\
$= T(2) - T(1) + T(3) - T(2) + T(4) - T(3) +\\ ... + T(n-2) - T(n-3) + T(n-1) - T(n-2) + T(n) - T(n-1)$\\
$=T(n)-T(1)$\textit{Due to cancellations}\\
$\Box$\\
\textbf{Corollary 2:}\\
By lemmas 9 and 8, $T(n) = \sum^{n-1}_{k = 1}\left\lfloor\ (lg(n) + 2)\right\rfloor$\\

\item

\textbf{Lemma 10:} $T(n) \in O(nlog(n))$\\
$T(n) = \sum^{n-1}_{k = 1}\left\lfloor\ (lg(n) + 2)\right\rfloor$\\
$= \sum^{n-1}_{k = 1}\left\lfloor\ (lg(n))\right\rfloor  + \sum^{n-1}_{k = 1}2$\\
$\leq nlg(n) + 2n$\\
$\xrightarrow[]{} T(n) \in O(nlog(n))$\\
$\Box$\\


\end{enumerate}


\end{document}
