sursumCorda

1324 Reputation

15 Badges

3 years, 305 days

MaplePrimes Activity


These are replies submitted by sursumCorda

@C_R I noticed one edge case: given that undo(series(f(z), z)) at present returns z rather than series, it would be prudent, for robustness, to add the following special case:

	elif e::series then
		whattype(e)

@C_R If my understanding is not incorrect, f(g(x)(h(x))) should be “reverted” into f@g(x)@h, as 

apply(f@g(x)@h, x);
                         f(g(x)(h(x)))

Besides, there exists an apparently related built-in function `liesymm/convert/at`, yet it does not satisfy the requirement.

What is the desired output when the input is something like f(g(h(x), x)), f(g(x)(h(x))), f(g(D(x))) or f(g(h(x)()))? 

@acer Thanks.

The documentation of `simplify/constant` suggests that we can use 

simplify(combine(convert(f,ln),ln),constant);

instead of 

simplify(combine(convert(f,ln),ln));

but actually the former does not work (although “simplify(combine(convert(f,ln),ln),ln);” works). 
Have I misunderstood the usage of the subroutine `simplify/constant`?

What are the definitions of the variables “sValues” and “colors”? In the code you provided so far, they are not assigned values.

As the documentation states, one can see complete code by clicking the “showstat” bottom (or typing the “showstat” command). (Anyway, it has to be admitted that Maple's debugger interface is not as interactive as MatLab's debugger panel.)

@dharr Many thanks! Perhaps it's worth further distinguishing between the two distinct FAIL cases (as the former is due to the insufficient Digits while the latter is because B does not belong to the algebraic number field generated by a1). Anyway, it works well enough. 

@dharr Thanks! It's really surprising that Maple doesn't support this functionality perfectly. I hope there will be a unified function to handle them in the future.

@vv Many thanks. However, it seems like a coincidence that this command can be used for this problem, as it does not appear to work in some other cases. 
For example, let 

a := RootOf(4*_Z^3 - 12*_Z^2 - 24*_Z - 25, index = 1): # which actually equals “(b + 1)^2”, but assuming we do not know this beforehand
b := RootOf(2*_Z^3 - 3, index = 1):
c := convert((-1)^(1/4), RootOf):
d := convert((sqrt(2) - 1)*I, RootOf): # which actually equals “c*(c^2 - c + 1)”, but assuming we do not know this beforehand

Can Maple express `a` in the field generated by `b`, and vice versa? And can Maple express `d` in the field generated by `c`, and vice versa? The `evala/Primfield` command no longer works (that is, cannot find desired representations) in these cases. (In older versions of Maple, running “evala(Primfield({a, b}));” would raise an error message.)

@Carl Love Here is an example: 

m := Matrix([[2, -1, -1, 1, -(1/2), -(1/2), -3, 3/2, 3/2], [-1, 
     2, -1, -(1/2), 1, -(1/2), 3/2, -3, 3/2], [-1, -1, 
     2, -(1/2), -(1/2), 1, 3/2, 3/2, -3], [1, -(1/2), -(1/2), 
     5, -(5/2), -(5/2), 30, -15, -15], [-(1/2), 1, -(1/2), -(5/2), 
     5, -(5/2), -15, 30, -15], [-(1/2), -(1/2), 1, -(5/2), -(5/2), 
     5, -15, -15, 30], [-3, 3/2, 3/2, 30, -15, -15, 
     225, -(225/2), -(225/2)], [3/2, -3, 3/2, -15, 30, -15, -(225/2), 
     225, -(225/2)], [3/2, 3/2, -3, -15, -15, 30, -(225/2), -(225/2), 
     225]], 'shape' = 'symmetric', 'datatype' = float[8]):
Student:-NumericalAnalysis:-MatrixDecomposition(m, 'method' = 'LDLt'): # this works 
LDLT(m); # this does not work 
                              FAIL

Perhaps I misused the `LDLT` procedure? 

@Christopher2222 The latest review is: https://www.wolfram.com/mathematica/compare-mathematica/files/ReviewOfMaple2025.pdf. (See also https://www.wolfram.com/system-modeler/modeling-tools-comparison/index.php and https://www.wolfram.com/mathematica/compare-mathematica/compare-mathematica-and-maple.html.) 
It is worth noting that a member of staff of the WRI also adds some functions into Mma that have been added into new releases of Maple, e.g., CaterpillarTreeQ (28 March 2025). 

It seems that the conditioned `patmatch` does not recognize something like “a(b)(c)” (as well as D(f)(…) in this problem). 
Here is a minimal working example: 

patmatch(a(b)(c), conditional(d::anything, _has(d, b)));
Error, (in PatternMatching:-AlgStruct:-Match) string or symbol expected for substring

@TechnicalSupport Many thanks for not forgetting this issue! 

@Joe Riel Thanks. However, if the procedure does not return the specific argument, this workaround will no longer work. 
Besides, the coercion and structured types seem to be mutually exclusive; I cannot use something like coerce(set(posint), …). Is this another bug? 

@Carl Love Thanks for your concise improvement. The only disadvantage is that the `?()` operator is not easily searchable in the documentation. 

1 2 3 4 5 6 7 Last Page 1 of 23