login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for ExampleGroebner revision 4 of 8

1 2 3 4 5 6 7 8
Editor: hemmecke
Time: 2014/12/03 11:59:06 GMT+0
Note:

changed:
-    Find a m and n (depending on the coefficients of p and q
    Find a m and n (depending on the coefficients of p and q)

Application of Groebner Bases

Problem

Let $$p(x) = a x^2 + b x + c, \qquad q(y) = u y^2 + v y + w.$$ Find a m and n (depending on the coefficients of p and q) such that for the transformaton $$y = m x + n$$ it holds $$p(x) = q(m x + n).$$

Setup of the problem

Example code --rrogers, Tue, 02 Dec 2014 23:49:41 +0000 reply
fricas
(1) -> ---- Ordered  variable lists.
Poly_to_Gauss:=[d,n,m]
\begin{equation*} \label{eq1}\left[ d , \: n , \: m \right]?\end{equation*}
Type: List(OrderedVariableList?([d, n, m]))
fricas
Gauss_to_Poly:=[x,y,a,b,c]
\begin{equation*} \label{eq2}\left[ x , \: y , \: a , \: b , \: c \right]?\end{equation*}
Type: List(OrderedVariableList?([x, y, a, b, c]))
fricas
----coefficient arrays.
corg :=  d* matrix [[c,b,a]]
\begin{equation*} \label{eq3}\left[ \begin{array}{ccc} {c \ d}&{b \ d}&{a \ d} \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))
fricas
---- Explicit target
cgauss := matrix [[0, 1, -1]]
\begin{equation*} \label{eq4}\left[ \begin{array}{ccc} 0 & 1 & - 1 \end{array} \right]\end{equation*}
Type: Matrix(Integer)
fricas
---- Generalized target
ctar := matrix [[w,v,u]]
\begin{equation*} \label{eq5}\left[ \begin{array}{ccc} w & v & u \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))
fricas
---- polynomial basis arrays.
xorg := matrix ([[1, x, x^2]])
\begin{equation*} \label{eq6}\left[ \begin{array}{ccc} 1 & x &{{x}^{2}} \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))
fricas
xgauss := matrix([[1,y,y^2]])
\begin{equation*} \label{eq7}\left[ \begin{array}{ccc} 1 & y &{{y}^{2}} \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))
fricas
---- Example
row(corg * transpose(xorg),1)
\begin{equation*} \label{eq8}\left[{{a \ d \ {{x}^{2}}}+{b \ d \ x}+{c \ d}}\right]?\end{equation*}
Type: Vector(Polynomial(Integer))
fricas
----  Translation matrix Pascal Pa(n) for 3x3 case
----  see Aceto below for references.
Pa(n) == matrix [[1,0,0],[n,1,0],[n^2, 2*n,1]]
Type: Void
fricas
---- Scalar matrix
Sc(m) == diagonalMatrix [1,m,m^2]
Type: Void
fricas
---- Now define transform in matrix form
D := corg -(cgauss * Pa(n) * Sc(m))
fricas
Compiling function Pa with type Variable(n) -> Matrix(Polynomial(
      Integer))
fricas
Compiling function Sc with type Variable(m) -> Matrix(Polynomial(
      Integer))
