Github Copilot + VSCode + LaTeX
はじめに
最近,ChatGPTをはじめとしたサービスがとても注目されています。GuthubのCopilotを使って,何かLaTeXで使えないか考えてみました。
GuthubのCopilotは私のライセンスだと,60日間は無償です。教育機関だと無償で利用できるので申請してみようかな。
ちょっと使ってみたところ,計算をしながら提案してもらえるようなので,実験してみることにしました。
計算例
次の定積分の計算をすることにしました。
VSCodeとGuthub Copilot
VSCodeでGuthub Copilotを利用する時に機能拡張を入れておきます。
Guthub CopilotからのLaTeXのコードの提案(1)
まずは,提案されるままに書いてみました。
ここからスタート
\begin{align}
\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{dx}{\sin x}
\end{align}
最初のCopilotの提案
\begin{align}
\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{dx}{\sin x}
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{\sin^2 x}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{1-\cos^2 x}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{(1-\cos x)(1+\cos x)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2\cos^2 \frac{x}2}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin^2 \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
&=\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{2\sin^2 \frac{x}2(1-\sin \frac{x}2)(1+\sin \frac{x}2)}dx\\
\end{align}
⑥から同じ結果を繰り返してしまい,copilotも諦めたのか⑫のところで打ち切られました。
③のあとは
Cοpilotの提案の修正
\begin{align}
&t=\cos x %ここからスタート
\begin{align}
&t=\cos x\quad\text{とおくと}\\
&\begin{cases}
x=\frac{\pi}4\Rightarrow t=\frac{\sqrt{2}}2\\
x=\frac{\pi}2\Rightarrow t=0
\end{cases}\\
&\therefore\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{(1-\cos x)(1+\cos x)}dx
=\int_{\frac{\sqrt{2}}2}^0\dfrac{dt}{(1-t)(1+t)}\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{A}{1-t}+\dfrac{B}{1+t}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{A(1+t)+B(1-t)}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{1-t^2}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt\\
&=\int_{\frac{\sqrt{2}}2}^0\left(\dfrac{(A+B)+(A-B)t}{(1-t)(1+t)}\right)dt
\end{align}
⑤積分区間の置き換えはバッチリです!
⑥部分分数分解の積分で止まってますね。
⑤の後に微分の結果も入れたいので,ちょっと修正します。
Cοpilotの提案の修正(2)
\begin{align}
&t=\cos x \quad\text{とおくと}\\
&\begin{cases}
x=\frac{\pi}4\Rightarrow t=\frac{\sqrt{2}}2\\
x=\frac{\pi}2\Rightarrow t=0
\end{cases}\\
&dt= %ここからスタート
\begin{align}
&t=\cos x\quad\text{とおくと}\\
&\begin{cases}
x=\frac{\pi}4\Rightarrow t=\frac{\sqrt{2}}2\\
x=\frac{\pi}2\Rightarrow t=0
\end{cases}\\
&dt=-\sin xdx\\
&\therefore\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{(1-\cos x)(1+\cos x)}dx\\
&=\int_{\frac{\sqrt{2}}2}^0\dfrac{-dt}{(1-t)(1+t)}\\
&=\int_0^{\frac{\sqrt{2}}2}\dfrac{dt}{(1-t)(1+t)}\\
&=\int_0^{\frac{\sqrt{2}}2}\dfrac{dt}{1-t^2}\\
&=\left[\dfrac12\log\left|\dfrac{1+t}{1-t}\right|\right]_0^{\frac{\sqrt{2}}2}\\
&=\dfrac12\log\left|\dfrac{1+\frac{\sqrt{2}}2}{1-\frac{\sqrt{2}}2}\right|\\
&=\dfrac12\log\left|\dfrac{1+\sqrt{2}}{1-\sqrt{2}}\right|\\
&=\dfrac12\log\left|\dfrac{(1+\sqrt{2})^2}{1-2}\right|\\
&=\dfrac12\log\left|\dfrac{3+2\sqrt{2}}{-1}\right|\\
&=\dfrac12\log\left|-(3+2\sqrt{2})\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
&=\dfrac12\log\left|3+2\sqrt{2}\right|\\
\end{align}
今度はちゃんと計算していますね。
⑰からは同じ結果ですが,この⑰を答えとしてもいいですね。
⑭をみると,
\begin{align}
&t=\cos x\quad\text{とおくと}\\
&\begin{cases}
x=\frac{\pi}4\Rightarrow t=\frac{\sqrt{2}}2\\
x=\frac{\pi}2\Rightarrow t=0
\end{cases}\\
&dt=-\sin xdx\\
&\therefore\int_{\frac{\pi}4}^{\frac{\pi}2}\dfrac{\sin x}{(1-\cos x)(1+\cos x)}dx\\
&=\int_{\frac{\sqrt{2}}2}^0\dfrac{-dt}{(1-t)(1+t)}\\
&=\int_0^{\frac{\sqrt{2}}2}\dfrac{dt}{(1-t)(1+t)}\\
&=\int_0^{\frac{\sqrt{2}}2}\dfrac{dt}{1-t^2}\\
&=\left[\dfrac12\log\left|\dfrac{1+t}{1-t}\right|\right]_0^{\frac{\sqrt{2}}2}\\
&=\dfrac12\log\left|\dfrac{1+\frac{\sqrt{2}}2}{1-\frac{\sqrt{2}}2}\right|\\
&=\dfrac12\log\left|\dfrac{1+\sqrt{2}}{1-\sqrt{2}}\right|\\
&=\dfrac12\log\left|\dfrac{(1+\sqrt{2})^2}{1-2}\right|\\
&=\log\left(1+\sqrt{2}\right)
\end{align}
全体としてもいい感じです!
さらにCοpilotの提案を続けると...
この後に続き得る形で,
を計算のCopilotの提案をお願いしました。
\begin{align}
\int_{0}^{\frac{\pi}3}\dfrac{dx}{\cos x}
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{\cos^2 x}dx\\
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{1-\sin^2 x}dx\\
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{(1-\sin x)(1+\sin x)}dx
\end{align}
\begin{align}
&t=\sin x\quad\text{とおくと}\\
&\begin{cases}
x=0\Rightarrow t=0\\
x=\frac{\pi}3\Rightarrow t=\frac{\sqrt{3}}2
\end{cases}\\
&dt=\cos xdx\\
&\therefore\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{(1-\sin x)(1+\sin x)}dx\\
&=\int_{0}^{\frac{\sqrt{3}}2}\dfrac{dt}{(1-t)(1+t)}\\
&=\int_{0}^{\frac{\sqrt{3}}2}\dfrac{dt}{1-t^2}\\
&=\left[\dfrac12\log\left|\dfrac{1+t}{1-t}\right|\right]_0^{\frac{\sqrt{3}}2}\\
&=\dfrac12\log\left|\dfrac{1+\frac{\sqrt{3}}2}{1-\frac{\sqrt{3}}2}\right|\\
&=\dfrac12\log\left|\dfrac{1+\sqrt{3}}{1-\sqrt{3}}\right|\\
&=\dfrac12\log\left|\dfrac{(1+\sqrt{3})^2}{1-3}\right|\\
&=\log\left(1+\sqrt{3}\right)
\end{align}
前回の計算を学習したのか,前半はいい感じです。⑲〜㉑あたりの変換もバッチリです。
しかし,㉖から㉗への計算が違っています。人間みたいな間違いですね。
こちらで,修正して続きを提案してもらいます。
\begin{align}
\int_{0}^{\frac{\pi}3}\dfrac{dx}{\cos x}
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{\cos^2 x}dx\\
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{1-\sin^2 x}dx\\
&=\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{(1-\sin x)(1+\sin x)}dx
\end{align}
\begin{align}
&t=\sin x\quad\text{とおくと}\\
&\begin{cases}
x=0\Rightarrow t=0\\
x=\frac{\pi}3\Rightarrow t=\frac{\sqrt{3}}2
\end{cases}\\
&dt=\cos xdx\\
&\therefore\int_{0}^{\frac{\pi}3}\dfrac{\cos x}{(1-\sin x)(1+\sin x)}dx\\
&=\int_{0}^{\frac{\sqrt{3}}2}\dfrac{dt}{(1-t)(1+t)}\\
&=\int_{0}^{\frac{\sqrt{3}}2}\dfrac{dt}{1-t^2}\\
&=\left[\dfrac12\log\left|\dfrac{1+t}{1-t}\right|\right]_0^{\frac{\sqrt{3}}2}\\
&=\dfrac12\log\left|\dfrac{1+\frac{\sqrt{3}}2}{1-\frac{\sqrt{3}}2}\right|\\
&=\dfrac12\log\left|\dfrac{2+\sqrt{3}}{2-\sqrt{3}}\right|\\
&=\dfrac12\log\left|\dfrac{(2+\sqrt{3})^2}{4-3}\right|\\
&=\log\left(2+\sqrt{3}\right)
\end{align}
正しく,修正されました。
まとめ
今回,
というプロセスはとてもいい感じでした。
以下の例は,ちょっと難しい積分計算だったのですが,このプロセスを繰り返して作成しました。
Discussion