First, I would like to suggest a change of the subject heading. What we are really talking about now is something different than what was meant by Marduk's initial question about coefficients and "support".
I would really like to continue this discuss with a focus on adding the noncommutative polynomial code written by Conrad to FriCAS. I think this code is almost ready for wider distribution but we need a more integrated set of tests (based on examples from the papers) and maybe some brief documentation to be added to hyperdoc. On Tue, Jun 5, 2018 at 9:40 AM, Raymond Rogers <[email protected]> wrote: > If anybody is interested: > In > A Standard Form in (some) Free Fields: How to construct > Minimal Linear Representations > Konrad Schrempf > 1803.10627.pdf > Note that this paper is about Free Fields - something a little more general and bit more ambitious than the algebra. > 1) On page 7 "Scalar Multiplication" (first line) my original question is > defined/stated. I will follow up on checking how to access it in the > nc_ini03.input environment. > Page 7 describes how the elementary field operations are implemented in the ALS representation. > > On Fri, Jun 1, 2018, 1:07 PM Raymond Rogers <[email protected]> > wrote: >> >> Question: is there some way to introduce a commutating >> variable/parameter/undefined "a" into the the equations? >> i.e. (1+3*x^2)*(2+a*x*y) >> x,y NCP >> "a" being a parameter, a member of K the base field. >> >> Making it a part of the alphabet {x,y,a} works, produces some reasonable >> outputs, but I have a feeling that it's unnecessarily restrictive. I >> hope this is not an _extremely_ silly question. No, your question is about parameters, i.e. symbols that are interpreted as coefficients rather than polynomials. The scalar operation in page 7 only provides the recipe for scalar multiplication - something that is required in order to be an Algebra. This is orthogonal to the issue of symbolic coefficients. What you want is something like this: ALPHABET := ['x, 'y, 'z, 'w]; PARAMETERS := ['a,'b,'c, 'd]; OVL ==> OrderedVariableList(ALPHABET) OFM ==> FreeMonoid(OVL) MP ==> MPOLY(PARAMETERS,Integer) F ==> Fraction(MP) XDP ==> XDPOLY(OVL, F) NCP ==> NCPOLY(OVL, F) x := 'x::OFM::XDP; y := 'y::OFM::XDP; z := 'z::OFM::XDP; w := 'w::OFM::XDP; a := 'a::F; b := 'b::F; c := 'c::F; d := 'd::F; -- NCPOLY expects the scalar coefficients F to be a Field. To answer you question you want F to be symbolic. For example: p_01 : NCP := a - b*x*y p_02 := p_01 + 2*p_01 rank(p_02) p_03 := addSTD(p_01, p_01) size(p_03) p_11 : NCP := x*y*x*y+a p_14: NCP := a*x*y+b*z representation(p_14) pencil(p_14) multiplyRow!(p_14, 3, 7); p_14 p_02 :: XDP p_12 := p_02*p_02+p_02 p_12 :: XDP fct_12 := factorization(p_12) test(p_12 :: XDP = fct_12(1)::XDP * fct_12(2)::XDP) > 2) Example 3.4 doesn't work on my system. Is this just not implemented or > do I need more included functions? > -------- > The command and answer is: > -> pp_02 : NCP :=(y^(-1)-x)^(-1) > > >> Error detected within library code: > NCPOLY: inverse(f) - polynomial not invertible. > ------------- In an algebra where the coefficients form a Field, only the scalar polynomials are invertible. NCPOLY implements inverse (f:%) : % == not(scalar?(f)) => error "NCPOLY: inverse(f) - polynomial not invertible." zero?(qeltv(f.lmmp, 1, POS_1)) => error "NCPOLY: inverse(f) - zero element is not invertible." return(copy(1, 1/qeltv(f.lmmp, 1, POS_1))) -- Something more general is required (as discussed in the paper) if we want a Free Field rather than just an algebra. > Is there a large gap between nc_ini03.input and 1803.10627.pdf; did I > misunderstand the relationship? > > Keep in mind that "1803.10627.pdf" is describing something more general. From offline discussions with Konrad I gather that the FriCAS coding for the latter is still somewhat of a work-in-progress but he is willing to discuss it if there is some interest in such a generalization. Bill Page. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