\begin{equation*} \label{eq9}\left[ \begin{array}{ccc} {{{n}^{2}}- n +{c \ d}}&{{2 \ m \ n}- m +{b \ d}}&{{{m}^{2}}+{a \ d}} \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))
fricas
---- Now we do a more realistic solve in two steps
---- Step one disallow silly answers
E:=groebnerFactorize(row(D,1),[b*d,m,a,b^2-3*a*c],true)
we found a groebner basis and check whether it contains reducible polynomials [1] factorGroebnerBasis: no reducible polynomials in this basis we found a groebner basis and check whether it contains reducible polynomials 2 [n - n + c d, 2 m n - m + b d, 2 b d n + (- 4 c d + 1)m - b d, 2 2 2 a n - b m - a, m + a d, (4 a c - b )d - a] factorGroebnerBasis: no reducible polynomials in this basis
\begin{equation*} \label{eq10}\begin{array}{@{}l} \displaystyle \left[{ \begin{array}{@{}l} \displaystyle \left[{{{n}^{2}}- n +{c \ d}}, \:{{2 \ m \ n}- m +{b \ d}}, \: \right. \ \ \displaystyle \left.{{2 \ b \ d \ n}+{{\left(-{4 \ c \ d}+ 1 \right)}\ m}-{b \ d}}, \:{{2 \ a \ n}-{b \ m}- a}, \:{{{m}^{2}}+{a \ d}}, \: \right. \ \ \displaystyle \left.{{{\left({4 \ a \ c}-{{b}^{2}}\right)}\ d}- a}\right] \end{array} }, \right. \ \ \displaystyle \left.\:{\left[ 1 \right]?}\right] \end{array} \end{equation*}
Type: List(List(Polynomial(Integer)))
fricas
----  and clean it up (a lot).  I wish these two steps could be one!
solve(E.1,Poly_to_Gauss)
\begin{equation*} \label{eq11}\begin{array}{@{}l} \displaystyle \left[ \left[{d ={\frac{a}{{4 \ a \ c}-{{b}^{2}}}}}, \:{n ={\frac{{b \ m}+ a}{2 \ a}}}, \: \right. \ \ \displaystyle \left.{{{{\left({4 \ a \ c}-{{b}^{2}}\right)}\ {{m}^{2}}}+{{a}^{2}}}= 0}\right] \right] \end{array} \end{equation*}
Type: List(List(Equation(Fraction(Polynomial(Integer)))))
fricas
---- Now lets test the reasonableness the width to start with is
---- 2*sqrt(b^2-4*a*c)/(2*a)  which the left hand term yields.  There is a sign ambiguity
---- corresponding to whether the source quadratic is to the left or right.
---- I could swap n,m in solve() but then the n term (left hand one) is more obscure
---- Knowing the width m we can compute moving the center to 1/2 (for x*(1-x))
---- It should amount to -b/(2*a)+1/2 
---- and in fact that is the answer n= m(scale factor)*(b/2a)+1/2
---- d is required and in English is a "normalizing factor"
----General formulation Dorg := corg -(ctar * Pa(n) * Sc(m))
\begin{equation*} \label{eq12}\left[ \begin{array}{ccc} {- w -{n \ v}-{{{n}^{2}}\ u}+{c \ d}}&{-{m \ v}-{2 \ m \ n \ u}+{b \ d}}&{-{{{m}^{2}}\ u}+{a \ d}} \end{array} \right]\end{equation*}
Type: Matrix(Polynomial(Integer))

Some or all expressions may not have rendered properly, because Latex returned the following error:
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Debian) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
(./3761376790297841396-16.0px.tex
LaTeX2e <2022-11-01> patch level 1
L3 programming layer <2023-01-16>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2022/07/02 v1.4n Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo))
(/usr/share/texlive/texmf-dist/tex/latex/ucs/ucs.sty
(/usr/share/texlive/texmf-dist/tex/latex/ucs/data/uni-global.def))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/ucs/utf8x.def))
(/usr/share/texlive/texmf-dist/tex/latex/bbm-macros/bbm.sty)
(/usr/share/texlive/texmf-dist/tex/latex/jknapltx/mathrsfs.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/share/texlive/texmf-dist/tex/latex/pstricks/pstricks.sty
(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty)
(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvipsnam.def))
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/pst-xkey.tex
(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)))))
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.tex
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex
`pst-fp' v0.06, 2020/11/20 (hv))
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
(/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex)))
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered
.code.tex))) (/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code
.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet
ric.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod
e.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison
.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.
tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code
.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.
tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari
thmetics.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex)))
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex))
`PSTricks' v3.18  <2022/11/28> (tvz,hv)
--- We are running latex or xelatex ---
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.con)
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks-color.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks-arrows.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks-dots.tex)
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pstricks.con))
(/usr/share/texlive/texmf-dist/tex/generic/pstricks/pst-fp.tex
`pst-fp' v0.06, 2020/11/20 (hv)))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg))))
(/usr/share/texlive/texmf-dist/tex/latex/pst-grad/pst-grad.sty
(/usr/share/texlive/texmf-dist/tex/generic/pst-grad/pst-grad.tex
`pst-grad' v1.06, 2006/11/27 (tvz,dg,hv)))
(/usr/share/texlive/texmf-dist/tex/latex/pst-plot/pst-plot.sty
(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/pst-xkey.sty)
(/usr/share/texlive/texmf-dist/tex/latex/multido/multido.sty
(/usr/share/texlive/texmf-dist/tex/generic/multido/multido.tex
 v1.42, 2010/05/14 <tvz>))
(/usr/share/texlive/texmf-dist/tex/generic/pst-plot/pst-plot.tex
(/usr/share/texlive/texmf-dist/tex/generic/pst-tools/pst-tools.tex
`PST-tools' v0.12, 2021/09/23 (hv))
(/usr/share/texlive/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex
(/usr/share/texlive/texmf-dist/tex/generic/pst-node/pst-node.tex
 v1.43, 2022/01/31)
(/usr/share/texlive/texmf-dist/tex/generic/pst-arrow/pst-arrow.tex
`pst-arrow' v0.05, 2021/11/16 (dr,hv))
(/usr/share/texlive/texmf-dist/tex/generic/pst-3d/pst-3d.tex
`PST-3d' v1.11, 2010/02/14 (tvz))
(/usr/share/texlive/texmf-dist/tex/generic/pst-math/pst-math.tex
`pst-math' v0.66 , (CJ,hv)) `pstricks-add' v3.93, 2022/11/21 (dr,hv))
 v1.94, 2022/11/21 (tvz,hv)))
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty)

Package geometry Warning: `lmargin' and `rmargin' result in NEGATIVE (-108.405p t). `width' should be shortened in length.

) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty) (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty) (/usr/share/texlive/texmf-dist/tex/latex/setspace/setspace.sty) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xy.sty (/usr/share/texlive/texmf-dist/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, docmode, (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyrecat.tex ) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyidioms.tex)

