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

Reply via email to