{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "91edc04a-42ba-43b9-9846-2bbe98f21f13", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "subresultant (generic function with 1 method)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using AbstractAlgebra\n", "AbstractAlgebra.PrettyPrinting.set_html_as_latex(true)\n", "\n", "using AbstractAlgebra\n", "AbstractAlgebra.PrettyPrinting.set_html_as_latex(true)\n", "\n", "eqstr(x) = \"\\\\ \\\\text{is \" * string(x) * \"}\"\n", "eqstr(x::SetElem) = \"=\" * sprint(x) do io, x; show(io, \"text/latex\", x) end\n", "\n", "function dispeq(lhs, rhs)\n", " latexstr = \"\\$\\\\displaystyle $lhs \" * eqstr(rhs) * \"\\$\"\n", " display(\"text/html\", latexstr)\n", "end\n", "\n", "function euclidean(f, g, stop = 1)\n", " while true\n", " r = mod(f, g)\n", " iszero(r) && return g\n", " degree(r) ≤ stop && return r\n", " f, g = g, r\n", " end\n", "end\n", "\n", "function rootdeg1(f)\n", " C = coefficients(f) |> collect\n", " -first(C)//last(C)\n", "end\n", "\n", "function commonroot(f, g)\n", " m = euclidean(f, g, 1)\n", " rootdeg1(m)\n", "end\n", "\n", "function revpoly(z, x, f)\n", " m = degree(f)\n", " C = coefficients(f)\n", " sum(a*z^(i-1)*x^(m-i+1) for (i, a) in enumerate(C))\n", "end\n", "\n", "function val(h::FracElem, θ, L)\n", " n = L(numerator(h)(θ))\n", " d = L(denominator(h)(θ))\n", " n//d\n", "end\n", "\n", "function testval(h::FracElem, θ, β, L)\n", " n = L(numerator(h)(θ))\n", " d = L(denominator(h)(θ))\n", " n == β*d\n", "end\n", "\n", "function calcallresults(z, x, f, g)\n", " f_plus = (-1)^degree(f)*f(z - x)\n", " F_plus = resultant(f_plus, g)\n", " β_plus = commonroot(g, f_plus)\n", " \n", " f_mult = (-1)^degree(f)*revpoly(z, x, f)\n", " F_mult = resultant(f_mult, g)\n", " β_mult = commonroot(g, f_mult)\n", " \n", " K = FractionField(base_ring(z))\n", " B1, α = K[\"α\"]\n", " L1 = ResidueField(B1, numerator(f(z))(α))\n", " B2, β = L1[\"β\"]\n", " L = ResidueField(B2, numerator(g(z))(β))\n", " \n", " val_F_plus = val(F_plus, α + β, L)\n", " test_β_plus = testval(β_plus, α + β, β, L)\n", " val_F_mult = val(F_mult, α * β, L)\n", " test_β_mult = testval(β_mult, α * β, β, L)\n", " \n", " S_plus = subresultant((-1)^degree(f)*f(z-x), g, 1)\n", " rootS_plus = rootdeg1(S_plus)\n", " \n", " F_plus, β_plus, F_mult, β_mult, val_F_plus, test_β_plus, val_F_mult, test_β_mult, S_plus, rootS_plus\n", "end\n", "\n", "function dispallresults(z, x, f, g)\n", " F_plus, β_plus, F_mult, β_mult, val_F_plus, test_β_plus, val_F_mult, test_β_mult, S_plus, rootS_plus =\n", " @time calcallresults(z, x, f, g)\n", " flush(stdout)\n", " dispeq(\"F_\\\\alpha(x)\", f)\n", " dispeq(\"F_\\\\beta(x)\", g)\n", " dispeq(\"R_{\\\\alpha + \\\\beta}(z)\", F_plus)\n", " dispeq(\"R_{\\\\alpha + \\\\beta}(\\\\alpha + \\\\beta)\", val_F_plus)\n", " dispeq(\"\\\\beta_\\\\mathrm{plus}(z)\", β_plus)\n", " dispeq(\"\\\\beta_\\\\mathrm{plus}(\\\\alpha + \\\\beta) = \\\\beta\", test_β_plus)\n", " dispeq(\"R_{\\\\alpha\\\\beta}(z)\", F_mult)\n", " dispeq(\"R_{\\\\alpha\\\\beta}(\\\\alpha\\\\beta)\", val_F_mult)\n", " dispeq(\"\\\\beta_\\\\mathrm{mult}(z)\", β_mult)\n", " dispeq(\"\\\\beta_\\\\mathrm{mult}(\\\\alpha\\\\beta) = \\\\beta\", test_β_mult)\n", " dispeq(\"\\\\text{1-subresultant}\", S_plus)\n", " dispeq(\"\\\\text{root of 1-subresultant}\", rootS_plus)\n", "end\n", "\n", "safecoeff(f, k) = 0 ≤ k ≤ degree(f) ? coeff(f, k) : zero(base_ring(f))\n", "\n", "function subresultant_matrix(p::PolyElem{T}, q::PolyElem{T}, k) where T <: RingElement\n", " check_parent(p, q)\n", " R = parent(p)\n", " m = degree(p)\n", " n = degree(q)\n", " if length(p) == 0 || length(q) == k || m + n < 2k\n", " return zero_matrix(R, 0, 0)\n", " end\n", " M = zero_matrix(R, m + n - 2k, m + n - 2k)\n", " x = gen(R)\n", " for i in 1:n-k\n", " for j in 1:m+n-2k-1\n", " M[i, j] = safecoeff(p, m + (i-1) - (j-1))\n", " end\n", " M[i, end] = x^(n-k-i)*p\n", " end\n", " for i in 1:m-k\n", " for j in 1:m+n-2k-1\n", " M[n-k+i, j] = safecoeff(q, n + (i-1) - (j-1))\n", " end\n", " M[n-k+i, end] = x^(m-k-i)*q\n", " end\n", " return M\n", "end\n", "\n", "subresultant(p, q, k) = det(subresultant_matrix(p, q, k))" ] }, { "cell_type": "code", "execution_count": 2, "id": "6635eca3-fbd8-465f-a9c8-3897605d6e25", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(Univariate Polynomial Ring in x over Fraction field of Univariate Polynomial Ring in z over Multivariate Polynomial Ring in 7 variables a, b, c, p, ..., s over Integers, x)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R, (a, b, c, p, q, r, s) = ZZ[\"a\", \"b\", \"c\", \"p\", \"q\", \"r\", \"s\"]\n", "K = FractionField(R)\n", "Rz, z = R[\"z\"]\n", "Kz = FractionField(Rz)\n", "Rx, x = Kz[\"x\"]" ] }, { "cell_type": "code", "execution_count": 3, "id": "94fec5b8-a73f-456f-a25e-1e3213acde3b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccccc}\n", "1 & a & b & c & 0 & 0 & x^{6} + a x^{5} + b x^{4} + c x^{3} \\\\\n", "0 & 1 & a & b & c & 0 & x^{5} + a x^{4} + b x^{3} + c x^{2} \\\\\n", "0 & 0 & 1 & a & b & c & x^{4} + a x^{3} + b x^{2} + c x \\\\\n", "0 & 0 & 0 & 1 & a & b & x^{3} + a x^{2} + b x + c \\\\\n", "1 & p & q & r & s & 0 & x^{6} + p x^{5} + q x^{4} + r x^{3} + s x^{2} \\\\\n", "0 & 1 & p & q & r & s & x^{5} + p x^{4} + q x^{3} + r x^{2} + s x \\\\\n", "0 & 0 & 1 & p & q & r & x^{4} + p x^{3} + q x^{2} + r x + s\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccccc}\n", "1 & a & b & c & 0 & 0 & x^{6} + a x^{5} + b x^{4} + c x^{3} \\\\\n", "0 & 1 & a & b & c & 0 & x^{5} + a x^{4} + b x^{3} + c x^{2} \\\\\n", "0 & 0 & 1 & a & b & c & x^{4} + a x^{3} + b x^{2} + c x \\\\\n", "0 & 0 & 0 & 1 & a & b & x^{3} + a x^{2} + b x + c \\\\\n", "1 & p & q & r & s & 0 & x^{6} + p x^{5} + q x^{4} + r x^{3} + s x^{2} \\\\\n", "0 & 1 & p & q & r & s & x^{5} + p x^{4} + q x^{3} + r x^{2} + s x \\\\\n", "0 & 0 & 1 & p & q & r & x^{4} + p x^{3} + q x^{2} + r x + s\n", "\\end{array}" ], "text/plain": [ "[1 a b c 0 0 x^6 + a*x^5 + b*x^4 + c*x^3]\n", "[0 1 a b c 0 x^5 + a*x^4 + b*x^3 + c*x^2]\n", "[0 0 1 a b c x^4 + a*x^3 + b*x^2 + c*x]\n", "[0 0 0 1 a b x^3 + a*x^2 + b*x + c]\n", "[1 p q r s 0 x^6 + p*x^5 + q*x^4 + r*x^3 + s*x^2]\n", "[0 1 p q r s x^5 + p*x^4 + q*x^3 + r*x^2 + s*x]\n", "[0 0 1 p q r x^4 + p*x^3 + q*x^2 + r*x + s]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = x^3 + a*x^2 + b*x + c\n", "g = x^4 + p*x^3 + q*x^2 + r*x + s\n", "subresultant_matrix(f, g, 0)" ] }, { "cell_type": "code", "execution_count": 4, "id": "5f5f3e76-5103-4198-8aaa-a8a3dc21c1ca", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccccc}\n", "1 & a & b & c & 0 & 0 & 0 \\\\\n", "0 & 1 & a & b & c & 0 & 0 \\\\\n", "0 & 0 & 1 & a & b & c & 0 \\\\\n", "0 & 0 & 0 & 1 & a & b & c \\\\\n", "1 & p & q & r & s & 0 & 0 \\\\\n", "0 & 1 & p & q & r & s & 0 \\\\\n", "0 & 0 & 1 & p & q & r & s\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccccc}\n", "1 & a & b & c & 0 & 0 & 0 \\\\\n", "0 & 1 & a & b & c & 0 & 0 \\\\\n", "0 & 0 & 1 & a & b & c & 0 \\\\\n", "0 & 0 & 0 & 1 & a & b & c \\\\\n", "1 & p & q & r & s & 0 & 0 \\\\\n", "0 & 1 & p & q & r & s & 0 \\\\\n", "0 & 0 & 1 & p & q & r & s\n", "\\end{array}" ], "text/plain": [ "[1 a b c 0 0 0]\n", "[0 1 a b c 0 0]\n", "[0 0 1 a b c 0]\n", "[0 0 0 1 a b c]\n", "[1 p q r s 0 0]\n", "[0 1 p q r s 0]\n", "[0 0 1 p q r s]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S0 = sylvester_matrix(f, g)" ] }, { "cell_type": "code", "execution_count": 5, "id": "6f1cfa1e-f67f-4169-a754-38a3e91ed09f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g, 0) == resultant(f, g) == det(S0)" ] }, { "cell_type": "code", "execution_count": 6, "id": "150cdfdf-b51b-4600-9f26-8eeac1e222e4", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccc}\n", "1 & a & b & c & x^{5} + a x^{4} + b x^{3} + c x^{2} \\\\\n", "0 & 1 & a & b & x^{4} + a x^{3} + b x^{2} + c x \\\\\n", "0 & 0 & 1 & a & x^{3} + a x^{2} + b x + c \\\\\n", "1 & p & q & r & x^{5} + p x^{4} + q x^{3} + r x^{2} + s x \\\\\n", "0 & 1 & p & q & x^{4} + p x^{3} + q x^{2} + r x + s\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccc}\n", "1 & a & b & c & x^{5} + a x^{4} + b x^{3} + c x^{2} \\\\\n", "0 & 1 & a & b & x^{4} + a x^{3} + b x^{2} + c x \\\\\n", "0 & 0 & 1 & a & x^{3} + a x^{2} + b x + c \\\\\n", "1 & p & q & r & x^{5} + p x^{4} + q x^{3} + r x^{2} + s x \\\\\n", "0 & 1 & p & q & x^{4} + p x^{3} + q x^{2} + r x + s\n", "\\end{array}" ], "text/plain": [ "[1 a b c x^5 + a*x^4 + b*x^3 + c*x^2]\n", "[0 1 a b x^4 + a*x^3 + b*x^2 + c*x]\n", "[0 0 1 a x^3 + a*x^2 + b*x + c]\n", "[1 p q r x^5 + p*x^4 + q*x^3 + r*x^2 + s*x]\n", "[0 1 p q x^4 + p*x^3 + q*x^2 + r*x + s]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant_matrix(f, g, 1)" ] }, { "cell_type": "code", "execution_count": 7, "id": "519a1de9-3424-4f67-9321-b87b5426a439", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccc}\n", "1 & a & b & c & 0 \\\\\n", "0 & 1 & a & b & c x \\\\\n", "0 & 0 & 1 & a & b x + c \\\\\n", "1 & p & q & r & s x \\\\\n", "0 & 1 & p & q & r x + s\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccc}\n", "1 & a & b & c & 0 \\\\\n", "0 & 1 & a & b & c x \\\\\n", "0 & 0 & 1 & a & b x + c \\\\\n", "1 & p & q & r & s x \\\\\n", "0 & 1 & p & q & r x + s\n", "\\end{array}" ], "text/plain": [ "[1 a b c 0]\n", "[0 1 a b c*x]\n", "[0 0 1 a b*x + c]\n", "[1 p q r s*x]\n", "[0 1 p q r*x + s]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S1 = Rx[\n", " 1 a b c 0\n", " 0 1 a b c*x\n", " 0 0 1 a b*x+c\n", " 1 p q r s*x\n", " 0 1 p q r*x+s\n", "]" ] }, { "cell_type": "code", "execution_count": 8, "id": "dd71bcd5-3c94-4f08-b6ec-9b17c55adb20", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(-a^{3} r + a^{2} b q + a^{2} c p + a^{2} p r - a^{2} s - a b^{2} p - 2 a b c - a b p q + 3 a b r - a c p^{2} + a p s - a q r + b^{3} + b^{2} p^{2} - 2 b^{2} q + b c p - 2 b p r + b q^{2} + b s + c^{2} + c p q - 2 c r - q s + r^{2}\\right) x - a^{3} s + a^{2} c q + a^{2} p s - a b c p + 2 a b s - a c^{2} - a c p q + a c r - a q s + b^{2} c + b c p^{2} - 2 b c q - b p s + c^{2} p - c p r + c q^{2} - c s + r s$" ], "text/latex": [ "\\left(-a^{3} r + a^{2} b q + a^{2} c p + a^{2} p r - a^{2} s - a b^{2} p - 2 a b c - a b p q + 3 a b r - a c p^{2} + a p s - a q r + b^{3} + b^{2} p^{2} - 2 b^{2} q + b c p - 2 b p r + b q^{2} + b s + c^{2} + c p q - 2 c r - q s + r^{2}\\right) x - a^{3} s + a^{2} c q + a^{2} p s - a b c p + 2 a b s - a c^{2} - a c p q + a c r - a q s + b^{2} c + b c p^{2} - 2 b c q - b p s + c^{2} p - c p r + c q^{2} - c s + r s" ], "text/plain": [ "(-a^3*r + a^2*b*q + a^2*c*p + a^2*p*r - a^2*s - a*b^2*p - 2*a*b*c - a*b*p*q + 3*a*b*r - a*c*p^2 + a*p*s - a*q*r + b^3 + b^2*p^2 - 2*b^2*q + b*c*p - 2*b*p*r + b*q^2 + b*s + c^2 + c*p*q - 2*c*r - q*s + r^2)*x - a^3*s + a^2*c*q + a^2*p*s - a*b*c*p + 2*a*b*s - a*c^2 - a*c*p*q + a*c*r - a*q*s + b^2*c + b*c*p^2 - 2*b*c*q - b*p*s + c^2*p - c*p*r + c*q^2 - c*s + r*s" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g, 1)" ] }, { "cell_type": "code", "execution_count": 9, "id": "cebe7d86-c265-4750-94eb-348eae44687d", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g, 1) == det(S1)" ] }, { "cell_type": "code", "execution_count": 10, "id": "a143730f-c9a5-4ebb-8c49-949374fb6e10", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccc}\n", "1 & a & b x^{2} + c x \\\\\n", "0 & 1 & a x^{2} + b x + c \\\\\n", "1 & p & q x^{2} + r x + s\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccc}\n", "1 & a & b x^{2} + c x \\\\\n", "0 & 1 & a x^{2} + b x + c \\\\\n", "1 & p & q x^{2} + r x + s\n", "\\end{array}" ], "text/plain": [ "[1 a b*x^2 + c*x]\n", "[0 1 a*x^2 + b*x + c]\n", "[1 p q*x^2 + r*x + s]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S2 = Rx[\n", " 1 a b*x^2+c*x\n", " 0 1 a*x^2+b*x+c\n", " 1 p q*x^2+r*x+s\n", "]" ] }, { "cell_type": "code", "execution_count": 11, "id": "a14cd2b9-53a3-497d-bcd6-43cde5502d23", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(a^{2} - a p - b + q\\right) x^{2} + \\left(a b - b p - c + r\\right) x + a c - c p + s$" ], "text/latex": [ "\\left(a^{2} - a p - b + q\\right) x^{2} + \\left(a b - b p - c + r\\right) x + a c - c p + s" ], "text/plain": [ "(a^2 - a*p - b + q)*x^2 + (a*b - b*p - c + r)*x + a*c - c*p + s" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g, 2)" ] }, { "cell_type": "code", "execution_count": 12, "id": "9d31805e-83a2-490a-bab3-51a1b7a431ec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g, 2) == det(S2)" ] }, { "cell_type": "code", "execution_count": 13, "id": "e1397f2f-6b31-4d75-b330-095320ec52b7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.107416 seconds (1.87 M allocations: 115.317 MiB, 1.75% gc time, 97.91% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{4} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{12} - 4 a z^{9} - 3 p z^{8} + 6 a^{2} z^{6} - 48 a p z^{5} + 3 p^{2} z^{4} - 4 a^{3} z^{3} - 30 a^{2} p z^{2} - 12 a p^{2} z + a^{4} - p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{6 z^{7} - 3 a z^{4} + 10 p z^{3} - 3 a^{2} z - a p}{10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{12} - a^{4} p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{a p}{z^{3}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}\\right) x - 6 z^{7} + 3 a z^{4} - 10 p z^{3} + 3 a^{2} z + a p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{6 z^{7} - 3 a z^{4} + 10 p z^{3} - 3 a^{2} z - a p}{10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^4 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 14, "id": "5ade10c0-d25f-4e92-a658-cd358a0e6d8e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccc}\n", "1 & -3 z & 3 z^{2} & -z^{3} + a & x^{5} - 3 z x^{4} + 3 z^{2} x^{3} + \\left(-z^{3} + a\\right) x^{2} \\\\\n", "0 & 1 & -3 z & 3 z^{2} & x^{4} - 3 z x^{3} + 3 z^{2} x^{2} + \\left(-z^{3} + a\\right) x \\\\\n", "0 & 0 & 1 & -3 z & x^{3} - 3 z x^{2} + 3 z^{2} x - z^{3} + a \\\\\n", "1 & 0 & 0 & 0 & x^{5} - p x \\\\\n", "0 & 1 & 0 & 0 & x^{4} - p\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccc}\n", "1 & -3 z & 3 z^{2} & -z^{3} + a & x^{5} - 3 z x^{4} + 3 z^{2} x^{3} + \\left(-z^{3} + a\\right) x^{2} \\\\\n", "0 & 1 & -3 z & 3 z^{2} & x^{4} - 3 z x^{3} + 3 z^{2} x^{2} + \\left(-z^{3} + a\\right) x \\\\\n", "0 & 0 & 1 & -3 z & x^{3} - 3 z x^{2} + 3 z^{2} x - z^{3} + a \\\\\n", "1 & 0 & 0 & 0 & x^{5} - p x \\\\\n", "0 & 1 & 0 & 0 & x^{4} - p\n", "\\end{array}" ], "text/plain": [ "[1 -3*z 3*z^2 -z^3 + a x^5 - 3*z*x^4 + 3*z^2*x^3 + (-z^3 + a)*x^2]\n", "[0 1 -3*z 3*z^2 x^4 - 3*z*x^3 + 3*z^2*x^2 + (-z^3 + a)*x]\n", "[0 0 1 -3*z x^3 - 3*z*x^2 + 3*z^2*x - z^3 + a]\n", "[1 0 0 0 x^5 - p*x]\n", "[0 1 0 0 x^4 - p]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant_matrix(-f(z-x), g, 1)" ] }, { "cell_type": "code", "execution_count": 15, "id": "0fa3631a-e396-4b22-904a-09505ffa8047", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\begin{array}{ccccc}\n", "1 & -3 z & 3 z^{2} & -z^{3} + a & 0 \\\\\n", "0 & 1 & -3 z & 3 z^{2} & \\left(-z^{3} + a\\right) x \\\\\n", "0 & 0 & 1 & -3 z & 3 z^{2} x - z^{3} + a \\\\\n", "1 & 0 & 0 & 0 & -p x \\\\\n", "0 & 1 & 0 & 0 & -p\n", "\\end{array}$" ], "text/latex": [ "\\begin{array}{ccccc}\n", "1 & -3 z & 3 z^{2} & -z^{3} + a & 0 \\\\\n", "0 & 1 & -3 z & 3 z^{2} & \\left(-z^{3} + a\\right) x \\\\\n", "0 & 0 & 1 & -3 z & 3 z^{2} x - z^{3} + a \\\\\n", "1 & 0 & 0 & 0 & -p x \\\\\n", "0 & 1 & 0 & 0 & -p\n", "\\end{array}" ], "text/plain": [ "[1 -3*z 3*z^2 -z^3 + a 0]\n", "[0 1 -3*z 3*z^2 (-z^3 + a)*x]\n", "[0 0 1 -3*z 3*z^2*x - z^3 + a]\n", "[1 0 0 0 -p*x]\n", "[0 1 0 0 -p]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s1 = Rx[\n", " 1 -3z 3z^2 -z^3+a 0\n", " 0 1 -3z 3z^2 (-z^3+a)*x\n", " 0 0 1 -3z 3z^2*x-z^3+a\n", " 1 0 0 0 -p*x\n", " 0 1 0 0 -p\n", "]" ] }, { "cell_type": "code", "execution_count": 16, "id": "f2c78a9a-d6dd-4f6b-940e-6e002d675ea2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}\\right) x - 6 z^{7} + 3 a z^{4} - 10 p z^{3} + 3 a^{2} z + a p$" ], "text/latex": [ "\\left(10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}\\right) x - 6 z^{7} + 3 a z^{4} - 10 p z^{3} + 3 a^{2} z + a p" ], "text/plain": [ "(10*z^6 + 16*a*z^3 + 6*p*z^2 + a^2)*x - 6*z^7 + 3*a*z^4 - 10*p*z^3 + 3*a^2*z + a*p" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "S_plus = subresultant(-f(z-x), g, 1)" ] }, { "cell_type": "code", "execution_count": 17, "id": "c35aa941-491c-409f-ac28-443ec60a0ee1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "true" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(-f(z-x), g, 1) == det(s1)" ] }, { "cell_type": "code", "execution_count": 18, "id": "4c6bed57-3e3f-40c2-82f3-51c629411cec", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{6 z^{7} - 3 a z^{4} + 10 p z^{3} - 3 a^{2} z - a p}{10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rootS_plus = rootdeg1(S_plus)\n", "dispeq(\"\\\\text{root of 1-subresultant}\", rootS_plus)" ] }, { "cell_type": "code", "execution_count": 19, "id": "c11dea43-2c21-4f33-a14a-745fa2e24f8d", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.069655 seconds (557.96 k allocations: 35.389 MiB, 21.67% gc time, 45.75% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} + p x + q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{9} + 3 p z^{7} + \\left(-3 a + 3 q\\right) z^{6} + 3 p^{2} z^{5} + \\left(3 a p + 6 p q\\right) z^{4} + \\left(3 a^{2} + 21 a q + p^{3} + 3 q^{2}\\right) z^{3} + \\left(-3 a p^{2} + 3 p^{2} q\\right) z^{2} + \\left(-6 a^{2} p + 3 a p q + 3 p q^{2}\\right) z - a^{3} + 3 a^{2} q - a p^{3} - 3 a q^{2} + q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{3 z^{5} - p z^{3} + \\left(-3 a - 6 q\\right) z^{2} + a p - p q}{6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{9} + 3 a q z^{6} + \\left(a^{2} p^{3} + 3 a^{2} q^{2}\\right) z^{3} + a^{3} q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{-z^{3} - a q}{a p}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} + p z^{3} + \\left(3 a + 6 q\\right) z^{2} - a p + p q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{3 z^{5} - p z^{3} + \\left(-3 a - 6 q\\right) z^{2} + a p - p q}{6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^3 + p*x + q\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 20, "id": "39c04999-ad90-4f0c-9360-647c120d8ba0", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.040583 seconds (550.30 k allocations: 35.159 MiB, 36.41% gc time, 1.32% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} + p x + q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{9} + 3 p z^{7} + \\left(-3 a + 3 q\\right) z^{6} + 3 p^{2} z^{5} + \\left(3 a p + 6 p q\\right) z^{4} + \\left(3 a^{2} + 21 a q + p^{3} + 3 q^{2}\\right) z^{3} + \\left(-3 a p^{2} + 3 p^{2} q\\right) z^{2} + \\left(-6 a^{2} p + 3 a p q + 3 p q^{2}\\right) z - a^{3} + 3 a^{2} q - a p^{3} - 3 a q^{2} + q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{3 z^{5} + 4 p z^{3} + \\left(6 a + 3 q\\right) z^{2} + p^{2} z - a p + p q}{6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{9} + 3 a q z^{6} + \\left(a^{2} p^{3} + 3 a^{2} q^{2}\\right) z^{3} + a^{3} q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =-\\frac{a p z}{z^{3} + a q}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} - 4 p z^{3} + \\left(-6 a - 3 q\\right) z^{2} - p^{2} z + a p - p q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{3 z^{5} + 4 p z^{3} + \\left(6 a + 3 q\\right) z^{2} + p^{2} z - a p + p q}{6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^3 + p*x + q\n", "dispallresults(z, x, g, f)" ] }, { "cell_type": "code", "execution_count": 21, "id": "37be90a9-928c-4ef8-886b-8a0aa5122077", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$3 z x^{2} + \\left(-3 z^{2} - p\\right) x + z^{3} + p z - a + q$" ], "text/latex": [ "3 z x^{2} + \\left(-3 z^{2} - p\\right) x + z^{3} + p z - a + q" ], "text/plain": [ "3*z*x^2 + (-3*z^2 - p)*x + z^3 + p*z - a + q" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "h1 = g(z-x) + f" ] }, { "cell_type": "code", "execution_count": 22, "id": "7339bf59-561b-4669-96d7-2be018819701", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(9 z^{3} + 3 p z\\right) x^{2} + \\left(-3 z^{4} - 3 p z^{2} + \\left(3 a - 3 q\\right) z\\right) x - 9 a z^{2}$" ], "text/latex": [ "\\left(9 z^{3} + 3 p z\\right) x^{2} + \\left(-3 z^{4} - 3 p z^{2} + \\left(3 a - 3 q\\right) z\\right) x - 9 a z^{2}" ], "text/plain": [ "(9*z^3 + 3*p*z)*x^2 + (-3*z^4 - 3*p*z^2 + (3*a - 3*q)*z)*x - 9*a*z^2" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(3z)^2*f - 3z*x*h1" ] }, { "cell_type": "code", "execution_count": 23, "id": "b2cf0d2f-84e5-4a44-b162-3478e62c806e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} - 4 p z^{3} + \\left(-6 a - 3 q\\right) z^{2} - p^{2} z + a p - p q$" ], "text/latex": [ "\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} - 4 p z^{3} + \\left(-6 a - 3 q\\right) z^{2} - p^{2} z + a p - p q" ], "text/plain": [ "(6*z^4 + 3*p*z^2 + (3*a - 3*q)*z + p^2)*x - 3*z^5 - 4*p*z^3 + (-6*a - 3*q)*z^2 - p^2*z + a*p - p*q" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "h2 = (3z)^2*f - (3z*x + 3z^2 + p)*h1" ] }, { "cell_type": "code", "execution_count": 24, "id": "8001ffb5-3a06-4f95-96d9-4c149282a9c0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "$\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} - 4 p z^{3} + \\left(-6 a - 3 q\\right) z^{2} - p^{2} z + a p - p q$" ], "text/latex": [ "\\left(6 z^{4} + 3 p z^{2} + \\left(3 a - 3 q\\right) z + p^{2}\\right) x - 3 z^{5} - 4 p z^{3} + \\left(-6 a - 3 q\\right) z^{2} - p^{2} z + a p - p q" ], "text/plain": [ "(6*z^4 + 3*p*z^2 + (3*a - 3*q)*z + p^2)*x - 3*z^5 - 4*p*z^3 + (-6*a - 3*q)*z^2 - p^2*z + a*p - p*q" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "subresultant(f, g(z-x), 1)" ] }, { "cell_type": "code", "execution_count": 25, "id": "7e644e6c-ef91-4f66-9998-1cffeb66c75f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.034942 seconds (170.22 k allocations: 10.306 MiB, 82.78% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{2} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{2} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{4} + \\left(-2 a - 2 p\\right) z^{2} + a^{2} - 2 a p + p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{z^{2} - a + p}{2 z}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{4} - 2 a p z^{2} + a^{2} p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =-1$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is false}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =2 z x - z^{2} + a - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{z^{2} - a + p}{2 z}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^2 - a\n", "g = x^2 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 26, "id": "1cf6aeb0-c218-417d-b984-7b57a5599f18", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.029501 seconds (225.83 k allocations: 14.092 MiB, 54.18% gc time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{2} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{6} - 3 a z^{4} - 2 p z^{3} + 3 a^{2} z^{2} - 6 a p z - a^{3} + p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{2 z^{3} - 2 a z + p}{3 z^{2} + a}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{6} - a^{3} p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{a p}{z^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(3 z^{2} + a\\right) x - 2 z^{3} + 2 a z - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{2 z^{3} - 2 a z + p}{3 z^{2} + a}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^2 - a\n", "g = x^3 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 27, "id": "8507297c-52bc-4d4f-abdc-579bfd18f198", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.017217 seconds (374.81 k allocations: 23.972 MiB)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{2} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{4} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{8} - 4 a z^{6} + \\left(6 a^{2} - 2 p\\right) z^{4} + \\left(-4 a^{3} - 12 a p\\right) z^{2} + a^{4} - 2 a^{2} p + p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{3 z^{4} - 2 a z^{2} - a^{2} + p}{4 z^{3} + 4 a z}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{8} - 2 a^{2} p z^{4} + a^{4} p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =-1$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is false}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(4 z^{3} + 4 a z\\right) x - 3 z^{4} + 2 a z^{2} + a^{2} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{3 z^{4} - 2 a z^{2} - a^{2} + p}{4 z^{3} + 4 a z}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^2 - a\n", "g = x^4 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 28, "id": "5cb776f4-cdf2-4a23-a1c6-1cf66138ec6a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.047918 seconds (720.37 k allocations: 47.043 MiB, 29.99% gc time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{2} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{5} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{10} - 5 a z^{8} + 10 a^{2} z^{6} - 2 p z^{5} - 10 a^{3} z^{4} - 20 a p z^{3} + 5 a^{4} z^{2} - 10 a^{2} p z - a^{5} + p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{4 z^{5} - 4 a^{2} z + p}{5 z^{4} + 10 a z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{10} - a^{5} p^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{a^{2} p}{z^{4}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(5 z^{4} + 10 a z^{2} + a^{2}\\right) x - 4 z^{5} + 4 a^{2} z - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{4 z^{5} - 4 a^{2} z + p}{5 z^{4} + 10 a z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^2 - a\n", "g = x^5 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 29, "id": "4f86a17a-9f33-4634-80c9-62abfc794cfe", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.042086 seconds (431.47 k allocations: 27.515 MiB, 34.73% gc time, 18.60% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{9} + \\left(-3 a - 3 p\\right) z^{6} + \\left(3 a^{2} - 21 a p + 3 p^{2}\\right) z^{3} - a^{3} - 3 a^{2} p - 3 a p^{2} - p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{z^{4} + \\left(-a + 2 p\\right) z}{2 z^{3} + a + p}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{9} - 3 a p z^{6} + 3 a^{2} p^{2} z^{3} - a^{3} p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =-1$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is false}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(6 z^{4} + \\left(3 a + 3 p\\right) z\\right) x - 3 z^{5} + \\left(3 a - 6 p\\right) z^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{z^{4} + \\left(-a + 2 p\\right) z}{2 z^{3} + a + p}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^3 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 30, "id": "8900a883-1d88-4228-8646-deff55a1122e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.053949 seconds (913.13 k allocations: 59.708 MiB, 28.60% gc time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{4} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{12} - 4 a z^{9} - 3 p z^{8} + 6 a^{2} z^{6} - 48 a p z^{5} + 3 p^{2} z^{4} - 4 a^{3} z^{3} - 30 a^{2} p z^{2} - 12 a p^{2} z + a^{4} - p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{6 z^{7} - 3 a z^{4} + 10 p z^{3} - 3 a^{2} z - a p}{10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{12} - a^{4} p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{a p}{z^{3}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}\\right) x - 6 z^{7} + 3 a z^{4} - 10 p z^{3} + 3 a^{2} z + a p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{6 z^{7} - 3 a z^{4} + 10 p z^{3} - 3 a^{2} z - a p}{10 z^{6} + 16 a z^{3} + 6 p z^{2} + a^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^4 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 31, "id": "e65cf0fb-c698-4778-b990-a734e6330079", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.105654 seconds (1.78 M allocations: 117.389 MiB, 30.06% gc time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{5} - p$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{15} - 5 a z^{12} - 3 p z^{10} + 10 a^{2} z^{9} - 90 a p z^{7} - 10 a^{3} z^{6} + 3 p^{2} z^{5} - 135 a^{2} p z^{4} + 5 a^{4} z^{3} - 30 a p^{2} z^{2} - 15 a^{3} p z - a^{5} - p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{10 z^{9} + 6 a z^{6} + 15 p z^{4} - 15 a^{2} z^{3} - 6 a p z - a^{3}}{15 z^{8} + 51 a z^{5} + 10 p z^{3} + 15 a^{2} z^{2} - a p}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{15} - a^{5} p^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{z^{6}}{a^{2} p}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(15 z^{8} + 51 a z^{5} + 10 p z^{3} + 15 a^{2} z^{2} - a p\\right) x - 10 z^{9} - 6 a z^{6} - 15 p z^{4} + 15 a^{2} z^{3} + 6 a p z + a^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{10 z^{9} + 6 a z^{6} + 15 p z^{4} - 15 a^{2} z^{3} - 6 a p z - a^{3}}{15 z^{8} + 51 a z^{5} + 10 p z^{3} + 15 a^{2} z^{2} - a p}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 - a\n", "g = x^5 - p\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 32, "id": "f35616a7-0f35-416e-b17f-97218ea6b554", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.050997 seconds (688.92 k allocations: 43.092 MiB, 30.85% gc time, 1.55% compilation time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} + a x + b$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} + p x + q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{9} + \\left(3 a + 3 p\\right) z^{7} + \\left(3 b + 3 q\\right) z^{6} + \\left(3 a^{2} + 3 a p + 3 p^{2}\\right) z^{5} + \\left(6 a b - 3 a q - 3 b p + 6 p q\\right) z^{4} + \\left(a^{3} + a^{2} p + a p^{2} + 3 b^{2} - 21 b q + p^{3} + 3 q^{2}\\right) z^{3} + \\left(3 a^{2} b + 3 a^{2} q - 6 a b p - 6 a p q + 3 b p^{2} + 3 p^{2} q\\right) z^{2} + \\left(a^{3} p - 2 a^{2} p^{2} + 3 a b^{2} - 3 a b q + a p^{3} - 6 a q^{2} - 6 b^{2} p - 3 b p q + 3 p q^{2}\\right) z + a^{3} q + a^{2} b p - 2 a^{2} p q - 2 a b p^{2} + a p^{2} q + b^{3} + 3 b^{2} q + b p^{3} + 3 b q^{2} + q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{3 z^{5} + \\left(4 a - p\\right) z^{3} + \\left(3 b - 6 q\\right) z^{2} + \\left(a^{2} - a p\\right) z + a b + a q - b p - p q}{6 z^{4} + \\left(3 a + 3 p\\right) z^{2} + \\left(-3 b - 3 q\\right) z + a^{2} - 2 a p + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{9} - 2 a p z^{7} - 3 b q z^{6} + a^{2} p^{2} z^{5} + a b p q z^{4} + \\left(a^{3} q^{2} + b^{2} p^{3} + 3 b^{2} q^{2}\\right) z^{3} + a b^{2} p q^{2} z - b^{3} q^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{-b p z^{3} + a^{2} q z^{2} + b^{2} p q}{a z^{4} - a^{2} p z^{2} - a b q z - b^{2} p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(6 z^{4} + \\left(3 a + 3 p\\right) z^{2} + \\left(-3 b - 3 q\\right) z + a^{2} - 2 a p + p^{2}\\right) x - 3 z^{5} + \\left(-4 a + p\\right) z^{3} + \\left(-3 b + 6 q\\right) z^{2} + \\left(-a^{2} + a p\\right) z - a b - a q + b p + p q$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{3 z^{5} + \\left(4 a - p\\right) z^{3} + \\left(3 b - 6 q\\right) z^{2} + \\left(a^{2} - a p\\right) z + a b + a q - b p - p q}{6 z^{4} + \\left(3 a + 3 p\\right) z^{2} + \\left(-3 b - 3 q\\right) z + a^{2} - 2 a p + p^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 + a*x + b\n", "g = x^3 + p*x + q\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 33, "id": "c37d6c3f-babc-4ba1-a43e-f4d0fbda198d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.012118 seconds (265.35 k allocations: 16.502 MiB)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{2} - a$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{3} + p x^{2} + q x + r$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{6} + 2 p z^{5} + \\left(-3 a + p^{2} + 2 q\\right) z^{4} + \\left(-4 a p + 2 p q + 2 r\\right) z^{3} + \\left(3 a^{2} - 2 a p^{2} + 2 p r + q^{2}\\right) z^{2} + \\left(2 a^{2} p - 2 a p q + 6 a r + 2 q r\\right) z - a^{3} + a^{2} p^{2} - 2 a^{2} q + 2 a p r - a q^{2} + r^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{2 z^{3} + p z^{2} - 2 a z - a p - r}{3 z^{2} + 2 p z + a + q}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{6} + \\left(-a p^{2} + 2 a q\\right) z^{4} + \\left(-2 a^{2} p r + a^{2} q^{2}\\right) z^{2} - a^{3} r^{2}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{-p z^{2} - a r}{z^{2} + a q}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(3 z^{2} + 2 p z + a + q\\right) x - 2 z^{3} - p z^{2} + 2 a z + a p + r$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{2 z^{3} + p z^{2} - 2 a z - a p - r}{3 z^{2} + 2 p z + a + q}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^2 - a\n", "g = x^3 + p*x^2 + q*x + r\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": 34, "id": "f87921ea-b136-439e-bb72-952b6a9ea354", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2.716055 seconds (6.46 M allocations: 290.173 MiB, 4.57% gc time)\n" ] }, { "data": { "text/html": [ "$\\displaystyle F_\\alpha(x) =x^{3} + a x + b$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle F_\\beta(x) =x^{4} + p x^{2} + q x + r$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(z) =z^{12} + \\left(4 a + 3 p\\right) z^{10} + \\left(4 b + 3 q\\right) z^{9} + \\left(6 a^{2} + 6 a p + 3 p^{2} + 3 r\\right) z^{8} + \\left(12 a b + 6 p q\\right) z^{7} + \\left(4 a^{3} + 4 a^{2} p + 4 a p^{2} - 8 a r + 6 b^{2} - 18 b q + p^{3} + 6 p r + 3 q^{2}\\right) z^{6} + \\left(12 a^{2} b - 6 a b p + 6 b p^{2} - 48 b r + 3 p^{2} q + 6 q r\\right) z^{5} + \\left(a^{4} + 2 a^{3} p - a^{2} p^{2} + 8 a^{2} r + 12 a b^{2} - 27 a b q + 2 a p^{3} - 12 a p r - 3 a q^{2} - 9 b^{2} p + 3 b p q + 3 p^{2} r + 3 p q^{2} + 3 r^{2}\\right) z^{4} + \\left(4 a^{3} b + 4 a^{3} q - 4 a^{2} b p - 8 a^{2} p q + 2 a b p^{2} - 4 a b r + 4 a p^{2} q - 16 a q r + 4 b^{3} - 18 b^{2} q + 2 b p^{3} - 24 b p r + 6 b q^{2} + 6 p q r + q^{3}\\right) z^{3} + \\left(a^{4} p - 2 a^{3} p^{2} + 4 a^{3} r + 6 a^{2} b^{2} + a^{2} p^{3} - 6 a^{2} q^{2} - 12 a b^{2} p - 9 a b p q + 3 a p q^{2} - 12 a r^{2} + 3 b^{2} p^{2} + 30 b^{2} r + 3 b p^{2} q + 6 b q r + 3 p r^{2} + 3 q^{2} r\\right) z^{2} + \\left(a^{4} q + 2 a^{3} b p - 2 a^{3} p q - 4 a^{2} b p^{2} - 4 a^{2} b r + a^{2} p^{2} q - 4 a^{2} q r + 4 a b^{3} + 2 a b p^{3} + 6 a b p r - 3 a b q^{2} + a q^{3} - 6 b^{3} p - 3 b^{2} p q - 6 b p^{2} r + 3 b p q^{2} + 12 b r^{2} + 3 q r^{2}\\right) z + a^{4} r + a^{3} b q - 2 a^{3} p r + a^{2} b^{2} p - 2 a^{2} b p q + a^{2} p^{2} r + 2 a^{2} r^{2} - 2 a b^{2} p^{2} + 4 a b^{2} r + a b p^{2} q + 5 a b q r - 2 a p r^{2} + a q^{2} r + b^{4} + 3 b^{3} q + b^{2} p^{3} - 3 b^{2} p r + 3 b^{2} q^{2} - 3 b p q r + b q^{3} + r^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha + \\beta}(\\alpha + \\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(z) =\\frac{6 z^{7} + \\left(9 a + 3 p\\right) z^{5} + \\left(3 b - 3 q\\right) z^{4} + \\left(4 a^{2} + a p + p^{2} - 10 r\\right) z^{3} + \\left(-3 a q + 3 b p\\right) z^{2} + \\left(a^{3} - 2 a^{2} p + a p^{2} + 5 a r - 3 b^{2} - 3 b q - 3 p r\\right) z + a^{2} b - 2 a b p + b p^{2} - b r - q r}{10 z^{6} + \\left(5 a + 9 p\\right) z^{4} + \\left(-16 b + 2 q\\right) z^{3} + \\left(4 a^{2} - 3 a p + 3 p^{2} - 6 r\\right) z^{2} + \\left(-4 a b - 7 a q + 3 p q\\right) z + a^{3} - 2 a^{2} p + a p^{2} + a r + b^{2} + 2 b q - p r + q^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{plus}(\\alpha + \\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(z) =z^{12} - 2 a p z^{10} - 3 b q z^{9} + \\left(a^{2} p^{2} + 2 a^{2} r\\right) z^{8} + a b p q z^{7} + \\left(-2 a^{3} p r + a^{3} q^{2} + b^{2} p^{3} - 3 b^{2} p r + 3 b^{2} q^{2}\\right) z^{6} + a^{2} b q r z^{5} + \\left(a^{4} r^{2} - 2 a b^{2} p^{2} r + a b^{2} p q^{2} + 4 a b^{2} r^{2}\\right) z^{4} + \\left(3 b^{3} p q r - b^{3} q^{3}\\right) z^{3} + a^{2} b^{2} p r^{2} z^{2} - a b^{3} q r^{2} z + b^{4} r^{3}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle R_{\\alpha\\beta}(\\alpha\\beta) =0$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(z) =\\frac{a z^{7} - a^{2} p z^{5} - a b q z^{4} + \\left(a^{3} r - b^{2} p^{2} + b^{2} r\\right) z^{3} + a b^{2} p r z - b^{3} q r}{b z^{6} + \\left(-a^{3} q - 2 b^{2} q\\right) z^{3} - a^{2} b r z^{2} - a b^{2} p q z - b^{3} p r + b^{3} q^{2}}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\beta_\\mathrm{mult}(\\alpha\\beta) = \\beta \\ \\text{is true}$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{1-subresultant} =\\left(10 z^{6} + \\left(5 a + 9 p\\right) z^{4} + \\left(-16 b + 2 q\\right) z^{3} + \\left(4 a^{2} - 3 a p + 3 p^{2} - 6 r\\right) z^{2} + \\left(-4 a b - 7 a q + 3 p q\\right) z + a^{3} - 2 a^{2} p + a p^{2} + a r + b^{2} + 2 b q - p r + q^{2}\\right) x - 6 z^{7} + \\left(-9 a - 3 p\\right) z^{5} + \\left(-3 b + 3 q\\right) z^{4} + \\left(-4 a^{2} - a p - p^{2} + 10 r\\right) z^{3} + \\left(3 a q - 3 b p\\right) z^{2} + \\left(-a^{3} + 2 a^{2} p - a p^{2} - 5 a r + 3 b^{2} + 3 b q + 3 p r\\right) z - a^{2} b + 2 a b p - b p^{2} + b r + q r$" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "$\\displaystyle \\text{root of 1-subresultant} =\\frac{6 z^{7} + \\left(9 a + 3 p\\right) z^{5} + \\left(3 b - 3 q\\right) z^{4} + \\left(4 a^{2} + a p + p^{2} - 10 r\\right) z^{3} + \\left(-3 a q + 3 b p\\right) z^{2} + \\left(a^{3} - 2 a^{2} p + a p^{2} + 5 a r - 3 b^{2} - 3 b q - 3 p r\\right) z + a^{2} b - 2 a b p + b p^{2} - b r - q r}{10 z^{6} + \\left(5 a + 9 p\\right) z^{4} + \\left(-16 b + 2 q\\right) z^{3} + \\left(4 a^{2} - 3 a p + 3 p^{2} - 6 r\\right) z^{2} + \\left(-4 a b - 7 a q + 3 p q\\right) z + a^{3} - 2 a^{2} p + a p^{2} + a r + b^{2} + 2 b q - p r + q^{2}}$" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = x^3 + a*x + b\n", "g = x^4 + p*x^2 + q*x + r\n", "dispallresults(z, x, f, g)" ] }, { "cell_type": "code", "execution_count": null, "id": "23caff8e-7815-47e7-bd49-ca79b8f5984a", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "encoding": "# -*- coding: utf-8 -*-", "formats": "ipynb,jl:hydrogen" }, "kernelspec": { "display_name": "Julia 1.6.3", "language": "julia", "name": "julia-1.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.6.3" } }, "nbformat": 4, "nbformat_minor": 5 }