Xy-pic version 3.8.9 <2013/10/06> Copyright (c) 1991-2013 by Kristoffer H. Rose <krisrose@tug.org> and others Xy-pic is free software: see the User's Guide for details.

Loading kernel: messages; fonts; allocations: state, direction, utility macros; pictures: \xy, positions, objects, decorations; kernel objects: directionals, circles, text; options; algorithms: directions, edges, connections; Xy-pic loaded) (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifpdf.sty)) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyall.tex Xy-pic option: All features v.3.8 (/usr/share/texlive/texmf-dist/tex/generic/xypic/xycurve.tex Xy-pic option: Curve and Spline extension v.3.12 curve, circles, loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyframe.tex Xy-pic option: Frame and Bracket extension v.3.14 loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xycmtip.tex Xy-pic option: Computer Modern tip extension v.3.7 (/usr/share/texlive/texmf-dist/tex/generic/xypic/xytips.tex Xy-pic option: More Tips extension v.3.11 loaded) loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyline.tex Xy-pic option: Line styles extension v.3.10 loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyrotate.tex Xy-pic option: Rotate and Scale extension v.3.8 loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xycolor.tex Xy-pic option: Colour extension v.3.11 loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xymatrix.tex Xy-pic option: Matrix feature v.3.14 loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xyarrow.tex Xy-pic option: Arrow and Path feature v.3.9 path, \ar, loaded) (/usr/share/texlive/texmf-dist/tex/generic/xypic/xygraph.tex Xy-pic option: Graph feature v.3.11 loaded) loaded) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty) (/usr/share/texlive/texmf-dist/tex/latex/graphviz/graphviz.sty (/usr/share/texlive/texmf-dist/tex/latex/psfrag/psfrag.sty)) (/usr/share/texmf/tex/latex/sagetex.sty Writing sage input file 3761376790297841396-16.0px.sage ) (/usr/share/texlive/texmf-dist/tex/latex/gnuplottex/gnuplottex.sty (/usr/share/texlive/texmf-dist/tex/latex/moreverb/moreverb.sty) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty) (/usr/share/texlive/texmf-dist/tex/generic/catchfile/catchfile.sty (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty) (/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty) (/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty))

Package gnuplottex Warning: Shell escape not enabled. (gnuplottex) You'll need to convert the graphs yourself.

) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def) No file 3761376790297841396-16.0px.aux. (/usr/share/texlive/texmf-dist/tex/latex/ucs/ucsencs.def) geometry driver: auto-detecting geometry detected driver: dvips (/usr/share/texlive/texmf-dist/tex/latex/jknapltx/ursfs.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]

Package amsmath Warning: Foreign command \over; (amsmath) \frac or \genfrac should be used instead (amsmath) on input line 192.

Missing \right. inserted. <inserted text> \right . l.193 \

Extra \right. l.196 ... {{m}^{2}}}+{{a}^{2}}}= 0}\right] \right]

[14] [15] (./3761376790297841396-16.0px.aux)

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

) (see the transcript file for additional information) Output written on 3761376790297841396-16.0px.dvi (15 pages, 5568 bytes). Transcript written on 3761376790297841396-16.0px.log.