# Question:How to formulate this eq. (system) with matrices and vector-valued functions?

## Question:How to formulate this eq. (system) with matrices and vector-valued functions?

Apologies for possible double post, it seemingly locked up upon trying to post the first time.

So before I get as far as to ask for how to get a certain PDE system solved and plotted, I tried to fiddle a little bit around with linear algebra.

• First, the file SystemGoesWrong.mw . I have issues with declaring (same result if I remove the with(VectorCalculus)); as far as I can see, EQ0 and EQ00 should be the same, except that I have summed the vector in one of them. And the first that "works", is wrong: it returns a scaling of a vector. How come?
• But then I copy everything from the heading and down into a worksheet where I was already fighting some linear algebra things (can someone please explain?): SystemDeclaresBut.mw
Then EQ0 and EQ00 declare just fine! What is the issue?
• How do I get Maple to list the equations in "compact" form with vector-valued functions so that I can read and debug?  The actual PDE system I want to solve (numerically, of course), looks as follows: DE4Maple.pdf
That was also the reason why I tried to declare procedures (coordinate-wise maximum ...), but I guess that questions on how to extract a solution and plot it in a particular way will be its own posting after I have learned how to declare it.

The contents of the first file:

 >

# Since I do not have any idea of how to get vectors nicely, ...

... I replace U0, U1, U2 by u,v,w and use difftables U,V,W.  And y1, y2 replaced by y,z.

 >
 >
 (1)
 >
 >
 (2)
 >
 (3)

# The system

 >
 (4)
 >
 >
 >

... and of the second:

 >

Over to some linear algebra.

 >
 >
 >
 (1)
 >
 (2)
 >
 (3)
 >
 (4)
 >
 >
 >
 normsqbyDot := proc() local theArgs, arg, look, me, cf, term;    1   me := eval(procname,1);    2   theArgs := args;    3   look := tablelook(('procname')(theArgs),'[`/POS`(1,normsqbyDot,1), `/BIND`(1,1,`/y1`::VectorCalculus:-Vector), `/PATTERN`(`/y1`^2)]');    4   if look <> FAIL then    5     eval(look,`/FUNCNAME` = procname)        else    6     ('procname')(theArgs)        end if end proc
 >
 >
 normsqbyMatrixProduct := proc() local theArgs, arg, look, me, cf, term;    1   me := eval(procname,1);    2   theArgs := args;    3   look := tablelook(('procname')(theArgs),'[`/POS`(1,normsqbyMatrixProduct,1), `/BIND`(1,1,`/y1`::Matrix), `/PATTERN`(`/y1`^2)]');    4   if look <> FAIL then    5     eval(look,`/FUNCNAME` = procname)        else    6     ('procname')(theArgs)        end if end proc
 >
 >
 (5)
 >
 (6)
 >

# Since I do not have any idea of how to get vectors nicely, ...

... I replace U0, U1, U2 by u,v,w and use difftables U,V,W.  And y1, y2 replaced by y,z.

 >
 (7)
 >
 (8)
 >
 >
 (9)
 >
 (10)

# The system

 >
 (11)
 >
 (12)
 >