On Sat, Mar 14, 2015 at 7:11 AM, Kip Murray <[email protected]> wrote:
> I recommend a matrix approach involving eigenvalues and eigenvectors,
> and assume you have a way to find eigenvalues and eigenvectors for an n by
> n matrix which has n linearly independent eigenvectors. I confine my
> attention to linear differential equations with constant coefficients and
> right hand side 0, for example
>
> u''' - u'' - 4 u' + 4 u = 0 with initial conditions u(0) = 2 , u'(0) = _1
> , and u''(0) = 5
>
> This has the solution u(t) = ( ^ _2 * t ) + ( ^ t ) where I use a mix of
> conventional and J notation.
I decided to try converting your notes here to J, and I ran into a snag.
First, I tried expressing your initial constraints in J:
constraint=: 1 :0
if. 0 = y do.
assert. 2 = u y
assert. _1 = u D. 1 y
assert. 5 = u D. 2 y
end.
assert. 0= (u D.3 + (_1*u D.2) + (_4 * u D. 1) + 4 * u) y
)
And then I expressed your solution in J:
solution=:3 :0
(^ _1 * y) + ^ y
)
Or, alternatively:
tacitsolution=: +&^ -
And then I tested my code to see if I had gotten it right:
solution constraint 0
|assertion failure
| _1=u D.1 y
Looking at this:
solution D.1 (0)
9.76996e_8
tacitsolution D.1 (0)
9.76996e_8
working this through manually,
dsolution=: 3 :0
(_1 * ^ _1*y) + ^ y
)
dsolution 0
0
So J's implementation of D. isn't perfect, but I'm wondering if you
might not also have a typo somewhere in your presentation here?
Thanks,
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm