Muhammad Usman

145 Reputation

5 Badges

6 years, 194 days
Beijing, China

MaplePrimes Activity


These are questions asked by Muhammad Usman

Dear Users!

Hope you would be fine with everything. I have following code to generate marix A of order M by M

restart; with(LinearAlgebra); with(linalg); Digits := 30; M := 10; nu := 1;

for k1 while k1 <= M do

C[k1] := simplify(sum((-1)^(k1-1-i1)*GAMMA(k1-1+i1+2*nu)*GAMMA(nu+1/2)*x^i1/(GAMMA(i1+nu+1/2)*factorial(k1-1-i1)*factorial(i1)*GAMMA(2*nu)), i1 = 0 .. k1-1))

end do;

A := evalm(Matrix(M, M, proc (i, j) options operator, arrow; eval(C[j], x = (i-1)/(M-1)) end proc))

I want to split (or decompose) A into two parts Ad and Ab 

A = Ab + Ad

where Ad is M by M matrix of all entries of A but first and last rows of Ad shoud be zero

and Ab is M by M matrix with zero entries expect first and last rows.

For exmaple for M = 5, A, Ab and Ad are given as,

Ab := Matrix(5, 5, {(1, 1) = 1, (1, 2) = -2, (1, 3) = 3, (1, 4) = -4, (1, 5) = 5, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (2, 4) = 0, (2, 5) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 0, (3, 5) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (5, 1) = 1, (5, 2) = 2, (5, 3) = 3, (5, 4) = 4, (5, 5) = 5});

Ad := Matrix(5, 5, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (2, 1) = 1, (2, 2) = -1, (2, 3) = 0, (2, 4) = 1, (2, 5) = -1, (3, 1) = 1, (3, 2) = 0, (3, 3) = -1, (3, 4) = 0, (3, 5) = 1, (4, 1) = 1, (4, 2) = 1, (4, 3) = 0, (4, 4) = -1, (4, 5) = -1, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0});

Please help me to fix this problem.
Special request @acer @Carl Love @Kitonum @Preben Alsholm

Hi User!

Hope you would be fine with everything. I have a vector "POL" of M dimension obatined for the following expression

restart; with(LinearAlgebra); nu := 1; M := 3;
for k while k <= M do
Poly[k] := simplify(sum(x^i*GAMMA(nu+1)/(factorial(i)*GAMMA(2*nu)), i = 0 .. k-1))
end do;
POL := `<,>`(seq(Poly[k], k = 1 .. M))

and I want to construct a matrix of M by M by collocating it on the points x=i/(M-1) for i=0,1,2,...,M-1 like the following way,

For M=3 I need

Matrix(3, 3, {(1, 1) = Poly[1](0), (1, 2) = Poly[1](1/2), (1, 3) = Poly[1](1), (2, 1) = Poly[2](0), (2, 2) = Poly[2](1/2), (2, 3) = Poly[2](1), (3, 1) = Poly[3](0), (3, 2) = Poly[3](1/2), (3, 3) = Poly[3](1)});

For M=4 I need

Matrix(4, 4, {(1, 1) = Poly[1](0), (1, 2) = Poly[1](1/3), (1, 3) = Poly[1](2/3), (1, 4) = Poly[1](1), (2, 1) = Poly[2](0), (2, 2) = Poly[2](1/3), (2, 3) = Poly[2](2/3), (2, 4) = Poly[2](1), (3, 1) = Poly[3](0), (3, 2) = Poly[3](1/3), (3, 3) = Poly[3](2/3), (3, 4) = Poly[3](1), (4, 1) = Poly[4](0), (4, 2) = Poly[4](1/3), (4, 3) = Poly[4](2/3), (4, 4) = Poly[4](1)})

 

and general form is like this

