80 Reputation

7 Badges

11 years, 278 days

MaplePrimes Activity

These are questions asked by ErikP


I am having problems using RowEchelonTransform from the LinearAlgebra[Modular] package. According to the documentation, it returns a triple

Q,rp,d:=LinearAlgebra[Modular][RowEchelonTransform](p, M, false, false, false, false):

where Q and rp are vectors of length r=rank(M). In more detail, rp=[c1,...,cr] lists the (linearly independent) pivot columns, and Q is a list of transpositions that can be used to construct the pivot rows (denoted by the matrix P in the documentation).

Anyway, these details are not so important. My problem is that Q is not always a list of length r. The example

M:=LinearAlgebra[Modular][Mod](p, [[-1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,-1,-1,-1,-1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,-1,-1,1,1,1,1],[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,0,0,0,1],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,-1],[0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0],[0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0]], integer[]):
Q,rp,d:=LinearAlgebra[Modular][RowEchelonTransform](p, M, false, false, false, false):

is a 16x39 matrix M of full rank r=16. I get the output

Q=[1, 9, 5, 5, 13, 10, 10, 11, 10, 14, 15, 12, 15, 16, 16]
rp=[1, 2, 3, 4, 5, 8, 9, 10, 11, 15, 16, 18, 19, 22, 29, 34]

where rp has 16 elements as expected, but Q has only 15 elements.

Hence there is either a bug in RowEchelonTransform, or the documentation of its output is inaccurate.

I reported this to technical support (the Software Change Request Form on MaplePrimes sadly does not work and shows an error when I tried to submit the filled form).

In the meantime, does anyone know a workaround for this?

With thanks,



sometimes I observe extreme delays when simply entering a variable name like fooBar; right after starting a Maple session. This happens when the current directory contains a file with that name, because Maple automatically loads this file.

For example, if I create an empty file fooBar.m and start a Maple session,

> fooBar;
Error, `./fooBar.m` is an incorrect or outdated .m file

raises an error. More often however, I have some huge Maple files in the working directory and whenever I use (by chance) a variable name in the Maple session that matches a filename, Maple tries to load the corresponding file.

Is there a documentation of this behaviour and a possibility to stop this automatic loading of files?




I have trouble in using the function factors. For example, I expect

factor(Pi*(t^2+1), {I});

to output


but instead the result is


This problem does not appear if Pi gets replaced by a general symbol:

factor(pi*(t^2+1), {I});

produces (as I expect it should)


The problem seems to be tied to symbols representing constants, as for example replacing Pi by Catalan also results in no factorization being performed. It further seems to be tied to specifying a splitting field, because


results in


Is this behaviour intended? Probably the reason is that the polynomial does not have algebraic coefficients (as it includes Pi). Indeed,


produces the error message

Error, (in factor) expecting a polynomial over an algebraic number field

But why does this error then not appear for the call factor(Pi*(t^2-1))? If this would assume complex coefficients, it should factor using I. Considering coefficients in an algebraic number field, also the original call factor(Pi*(t^2+1), {I}); should raise an error!?




I am having trouble using the programmer entry point interface to convert/parfrac. As an example consider x/(I*x-1): While

> convert([x, [I*(x+I), 1]], parfrac, x);                   

         [-I, [(I + x) I, -I]]

correctly computes a partial fraction decomposition, the equivalent input

> convert([x, [I*x-1, 1]], parfrac, x);  

results in the error message (both in Maple 16 and 17)

Error, (in convert/parfrac) denominator factors must be coprime

which does not make any sense to me, since there is only a single denominator factor present (and it is even the same factor as in the previous call, only written differently).

What is the reason for this behaviour and how can I use convert/parfrac in a way that avoids such errors?




I am facing the error message "Error, (in factors) Bad inputs to diophant." raised by a call to

factors(p, {I, sqrt(3)}) 

for a polynomial p in 7 variables (with integer coefficients). Unfortunately, the error is not reproducible: After some thousand calls to factors (with different polynomials) this error suddenly occurs.

  1. Interestingly, it does not depend on the actual polynomial,...
1 2 Page 1 of 2