You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@ThomasBreuer
This is about some changes that I intend to suggest, as time permits.
I am approaching this addition to Utils from the position of someone who knows nothing about straight line programs.
It would be useful if this Chapter 10 was relatively self-contained, rather than it being necessary to refer to the reference manual. So here I would like to add a simple example of an slp, and convert one to a gslp.
But, before that, there are some comments to be made on the implementation - see later.
@cdwensley I do not catch the point.
Gslps are intended as a generalization of the slps in the GAP library, which are special cases of gslps.
In particular, there is no conversion of slps into gslps.
In order to make the description of gslps self-contained, we would have to repeat the relevant parts from the description of slps.
Why would this make sense?
It may not be 'useful', but the chapter in the manual starts off by saying that a glsp has one of three forms, the first being a straight line program. So it should be a simple matter to convert an slp into a glsp.
I was not at all sure that GeneralizedStraightLineProgram( "union", [slp1, slp2] ); should work,
though intuitively it should, but it seems to partially:
gap> slp := StraightLineProgram( [ [[1,3,2,3],3], [3,1,2,1,1,1,3,1] ], 2 );
<straight line program>
gap> res := ResultOfStraightLineProgram( slp, gens );
x^3*y^4*x^4*y^3
gap> gslp := GeneralizedStraightLineProgram( "union", [ slp, slp ] );
<generalized straight line program>
gap> gres := ResultOfGeneralizedStraightLineProgram( gslp, gens );
Error, here at lib/gslp.gi:126 called from
<function "ResultOfStraightLineProgram [ IsGeneralizedStraightLineProgram, IsH\
omogeneousList ]">( <arguments> )
called from read-eval loop at *stdin*:155
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk> '''
In this case it appears that data[2] = [ x^3*y^4*x^4*y^3, x^3*y^4*x^4*y^3 ], which is not a list of lists.
This is the addition to the manual which I had in mind.
If you do not like it, we can easily delete this branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
@ThomasBreuer
This is about some changes that I intend to suggest, as time permits.
I am approaching this addition to Utils from the position of someone who knows nothing about straight line programs.
It would be useful if this Chapter 10 was relatively self-contained, rather than it being necessary to refer to the reference manual. So here I would like to add a simple example of an slp, and convert one to a gslp.
But, before that, there are some comments to be made on the implementation - see later.