{ "cells": [ { "cell_type": "markdown", "id": "fe8e36b9-e53e-4d98-9e58-172fbc2a95a0", "metadata": {}, "source": [ "最初にヤコビ記号がかっこよく表示されるように指示します。" ] }, { "cell_type": "code", "execution_count": 1, "id": "4cc05c5b-2480-4d3d-9d98-ee21bb5c1697", "metadata": { "tags": [] }, "outputs": [], "source": [ "texput(jacobi,lambda([f],concat(\"\\\\left(\\\\frac{\",tex1(args(f)[1]),\"}{\",tex1(args(f)[2]),\"}\\\\right)\")))$" ] }, { "cell_type": "markdown", "id": "8c693bea-febb-4c5e-9ae3-48f71996078d", "metadata": {}, "source": [ "次に命題4.11にしたがって幾つかの関数を定義します。\n", "まず$qast(q)$を定義します。これは$q^*$の定義になっています。\n", "次に$jcbast(q,p)$を定義します。$jcbast(q,p)$は2つの素数$q,p$から$\\left(\\frac{\\left(\\frac{-1}{q}\\right)\\,q}{p}\\right)$を計算します。" ] }, { "cell_type": "code", "execution_count": 4, "id": "cea73f01-d9a7-4af9-9411-b1dda6355430", "metadata": { "tags": [] }, "outputs": [], "source": [ "qast(q):=jacobi(-1,q)*q$\n", "jcbast(q,p):=jacobi(qast(q),p)$" ] }, { "cell_type": "markdown", "id": "c0a57b2a-d3d4-4a6a-bb06-0fcc1b2d6d8f", "metadata": { "tags": [] }, "source": [ "以下の式が成り立つことを幾つかの具体的な素数の組で確認します。" ] }, { "cell_type": "code", "execution_count": 5, "id": "1ca6ab5e-1e38-40db-a23b-d847ef0c66a5", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{7}$}\\left(\\frac{\\left(\\frac{-1}{q}\\right)\\,q}{p}\\right)=\\left(\\frac{p}{q}\\right)\\]" ], "text/plain": [ "(%o7) jacobi(jacobi(- 1, q) q, p) = jacobi(p, q)" ], "text/x-maxima": [ "jacobi(jacobi(-1,q)*q,p) = jacobi(p,q)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "jcbast(q,p)=jacobi(p,q);" ] }, { "cell_type": "markdown", "id": "d28be4ad-a3af-4f6c-8c34-052ecfbd18bb", "metadata": { "tags": [] }, "source": [ "こんなコードを走らせるとどの素数の組でも値が同じになることが分かります。" ] }, { "cell_type": "code", "execution_count": 8, "id": "a65dfb8c-cd82-4be7-afc0-98c094867b5a", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/latex": [ "\\[\\tag{${\\it \\%o}_{8}$}\\left[ \\left[ 1 , 1 \\right] , \\left[ -1 , -1 \\right] , \\left[ -1 , -1 \\right] , \\left[ -1 , -1 \\right] , \\left[ 1 , 1 \\right] \\right] \\]" ], "text/plain": [ "(%o8) [[1, 1], [- 1, - 1], [- 1, - 1], [- 1, - 1], [1, 1]]" ], "text/x-maxima": [ "[[1,1],[-1,-1],[-1,-1],[-1,-1],[1,1]]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map(lambda([arg],block([p,q],[p,q]:arg,[jcbast(p,q),jacobi(q,p)])),\n", " [[3,7],[11,13],[37,19],[31,91],[53,11]]);" ] } ], "metadata": { "kernelspec": { "display_name": "Maxima", "language": "maxima", "name": "maxima" }, "language_info": { "codemirror_mode": "maxima", "file_extension": ".mac", "mimetype": "text/x-maxima", "name": "maxima", "pygments_lexer": "maxima", "version": "5.46.0" } }, "nbformat": 4, "nbformat_minor": 5 }