Hi there. I was surprised by the following issue with
DSolve[]. I solve a simple boundary value problem:
A v''(t)+B v(t) = F(t)where
A,
B -- 3x3 constant matrices,
v(t) -- 3-component vector-function to be search,
F(t) -- given vector-function. Each component of
v(t) satisfies boundary conditions at the point 0 and 1. The problem is straightforward and it seems no issue of using DSolve should appear for any admissible
F(t).
In my case
is calculated on previous steps. The right part comprises polynomials and hyperbolic sine/cosine.
A={{-0.0446976691736994485306570961892697746090666666666666666666674378662`49.52287874528033,-0.0122435407636821029041771104742790256341333333333333333333335631248`49.52287874528033,0},{-0.0122435407636821029041771104742790256341333333333333333333335631248`49.52287874528033,-0.0536598147341966552641382113292879430192666666666666666666675924962`49.52287874528033,-0.0096221112323151669431839721820219762858666666666666666666668472582`49.52287874528033},{0,-0.0096221112323151669431839721820219762858666666666666666666668472582`49.52287874528033,-0.0331417816735817254686794764933873221642666666666666666666672384845`49.52287874528033}};
B={{0.1340930075210983455919712885678093238272000000000000000000023813023`49.52287874528033,-0.0734612445820926174250626628456741538048000000000000000000013045678`49.52287874528033,0},{-0.0734612445820926174250626628456741538048000000000000000000013045678`49.52287874528033,0.1609794442025899657924146339878638290578000000000000000000028587673`49.52287874528033,-0.0577326673938910016591038330921318577152000000000000000000010252506`49.52287874528033},{0,-0.0577326673938910016591038330921318577152000000000000000000010252506`49.52287874528033,0.0994253450207451764060384294801619664928000000000000000000017656535`49.52287874528033}};
Cv={0.060631762939005728166908625722135170022399999999597036827`41.3422565562137*t,0.212780329640637665497499999999999999999999999999920322284`40.30310235657392-0.033216383531445125976959004348708196540349999999875698403`40.30279030542798*t+0.01606919809093710551519097865719197386425`39.93202436395856*Cosh[1.732050807568877293527446341505872366942805253810380628056`47.307206068870755*t]-0.037769720858996510599008062410418913996548100984997967758`40.303173934606086*Sinh[1.732050807568877293527446341505872366942805253810380628056`47.307206068870755*t],0.1114816941367198054600000000000000000000000000000000000000019797573`49.69897000433602};
(here
Cv used instead of
F(t) ). For solving the problem the following code is used:
Q = DSolve[{A[[1,1]] v1''[t]+A[[1,2]] v2''[t]+B[[1,1]] v1[t]+B[[1,2]] v2[t]==Cv[[1]], A[[2,1]] v1''[t]+A[[2,2]] v2''[t]+A[[2,3]] v3''[t]+B[[2,1]] v1[t]+B[[2,2]] v2[t]+B[[2,3]] v3[t]== Cv[[2]],
A[[3,2]] v2''[t]+A[[3,3]] v3''[t]+B[[3,2]] v2[t]+B[[3,3]] v3[t]== Cv[[3]], v1[0] == 0, v1[1] == 1, v2[0] == 0, v2[1] == 1, v3[0] == 0, v3[1] == 1}, {v1[t],v2[t],v3[t]}, t]
But calculation invokes the error
No more memory available.
Mathematica kernel has shut down.
Try quitting other applications and then retry.
or the error of kernel
I tried to transform the right part into exponential form
Cv0=TrigToExp[Cv]
Now
.
But DSolve cannot solve the problem at all:
Q = DSolve[{A[[1,1]] v1''[t]+A[[1,2]] v2''[t]+B[[1,1]] v1[t]+B[[1,2]] v2[t]== Cv[[1]], A[[2,1]] v1''[t]+A[[2,2]] v2''[t]+A[[2,3]] v3''[t]+B[[2,1]] v1[t]+B[[2,2]] v2[t]+B[[2,3]] v3[t]== Cv0[[2]],
A[[3,2]] v2''[t]+A[[3,3]] v3''[t]+B[[3,2]] v2[t]+B[[3,3]] v3[t]== Cv0[[3]], v1[0] == 0, v1[1] == 1, v2[0] == 0, v2[1] == 1, v3[0] == 0, v3[1] == 1}, {v1[t],v2[t],v3[t]}, t]
Result:
Indeed, I don't understand, what goes wrong?