how do I get rk to do anything?



that would make row vectors, instead of column vectors, right?  Which  
should be OK for using rk, but perhaps not for other purposes, is why  
I was doing matrix([x1], [x2], [x3]) - i understood the documentation  
to mean matrix () needs its rows inside separate [ ].  I was trying  
to make a 3 row by 1 column matrix, i.e., a column 3 vector.

But anyway, don't you have to say x:matrix([x1,x2,x3]); rather than  
just x:[x1,x2,x3]; ?


On Jan 25, 2007, at 3:35 PM, sen1 at math.msu.edu wrote:

>
> 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
>>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima