Muhammad Usman

240 Reputation

5 Badges

12 years, 41 days
Beijing, China

MaplePrimes Activity


These are replies submitted by Muhammad Usman

@Kitonum Thanks for your answer. Need some further modification of above matrix and want to construct the matrix as given in attached file for any values of M1 and M2. Let me explain it.

It is the matrix formulation for M1=M2=4 like this way

A=b

where A is formulated as,

  1. First four rows (highlighted as red) are generated by collocating G’s at t=0 and x=0,1/3,2/3 and 1. For any values of M1 and M2, first M1 rows should generated by collocating G’s at t=0 and x=0,1/M1-1,2/M1-1,…,1.
  2. Next, three rows (highlighted as green) are generated by collocating G’s at x=0 and t=1/3,2/3 and 1. For any values of M1 and M2, next M2-1 rows should generated by collocating G’s at x=0 and t=1/M2-1,2/M2-1,…,1.
  3. Next, three rows (highlighted as blue) are generated by collocating G’s at x=1 and t=1/3,2/3 and 1. For any values of M1 and M2, next M2-1 rows should generated by collocating G’s at x=1 and t=1/M2-1,2/M2-1,…,1.
  4. Finally, the last six rows (highlighted as black) are generated by collocating G’s at x=1/3,2/3 and t=1/3,2/3 and 1. For any values of M1 and M2, next M1M2-M1-2*M2+2 rows should generated by collocating G’s at x=1/M1-1,2/M1-1,…,M1-2/M1-1 and t=1/M2-1,2/M2-1,…,1.

In the similar way, b also generated with the help of functions phi(x), f1(x), f2(x) and g(x,t)

Take phi(x)=sin(x), f1=exp(-t), f2=sin(1)exp(-t) and g(x,t)=sin(x)exp(-2t)+sin(x)

 

Further how we can split A matrix into 3 matrices with same dimension M1M2 y M1M2 as:

A1+A2+A3=A

where A1 has red highlighted portion and rest rows are zero

A2 has green and blue highlighted portions and rest rows are zero

and A3 has black highlighted portion and other rows are zero.

Same procedure for spliting vector f=f1+f2+f3

@Thomas Richard Thanks for your answer. Sorry there were a little mistak in above PDEs the corrected PDEs are

PDE1 := diff(u(y, t), t)+diff(u(y, t), t, t) = diff(u(y, t), y, y)-u(y, t);
PDE2 := v(y, t)+diff(v(y, t), t) = diff(u(y, t), y);
ICandBC := {u(0, t) = 0, u(3, t) = 0, u(y, 0) = 0, v(y, 0) = 0, (D[2](u))(y, 0) = 0};
pds := pdsolve({PDE1, PDE2}, ICandBC, numeric)

Again I got some error given bellow

Error, (in pdsolve/numeric/par_hyp) input system is too far from a 'standard' form (see ?pdsolve,numeric for more detail)

@tomleslie dear In the attachment I wrote the same code as given in above. But in the attached file I used summation form instead of computing integrals which definitely reduces the computational time. My question is can we write our required matrix F in “proc” which reduces more computational time? If yes please help me. I am waiting for your kind response.

nonlinear.mw

@tomleslie that one have some error I just come to know. The above one is new I need help about it

@Preben Alsholm thanks a lot for couple of positive response. Your last response is fruitful for me. But it still take a lot of time in evolution. Can you reduce it computation time. Your positive response is highly appreciable. 

@Preben Alsholm please see the the following file

hELP.mw

@Preben Alsholm thank you for your response. I also have set of numeric values for the above integration. 

x = i/(1.*M1), y = j/(1.*M2) for i=1..M1 and j=1..M2

Now how to evalute it? I tried but got error.

@Preben Alsholm thank you for your answer. Can we integrat it via some numerical method and how?

@Preben Alsholm thanks for your response. I made a little mistake in my asked question. The function U should be the following one

U := q^6*sin(p);

instead of U := y^6*sin(x);

Now please guide me. Thanks

@tomleslie Thanks for your response. In the above code, integration part take alot of timw when NN=4. I need to run it for higher values like NN=7,8,9. Please Let me know how we can reduce computational time here?

@Christian Wolinski thanks for your positive response. I have another problem regarding above querry suppose,

Sol := {u[1, 1, 1, 1] = 0.33004814594903018204e-1, u[1, 1, 2, 1] = 0.67470784550800487342e-1, u[1, 2, 1, 1] = 0.67470784550800487340e-1, u[1, 2, 2, 1] = .13881687114056674193, u[2, 1, 1, 1] = 0.63417136832119584739e-1, u[2, 1, 2, 1] = .13209553008466760265, u[2, 2, 1, 1] = .13209553008466760265, u[2, 2, 2, 1] = .27601195211329433114}

is a set of points if apply your command like

for i while i <= nops(Sol) do (proc (x, y) assign(x, y) end proc)(op(op(i, Sol))) end do

fail to see the value of u[2, 2, 2, 1]; 

File is also attached for more justification

Help.mw

@acer thanks for your positive response!

@Carl Love really sorry to disturbe you again. Actually I did a little mistake. Order of block matrix should be M1M2×M1M2 which have null and F1 matrices of order M2×M2.

Like M1=2 and M2 = 2

Matrix(2, 2, {(1, 1) = O, (1, 2) = O, (2, 1) = F1[2, 1], (2, 2) = O})

where null and F1 matrices of order 2 by 2

and for M1=2 and M2= 3

Matrix(2, 2, {(1, 1) = O, (1, 2) = O, (2, 1) = F1[2, 1], (2, 2) = O})

where null and F1 matrices of order 3 by 3

for M1=3 and M2=2 then we have block matrix

Matrix(3, 3, {(1, 1) = O, (1, 2) = O, (1, 3) = O, (2, 1) = F1[2, 1], (2, 2) = O, (2, 3) = O, (3, 1) = O, (3, 2) = F1[3, 2], (3, 3) = O})

where null and F1 matrices of order 2 by 2

@Carl Love thanks I got it :)
Now I want to define a block matrix F like

restart; with(LinearAlgebra); with(linalg);

M1 := 3; M2 := 3;

OM2 := Matrix(1 .. M2, 1 .. M2, shape = zero);

IM2 := IdentityMatrix(M2)
nu := 1;

printlevel := 3;

for r1 from 2 while r1 <= M1 do

for s1 while s1 <= r1-1 do

if type(r1+s1, odd) then

F1[r1, s1] := (2*(2*s1-2+2*nu))*IM2

end if

end do end do;

F is M1 by M2 block matrix have entries F1[r1, s1] others entries are null matrix (OM2)

It did it for M1=M2=3 and define F manully like

F := blockmatrix(M1, M2, [OM2, OM2, OM2, F1[2, 1], OM2, OM2, OM2, F1[3, 2], OM2])
But I want to know general way how to define F if M1 and M2 large like 10.

 

2 3 4 5 6 7 8 Page 4 of 11