how do I get rk to do anything?



On Thu, 25 Jan 2007, Dan Solomon wrote:

> I really appreciate everyone's help, but I have two questions.
> 1.  How can I learn the differences/relationships between lists,
> arrays, and matrices?  I've read the documentation (a few times), and
> I never picked up the idea that if I define init[1], init[2], and init
> [3], maxima wouldn't realize that "init" meant the 3 vector.
>
> 2.  is there a way to define my vectors, dxdt, x, and init, so that
> it will work to issue the command
> rk(dxdt, x, init, [t,0,1,.1])


How about e.g.,

x: [x1,x2,x3];

dxdt: [x1*exp(-x2) - x2^(-3), x1 + x2, x1 + x3];

init: [2.0, -1.1, 3.2];

sol: rk(dxdt, x, init, [t,0,1,.1]);


> Thanks again!
> Dan
> On Jan 25, 2007, at 10:46 AM, sen1 at math.msu.edu wrote:
>
>> My guess is that Dan wanted to write his system of DE's using matrix
>> methods to simply express them.  So, his original right hand side is a
>> vector function whose components are 1x1
>> matrices of functions instead of functions.  So, all that was
>> necessary to get it to work is to replace
>>
>> [dxdtau[1],dxdtau[2],dxdtau[3]]
>>
>> by
>>
>> [dxdtau[1][1],dxdtau[2][1],dxdtau[3][1]]
>>
>> Thus, instead of his right side of the DE looking like (using x,y,z
>> instead of x[1],x[2],x[3] for easier writing)
>>
>> [[x^2 + y^2], [x - y], [z*y*z]], it should have looked like
>>
>> [x^2 + y^2, x - y, z*y*z]
>>
>> Hence, the simple fix above.  I think Jaime's manual and the examples
>> are fine as written.  If one wants to use matrices of functions to
>> define systems of equations, one just has to convert back to the
>> standard thing maxima expects.  I don't know if it is worth rewriting
>> the code to take care of this.  But, it might be worthwhile to put an
>> example or two in the manual to show how to deal with this.
>>
>> -sen
>>
>>
>> ----------------------------------------------------------------------
>> -----
>>   | Sheldon E. Newhouse            |    e-mail:
>> sen1 at math.msu.edu           |
>>   | Mathematics Department         |       				   |
>>   | Michigan State University      | telephone:
>> 517-355-9684                |
>>   | E. Lansing, MI 48824-1027 USA  |       FAX:
>> 517-432-1562                |
>>
>> ----------------------------------------------------------------------
>> -----
>>
>> On Thu, 25 Jan 2007, Robert Dodier wrote:
>>
>>> Dan, it looks like the basic problem is that Maxima treats lists and
>>> matrices in ways that are somewhat less than obvious.
>>> I'll try to clarify some points.
>>>
>>> On 1/25/07, Jaime E. Villate <villate at fe.up.pt> wrote:
>>>> On Thu, 2007-01-25 at 06:12 -0500, Dan Solomon wrote:
>>>>> I don't understand your comment.  Don't I have x as a 3-vector?
>>>>
>>>> No, you don't. x[1], x[2], x[3] have no relation to the variable x.
>>>> x and x[1] are considered different variables in Maxima.
>>>
>>> Well, if the user writes x:[a, b, c] (i.e. assign a list to x) then
>>> x[1], x[2], and x[3] are indeed related to x; those are the three
>>> elements of x.
>>>
>>> Dan, I think you want x:[a, b, c], not x[1]:a, etc -- in the latter
>>> form, x doesn't refer collectively to a, b, and c.
>>> Whether that's a design flaw is a topic for a rainy day ....
>>>
>>>> The first argument given to rk must be a list of expressions. You
>>>> first
>>>> tried with a 3x1 matrix dxdtau. It won't work. You then tried
>>>>   [dxdtau[1],dxdtau[2],dxdtau[3]]
>>>>
>>>> this is not a list of expressions either. Please notice that since
>>>> dxdtau is a matrix, dxdtau[1] is the first row of that matrix;
>>>> namely,
>>>> it is a list itself.
>>>
>>> Lists are not row or column matrices, and the elements of a
>>> row or column matrix must be indexed by 2 indices (one of which
>>> is always 1). Dan, probably what you want is to make dxdtau a list.
>>>
>>> Hope this helps -- I'm sorry if the treatment of lists and matrices
>>> is confusing. I would be interested to hear your comments on this
>>> point.
>>>
>>> Robert Dodier
>>> _______________________________________________
>>> Maxima mailing list
>>> Maxima at math.utexas.edu
>>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>>
>> _______________________________________________
>> Maxima mailing list
>> Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>