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
>