[proofplan]
Choose bases of $V$ and $W$ and write the matrix $A$ of the [bilinear form](/page/Bilinear%20Form) $B$ in those bases. Under the corresponding dual bases, the map $L_B$ is represented by $A^\top$, while $R_B$ is represented by $A$. Thus the two dimensions in question are the column ranks of $A^\top$ and $A$, equivalently the row rank and column rank of $A$. We prove the needed equality of row and column ranks by reducing $A$ to row-echelon form, where the equality is immediate from the pivot columns.
[/proofplan]
custom_env
admin
[step:Represent the bilinear form by a matrix in chosen bases]
Let $m = \dim_k V$ and $n = \dim_k W$. Choose a basis $(v_1,\dots,v_m)$ of $V$ and a basis $(w_1,\dots,w_n)$ of $W$. Let $(v_1^*,\dots,v_m^*)$ be the [dual basis](/theorems/414) of $V^*$, and let $(w_1^*,\dots,w_n^*)$ be the dual basis of $W^*$.
Define the matrix $A = (a_{ij}) \in k^{m \times n}$ by
\begin{align*}
a_{ij} = B(v_i,w_j)
\end{align*}
for $1 \le i \le m$ and $1 \le j \le n$. By bilinearity, if $v = \sum_{i=1}^m x_i v_i \in V$ and $w = \sum_{j=1}^n y_j w_j \in W$, then
\begin{align*}
B(v,w) = \sum_{i=1}^m \sum_{j=1}^n x_i y_j a_{ij}.
\end{align*}
[/step]
custom_env
admin
[step:Identify $\operatorname{Range}(L_B)$ with the column space of $A^\top$]Let $\Phi_W: W^* \to k^n$ be the coordinate isomorphism determined by the dual basis $(w_1^*,\dots,w_n^*)$, so that
\begin{align*}
\Phi_W(\lambda) = (\lambda(w_1),\dots,\lambda(w_n))
\end{align*}
for each $\lambda \in W^*$. Let $v = \sum_{i=1}^m x_i v_i \in V$, and let $x = (x_1,\dots,x_m)^\top \in k^m$ be its coordinate column vector. For each $1 \le j \le n$,
\begin{align*}
L_B(v)(w_j) = B(v,w_j) = \sum_{i=1}^m x_i a_{ij}.
\end{align*}
Therefore
\begin{align*}
\Phi_W(L_B(v)) = A^\top x.
\end{align*}
Since $\Phi_W$ is a [vector space](/page/Vector%20Space) isomorphism, it preserves dimensions of subspaces. Hence
\begin{align*}
\dim_k \operatorname{Range}(L_B) = \dim_k \operatorname{Range}(A^\top).
\end{align*}[/step]
custom_env
admin
[guided]The point of introducing $\Phi_W$ is to compare the abstract range $\operatorname{Range}(L_B) \subset W^*$ with a concrete subspace of $k^n$. The dual basis $(w_1^*,\dots,w_n^*)$ gives the coordinate isomorphism
\begin{align*}
\Phi_W: W^* \to k^n, \qquad \Phi_W(\lambda) = (\lambda(w_1),\dots,\lambda(w_n)).
\end{align*}
This map is an isomorphism because a functional on $W$ is uniquely determined by its values on the basis vectors $w_1,\dots,w_n$.
Now take $v = \sum_{i=1}^m x_i v_i \in V$ and write $x = (x_1,\dots,x_m)^\top \in k^m$ for its coordinate vector. For each basis vector $w_j$ of $W$, the definition of $L_B$ gives
\begin{align*}
L_B(v)(w_j) = B(v,w_j).
\end{align*}
Using bilinearity of $B$ in the first variable,
\begin{align*}
B(v,w_j) = B\left(\sum_{i=1}^m x_i v_i,w_j\right) = \sum_{i=1}^m x_i B(v_i,w_j) = \sum_{i=1}^m x_i a_{ij}.
\end{align*}
But the $j$-th coordinate of $A^\top x$ is exactly $\sum_{i=1}^m a_{ij}x_i$. Thus
\begin{align*}
\Phi_W(L_B(v)) = A^\top x.
\end{align*}
As $v$ ranges over $V$, its coordinate vector $x$ ranges over all of $k^m$. Therefore $\Phi_W(\operatorname{Range}(L_B))$ is exactly the range of the [linear map](/page/Linear%20Map) $k^m \to k^n$ represented by $A^\top$. Because $\Phi_W$ is an isomorphism, dimensions are preserved, so
\begin{align*}
\dim_k \operatorname{Range}(L_B) = \dim_k \operatorname{Range}(A^\top).
\end{align*}[/guided]
custom_env
admin
[step:Identify $\operatorname{Range}(R_B)$ with the column space of $A$]
Let $\Phi_V: V^* \to k^m$ be the coordinate isomorphism determined by the dual basis $(v_1^*,\dots,v_m^*)$, so that
\begin{align*}
\Phi_V(\mu) = (\mu(v_1),\dots,\mu(v_m))
\end{align*}
for each $\mu \in V^*$. Let $w = \sum_{j=1}^n y_j w_j \in W$, and let $y = (y_1,\dots,y_n)^\top \in k^n$ be its coordinate column vector. For each $1 \le i \le m$,
\begin{align*}
R_B(w)(v_i) = B(v_i,w) = \sum_{j=1}^n a_{ij} y_j.
\end{align*}
Therefore
\begin{align*}
\Phi_V(R_B(w)) = Ay.
\end{align*}
Since $\Phi_V$ is a vector space isomorphism, it preserves dimensions of subspaces. Hence
\begin{align*}
\dim_k \operatorname{Range}(R_B) = \dim_k \operatorname{Range}(A).
\end{align*}
[/step]
custom_env
admin
[step:Prove that $A$ and $A^\top$ have ranges of the same dimension]
We use the elementary row-rank equals column-rank theorem for matrices over a field, and recall its proof in this setting. Let $E \in k^{m \times m}$ be an invertible matrix such that $U = EA$ is in row-echelon form. Left multiplication by $E$ is an isomorphism $k^m \to k^m$, so it maps $\operatorname{Range}(A)$ isomorphically onto $\operatorname{Range}(U)$. Hence
\begin{align*}
\dim_k \operatorname{Range}(A) = \dim_k \operatorname{Range}(U).
\end{align*}
Let $r$ be the number of nonzero rows of $U$. In row-echelon form, the nonzero rows of $U$ are linearly independent, so the row space of $U$ has dimension $r$. Also, the pivot columns of $U$ are linearly independent and every non-pivot column is a linear combination of earlier pivot columns, so $\operatorname{Range}(U)$ has dimension $r$. Therefore
\begin{align*}
\dim_k \operatorname{Range}(A) = r.
\end{align*}
The row space of $A$ has the same dimension as the row space of $U$, because elementary row operations do not change the span of the rows. The row space of $A$ is the column space of $A^\top$, so
\begin{align*}
\dim_k \operatorname{Range}(A^\top) = r.
\end{align*}
Consequently,
\begin{align*}
\dim_k \operatorname{Range}(A) = \dim_k \operatorname{Range}(A^\top).
\end{align*}
[/step]
custom_env
admin
[step:Combine the two matrix identifications]
From the identification of $L_B$ with $A^\top$ and the identification of $R_B$ with $A$, we have
\begin{align*}
\dim_k \operatorname{Range}(L_B) = \dim_k \operatorname{Range}(A^\top)
\end{align*}
and
\begin{align*}
\dim_k \operatorname{Range}(R_B) = \dim_k \operatorname{Range}(A).
\end{align*}
The row-rank equals column-rank argument gives
\begin{align*}
\dim_k \operatorname{Range}(A^\top) = \dim_k \operatorname{Range}(A).
\end{align*}
Therefore
\begin{align*}
\dim_k \operatorname{Range}(L_B) = \dim_k \operatorname{Range}(R_B).
\end{align*}
This is the desired equality of the left and right ranks of $B$.
[/step]