[[[Poly[1](0/(M-1)),Poly[1](1/(M-1)),Poly[1]((2)/(M-2)),...,Poly[1]((M-1)/(M-1))],[Poly[2](0/(M-1)),Poly[2]((1)/(M-1)),Poly[2]((2)/(M-1)),...,Poly[2]((M-1)/(M-1))],[Poly[3]((0)/(M-1)),Poly[3]((1)/(M-1)),Poly[3]((2)/(M-1)),...,Poly[3]((M-1)/(M-1))],[...,...,...,...,...],[Poly[M]((0)/(M-1)),Poly[M]((1)/(M-1)),Poly[M]((2)/(M-1)),...,Poly[M]((M-1)/(M-1))]]];

Another problem is I want to define a vector of M dimension using a function f(x)=sin(x) and two points a=1, b=2 like the following way,

Vec:=[[[a],[f((1)/(M-1))],[f((2)/(M-1))],[f((3)/(M-1))],[...],[f((M-1)/(M-1))],[b]]]
Please fix my problem. I'm waiting for your kind response.
Special request @acer @acer @Carl Love @Kitonum @Preben Alsholm

Dear Users!

Hope you would be fine with everything. I want the simpliest for of the following expression in two step:

diff(U(X, Y, Z, tau), tau)+U(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), X))+V(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Y))+W(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Z))+u[delta]*lambda[1]*(diff(U(X, Y, Z, tau), tau, tau))/L[delta]+u[delta]*lambda[1]*(diff(U(X, Y, Z, tau), tau))*(diff(U(X, Y, Z, tau), X))/L[delta]+u[delta]*lambda[1]*U(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), tau, X))/L[delta]+u[delta]*lambda[1]*(diff(V(X, Y, Z, tau), tau))*(diff(U(X, Y, Z, tau), Y))/L[delta]+u[delta]*lambda[1]*V(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), tau, Y))/L[delta]+u[delta]*lambda[1]*(diff(W(X, Y, Z, tau), tau))*(diff(U(X, Y, Z, tau), Z))/L[delta]+u[delta]*lambda[1]*W(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), tau, Z))/L[delta];
Step 1:
diff(U(X, Y, Z, tau), tau)+U(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), X))+V(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Y))+W(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Z))+u[delta]*lambda[1]*(diff(diff(U(X, Y, Z, tau), tau)+U(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), X))+V(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Y))+W(X, Y, Z, tau)*(diff(U(X, Y, Z, tau), Z)), tau))/L[delta];
Step 2: (final form I need)
(1+(u[delta] lambda[1])/(L[delta]) (&PartialD;)/(&PartialD;tau)) ((&PartialD;)/(&PartialD;tau) U(X,Y,Z,tau)+U(X,Y,Z,tau) ((&PartialD;)/(&PartialD;X) U(X,Y,Z,tau))+V(X,Y,Z,tau) ((&PartialD;)/(&PartialD;Y) U(X,Y,Z,tau))+W(X,Y,Z,tau) ((&PartialD;)/(&PartialD;Z) U(X,Y,Z,tau)));
I'm waiting for your response.
Special request:
@acer @Carl Love @Kitonum @Preben Alsholm

Dear Users!

