DoingMath2018

35 Reputation

5 Badges

6 years, 227 days

MaplePrimes Activity


These are replies submitted by DoingMath2018

@Carl Love 

That works for me. I'm still going to make my own CAS in Emacs Lisp, though, because Maple, Mathematica, Maxima, Sympy, and Axiom have wasted my valuable time.

@acer 

"Providing more details of the input example class and also how the result will be subsequently utilized should surely be a core part of the question."

There are these newfangled mathematical objects called "functions" or "mappings". See Riemann, Cauchy, and Church for more info about these new things called functions.

 

@acer 

Here you've shown how to take the Jacobian of an expression instead of a mapping. That doesn't solve the problem of taking the Jacobian of a mapping. Everyone is taking turns pretending I'm trying to do this to an expression, despite the title of the thread and the original post. You did this:

expr := [x^2-y^2+a*z+Int(cos(q*r*s),r=0..1)];

That thing depends on the values of x and y. Fail. Now look at this:

myFunction := proc(x,y)
x+y
end proc

Now if I globally set x to 4, the function will not break. Encapsulation and abstraction they called that in computer science, iirc.

If I'd done it your way "myFunction := x+y", then globally setting x to 4 is going to change the value of your expression. Exactly what I don't want.

But you all never heard of functions or functional operators. 

Here is how functions and operators work:

I'm not making this stuff up. Operators are a big deal in modern physics, for the past century.

@acer 

Your code relies on 'D', but 'D' is broken: 

https://mapleprimes.com/questions/227007-How-To-Take-Partial-Derivative-Of-A-Mapping

If 'D' worked, there would be no problem, but it doesn't work. That's the whole thing about defective software.

@acer 

"I have constructed a single Vector-valued procedure rather than a Vector of procedures. I'm not sure which you want."

Either one would work. Thank you, I will try it.

"I think it would be easier to learn how to leverage Maple's functionality than it would be to implement your own basic CAS." I know how to implement LISP with lexcial scoping, how to pattern match, how to implement all the differentiation rules I need, and how to sum all series I need, so I'd have been better off implementing my own CAS.

Tomorrow morning instead of continuing with Maple, I'll start implementing my own CAS to compute Jacobians of symbolic mappings (mappings taking an arbitrary number of arguments). I'll implement my system in the LISP built into Emacs.

@acer 

Thanks for understanding the problems I'm against.

"One could map unapply over an expression-based solution like yours, after the fact, to get a result with operators. But that is a kludge generally weaker than..."

Another problem with that is, I need a solution that is generic no matter how many arguments there are to the mapping. The jacobian-functionallity I need might receive an "(x,y) ->" mapping, or an "(x,y,z)->" mapping. So in order to kludge the mapping into an expression suitable for Maple's Jacobian function, I'd need to create an arbitrary number of unbound variable-symbols at runtime. If that's possible in Maple, it's too much to ask of a beginner who just wants the Jacobian of a mapping.

@acer 

The thread just censored wasn't a duplicate. The mod who censored the other thread censored the full details.

@Carl Love 

I reported the apparent bug thwarting me here and included code for reproducing it:

https://www.mapleprimes.com/posts/210520-Taking-Partial-Derivative-Of-A-Mapping

Edited to add: But then a mod censored my bug report.

Thanks for the answers.

1 2 3 Page 2 of 3