Hoped everything going fine with you. I want to make animation of ten solutions as given bellow but fail to do that. Please see it fix the problem. I shall be very thankful to u.
SOLNSuy[1, 1] := 2.5872902469406659197*10^(-20)-.65694549571241255901*y+1.9708364871372376767*y^2-1.3138909914248251176*y^3-1.6010739356637904911*10^(-19)*y^4;
SOLNSuy[2, 1] := -4.002204462000*10^(-20)-1.7879176897079605225*y+5.3637530691192141414*y^2-3.5758353794044226250*y^3-6.8309939211286845440*10^(-12)*y^4;
SOLNSuy[3, 1] := -1.1953264450000*10^(-19)-3.2481690589079594122*y+9.7445071767154794599*y^2-6.4963381177952273213*y^3-1.2292726248071398400*10^(-11)*y^4;
SOLNSuy[4, 1] := -2.6720465500000*10^(-19)-4.9239979672954025921*y+14.771993901873204315*y^2-9.8479959345587718955*y^3-1.9029826928878336000*10^(-11)*y^4;
SOLNSuy[5, 1] := 3.416928541000*10^(-20)-6.7268498492441931137*y+20.180549547714413714*y^2-13.453699698443639810*y^3-2.6580790570532587008*10^(-11)*y^4;
SOLNSuy[6, 1] := -2.554122292000*10^(-20)-8.5884528335125514887*y+25.765358500514014457*y^2-17.176905666966875698*y^3-3.4587270427710613504*10^(-11)*y^4;
SOLNSuy[7, 1] := -9.206107680000*10^(-20)-10.456823708331499352*y+31.370471124965259849*y^2-20.913647416590986491*y^3-4.2774005353527132160*10^(-11)*y^4;
SOLNSuy[8, 1] := 1.9644186790000*10^(-19)-12.293003938471349390*y+36.879011815379230436*y^2-24.586007876856948223*y^3-5.0932823222176363520*10^(-11)*y^4;
SOLNSuy[9, 1] := -3.775112769000*10^(-19)-14.068404975282556550*y+42.205214925807397100*y^2-28.136809950465931724*y^3-5.8908824448577377280*10^(-11)*y^4;
SOLNSuy[10, 1] := 1.146281780000*10^(-19)-15.762658869974768890*y+47.287976609878780960*y^2-31.525317739837422477*y^3-6.6589592851037286400*10^(-11)*y^4;
plots[animate](plot, [SOLNSuy[A, 1], y = 0 .. 1], A = 1 .. 10);

Special request:
@acer @Carl Love @Kitonum @Preben Alsholm

Dear Users!
Hope everyone is fine here. I have some questions about the following code:

Sol := {u[1, 1, 1, 1] = 0.2754389666e-1, u[1, 1, 1, 2] = 0.1305849194e-1, u[1, 1, 1, 3] = 0.2886163307e-2, u[1, 1, 1, 4] = -0.7346547512e-3, u[1, 1, 2, 1] = 0.4659732849e-1, u[1, 1, 2, 2] = 0.1466736306e-1, u[1, 1, 2, 3] = 0.2615590961e-3, u[1, 1, 2, 4] = -0.2999417306e-2, u[1, 2, 1, 1] = 0.4659732850e-1, u[1, 2, 1, 2] = 0.1466736306e-1, u[1, 2, 1, 3] = 0.2615590934e-3, u[1, 2, 1, 4] = -0.2999417305e-2, u[1, 2, 2, 1] = 0.7816751150e-1, u[1, 2, 2, 2] = 0.1319905841e-1, u[1, 2, 2, 3] = -0.3594991974e-2, u[1, 2, 2, 4] = -0.6810219469e-2, u[2, 1, 1, 1] = 0.4277449264e-1, u[2, 1, 1, 2] = -0.7962732407e-2, u[2, 1, 1, 3] = -0.1373208839e-1, u[2, 1, 1, 4] = -0.2756504221e-2, u[2, 1, 2, 1] = 0.7104313232e-1, u[2, 1, 2, 2] = -0.2934293200e-1, u[2, 1, 2, 3] = -0.1500623941e-1, u[2, 1, 2, 4] = -0.3113543133e-2, u[2, 2, 1, 1] = 0.7104313230e-1, u[2, 2, 1, 2] = -0.2934293199e-1, u[2, 2, 1, 3] = -0.1500623942e-1, u[2, 2, 1, 4] = -0.3113543128e-2, u[2, 2, 2, 1] = .1180017068, u[2, 2, 2, 2] = -0.7162229544e-1, u[2, 2, 2, 3] = -0.8898045960e-2, u[2, 2, 2, 4] = -0.9223166732e-2};
My aim is to write all the entries in Sol like the following way

u[1, 1, 1, 1] := 0.2754389666e-1;

u[1, 1, 1, 2] := 0.1305849194e-1;

u[1, 1, 1, 3] := 0.2886163307e-2;

and so on. For this I used the following logic (op command)

for i from 1 by 1 while i <= 32 do

lhs(op(i, Sol)) := rhs(op(i, Sol))

end do;
But it cant work. Please help me to solve my matter. I shall be greatful to you for your positive response. Please take care and thanks in advance.

Special request

@acer @Carl Love @Kitonum @Preben Alsholm

1 2 3 4 5 6 7 Last Page 1 of 29