Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

We solve Laplace's equation in the domain a < r and r < b, c < t and t < d
in polar coordinates subject to prescribed Dirichlet data.

Maple produces a solution in the form of an infinite sum,
but that solution fails to satisfy the boundary condition
on the domain's outer arc.  Is this a bug or am I missing
something?

restart;

kernelopts(version);

`Maple 2019.1, X86 64 LINUX, May 21 2019, Build ID 1399874`

with(plots):

pde := diff(u(r,t),r,r) + diff(u(r,t),r)/r + diff(u(r,t),t,t)/r^2 = 0;

diff(diff(u(r, t), r), r)+(diff(u(r, t), r))/r+(diff(diff(u(r, t), t), t))/r^2 = 0

a, b, c, d := 1, 2, Pi/6, Pi/2;

1, 2, (1/6)*Pi, (1/2)*Pi

bc := u(r,c)=c, u(r,d)=0, u(a,t)=0, u(b,t)=t;

u(r, (1/6)*Pi) = (1/6)*Pi, u(r, (1/2)*Pi) = 0, u(1, t) = 0, u(2, t) = t

We plot the boundary data on the domain's outer arc:

p1 := plots:-spacecurve([b*cos(t), b*sin(t), t], t=c..d, color=red, thickness=5);

Solve the PDE:

pdsol := pdsolve({pde, bc});

u(r, t) = Sum((1/6)*cos(3*signum(n1-1/4)*(-1+4*n1)*t)*(2*Pi*sin((1/2)*signum(n1-1/4)*Pi)*abs(n1-1/4)-6*Pi*sin((3/2)*signum(n1-1/4)*Pi)*abs(n1-1/4)+cos((3/2)*signum(n1-1/4)*Pi)-cos((1/2)*signum(n1-1/4)*Pi))*signum(n1-1/4)*8^(signum(n1-1/4)*(4*n1+1))*(r^((-3+12*n1)*signum(n1-1/4))-r^((3-12*n1)*signum(n1-1/4)))/(abs(n1-1/4)*Pi*(-1+4*n1)*(16777216^(signum(n1-1/4)*n1)-64^signum(n1-1/4))), n1 = 0 .. infinity)+Sum(-(1/3)*((-1)^n-1)*sin(n*Pi*ln(r)/ln(2))*(exp((1/6)*Pi*n*(Pi+6*t)/ln(2))-exp((1/6)*Pi*n*(7*Pi-6*t)/ln(2)))/(n*(exp((1/3)*n*Pi^2/ln(2))-exp(n*Pi^2/ln(2)))), n = 1 .. infinity)

Truncate the infinite sum at 20 terms, and plot the result:

eval(rhs(pdsol), infinity=20):
value(%):
p2 := plot3d([r*cos(t), r*sin(t), %], r=a..b, t=c..d);

Here is the combined plot of the solution and the boundary condition.
We see that the proposed solution completely misses the boundary condition.

plots:-display([p1,p2], orientation=[25,72,0]);


 

Download mw.mw

In this post, the Numbrix Puzzle is solved by the branch and bound method (see the details of this puzzle in  https://www.mapleprimes.com/posts/210643-Solving-A-Numbrix-Puzzle-With-Logic). The main difference from the solution using the  Logic  package is that here we get not one but all possible solutions. In the case of a unique solution, the  NumbrixPuzzle procedure is faster than the  Numbrix  one (for convenience, I inserted the code for Numbrix procedure into the worksheet below). In the case of many solutions, the  Numbrix  procedure is usually faster (see all the examples below).

 

restart;

NumbrixPuzzle:=proc(A::Matrix)
local A1, L, N, S, MS, OneStepLeft, OneStepRight, F1, F2, m, L1, p, q, a, b, T, k, s1, s, H, n, L2, i, j, i1, j1, R;
uses ListTools;
S:=upperbound(A); N:=nops(op(A)[3]); MS:=`*`(S);
A1:=convert(A, listlist);
for i from 1 to S[1] do
for j from 1 to S[2] do
for i1 from i to S[1] do
for j1 from 1 to S[2] do
if A1[i,j]<>0 and A1[i1,j1]<>0 and abs(A1[i,j]-A1[i1,j1])<abs(i-i1)+abs(j-j1) then return `no solutions` fi;
od; od; od; od;
L:=sort(select(e->e<>0, Flatten(A1)));
L1:=[`if`(L[1]>1,seq(L[1]-k, k=0..L[1]-2),NULL)];
L2:=[seq(seq(`if`(L[i+1]-L[i]>1,L[i]+k,NULL),k=0..L[i+1]-L[i]-2), i=1..nops(L)-1), `if`(L[-1]<MS,seq(L[-1]+k,k=0..MS-L[-1]-1),NULL)];
  

OneStepLeft:=proc(A1::listlist)
local s, M, m, k, T;
uses ListTools;
s:=Search(a, Matrix(A1));   
M:=[[s[1]-1,s[2]],[s[1]+1,s[2]],[s[1],s[2]-1],[s[1],s[2]+1]];
T:=table(); k:=0;
for m in M do
if m[1]>=1 and m[1]<=S[1] and m[2]>=1 and m[2]<=S[2] and A1[op(m)]=0 then k:=k+1; T[k]:=subsop(m=a-1,A1);
fi;
od;
convert(T, list);
end proc;

 
OneStepRight:=proc(A1::listlist)
local s, M, m, k, T, s1;
uses ListTools;
s:=Search(a, Matrix(A1));  s1:=Search(a+2, Matrix(A1));  
M:=[[s[1]-1,s[2]],[s[1]+1,s[2]],[s[1],s[2]-1],[s[1],s[2]+1]];
T:=table(); k:=0;
for m in M do
if m[1]>=1 and m[1]<=S[1] and m[2]>=1 and m[2]<=S[2] and A1[op(m)]=0 and `if`(a+2 in L, `if`(is(abs(s1[1]-m[1])+abs(s1[2]-m[2])>1),false,true),true) then k:=k+1; T[k]:=subsop(m=a+1,A1);
fi;
od;
convert(T, list);   
end proc;

F1:=LM->ListTools:-FlattenOnce(map(OneStepLeft, LM));
F2:=LM->ListTools:-FlattenOnce(map(OneStepRight, LM));

T:=[A1];
for a in L1 do
T:=F1(T);
od;

for a in L2 do
T:=F2(T);
od;

R:=map(t->convert(t,Matrix), T);
if nops(R)=0 then return `no solutions` else R[] fi;

end proc:

Numbrix := proc( M :: ~Matrix, { inline :: truefalse := false } )

local S, adjacent, eq, i, initial, j, k, kk, m, n, one, single, sol, unique, val, var, x;

    (m,n) := upperbound(M);

    initial := &and(seq(seq(ifelse(M[i,j] = 0
                                   , NULL
                                   , x[i,j,M[i,j]]
                                  )
                            , i = 1..m)
                        , j = 1..n));

    adjacent := &and(seq(seq(seq(x[i,j,k] &implies &or(NULL
                                                       , ifelse(i>1, x[i-1, j, k+1], NULL)
                                                       , ifelse(i<m, x[i+1, j, k+1], NULL)
                                                       , ifelse(j>1, x[i, j-1, k+1], NULL)
                                                       , ifelse(j<n, x[i, j+1, k+1], NULL)
                                                      )
                                 , i = 1..m)
                             , j = 1..n)
                         , k = 1 .. m*n-1));

    one := &or(seq(seq(x[i,j,1], i=1..m), j=1..n));   


    single := &not(&or(seq(seq(seq(seq(x[i,j,k] &and x[i,j,kk], kk = k+1..m*n), k = 1..m*n-1)
                                , i = 1..m), j = 1..n)));

    sol := Logic:-Satisfy(&and(initial, adjacent, one, single));
    
    if sol = NULL then
        error "no solution";
    end if;
if inline then
        S := M;
     else
        S := Matrix(m,n);
    end if;

    for eq in sol do
        (var, val) := op(eq);
        if val then
            S[op(1..2, var)] := op(3,var);
        end if;
    end do;
    S;
end proc:

           Two simple examples

A:=<0,0,5; 0,0,0; 0,0,9>;
# The unique solution
NumbrixPuzzle(A);

A:=<0,0,5; 0,0,0; 0,8,0>;
# 4 solutions
NumbrixPuzzle(A);

Matrix(3, 3, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 5, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 9})

 

Matrix(3, 3, {(1, 1) = 3, (1, 2) = 4, (1, 3) = 5, (2, 1) = 2, (2, 2) = 7, (2, 3) = 6, (3, 1) = 1, (3, 2) = 8, (3, 3) = 9})

 

Matrix(3, 3, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 5, (2, 1) = 0, (2, 2) = 0, (2, 3) = 0, (3, 1) = 0, (3, 2) = 8, (3, 3) = 0})

 

Matrix(%id = 18446746210121682686), Matrix(%id = 18446746210121682806), Matrix(%id = 18446746210121674750), Matrix(%id = 18446746210121674870)

(1)


Comparison with Numbrix procedure. The example is taken from
http://rosettacode.org/wiki/Solve_a_Numbrix_puzzle 

 A:=<0, 0, 0, 0, 0, 0, 0, 0, 0;
 0, 0, 46, 45, 0, 55, 74, 0, 0;
 0, 38, 0, 0, 43, 0, 0, 78, 0;
 0, 35, 0, 0, 0, 0, 0, 71, 0;
 0, 0, 33, 0, 0, 0, 59, 0, 0;
 0, 17, 0, 0, 0, 0, 0, 67, 0;
 0, 18, 0, 0, 11, 0, 0, 64, 0;
 0, 0, 24, 21, 0, 1, 2, 0, 0;
 0, 0, 0, 0, 0, 0, 0, 0, 0>;
CodeTools:-Usage(NumbrixPuzzle(A));
CodeTools:-Usage(Numbrix(A));

Matrix(9, 9, {(1, 1) = 0, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (1, 9) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 46, (2, 4) = 45, (2, 5) = 0, (2, 6) = 55, (2, 7) = 74, (2, 8) = 0, (2, 9) = 0, (3, 1) = 0, (3, 2) = 38, (3, 3) = 0, (3, 4) = 0, (3, 5) = 43, (3, 6) = 0, (3, 7) = 0, (3, 8) = 78, (3, 9) = 0, (4, 1) = 0, (4, 2) = 35, (4, 3) = 0, (4, 4) = 0, (4, 5) = 0, (4, 6) = 0, (4, 7) = 0, (4, 8) = 71, (4, 9) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 33, (5, 4) = 0, (5, 5) = 0, (5, 6) = 0, (5, 7) = 59, (5, 8) = 0, (5, 9) = 0, (6, 1) = 0, (6, 2) = 17, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 0, (6, 8) = 67, (6, 9) = 0, (7, 1) = 0, (7, 2) = 18, (7, 3) = 0, (7, 4) = 0, (7, 5) = 11, (7, 6) = 0, (7, 7) = 0, (7, 8) = 64, (7, 9) = 0, (8, 1) = 0, (8, 2) = 0, (8, 3) = 24, (8, 4) = 21, (8, 5) = 0, (8, 6) = 1, (8, 7) = 2, (8, 8) = 0, (8, 9) = 0, (9, 1) = 0, (9, 2) = 0, (9, 3) = 0, (9, 4) = 0, (9, 5) = 0, (9, 6) = 0, (9, 7) = 0, (9, 8) = 0, (9, 9) = 0})

 

memory used=7.85MiB, alloc change=-3.01MiB, cpu time=172.00ms, real time=212.00ms, gc time=93.75ms

 

Matrix(9, 9, {(1, 1) = 49, (1, 2) = 50, (1, 3) = 51, (1, 4) = 52, (1, 5) = 53, (1, 6) = 54, (1, 7) = 75, (1, 8) = 76, (1, 9) = 81, (2, 1) = 48, (2, 2) = 47, (2, 3) = 46, (2, 4) = 45, (2, 5) = 44, (2, 6) = 55, (2, 7) = 74, (2, 8) = 77, (2, 9) = 80, (3, 1) = 37, (3, 2) = 38, (3, 3) = 39, (3, 4) = 40, (3, 5) = 43, (3, 6) = 56, (3, 7) = 73, (3, 8) = 78, (3, 9) = 79, (4, 1) = 36, (4, 2) = 35, (4, 3) = 34, (4, 4) = 41, (4, 5) = 42, (4, 6) = 57, (4, 7) = 72, (4, 8) = 71, (4, 9) = 70, (5, 1) = 31, (5, 2) = 32, (5, 3) = 33, (5, 4) = 14, (5, 5) = 13, (5, 6) = 58, (5, 7) = 59, (5, 8) = 68, (5, 9) = 69, (6, 1) = 30, (6, 2) = 17, (6, 3) = 16, (6, 4) = 15, (6, 5) = 12, (6, 6) = 61, (6, 7) = 60, (6, 8) = 67, (6, 9) = 66, (7, 1) = 29, (7, 2) = 18, (7, 3) = 19, (7, 4) = 20, (7, 5) = 11, (7, 6) = 62, (7, 7) = 63, (7, 8) = 64, (7, 9) = 65, (8, 1) = 28, (8, 2) = 25, (8, 3) = 24, (8, 4) = 21, (8, 5) = 10, (8, 6) = 1, (8, 7) = 2, (8, 8) = 3, (8, 9) = 4, (9, 1) = 27, (9, 2) = 26, (9, 3) = 23, (9, 4) = 22, (9, 5) = 9, (9, 6) = 8, (9, 7) = 7, (9, 8) = 6, (9, 9) = 5})

 

memory used=1.21GiB, alloc change=307.02MiB, cpu time=37.00s, real time=31.88s, gc time=9.30s

 

Matrix(%id = 18446746210094669942)

(2)


In the example below, which has 104 solutions, the  Numbrix  procedure is faster.

C:=Matrix(5,{(1,1)=1,(5,5)=25});
CodeTools:-Usage(NumbrixPuzzle(C)):
nops([%]);
CodeTools:-Usage(Numbrix(C)):

Matrix(5, 5, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (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) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 25})

 

memory used=0.94GiB, alloc change=-22.96MiB, cpu time=12.72s, real time=11.42s, gc time=2.28s

 

104

 

memory used=34.74MiB, alloc change=0 bytes, cpu time=781.00ms, real time=783.00ms, gc time=0ns

 

 


 

Download NumbrixPuzzle.mw

Dears, greeting for all

I have a problem, I try to explain it by a figure

This formula does not work.

I need to substitute n=0 to give G_n+1 as a function of the parameter s, then find the limit. 

.where G_n is a function in s.

this is the result

 

how to express eigenvector or eigenvalues in terms of fibonacci or lucas or golden ratio?

fibonacci ratio has many 

f(n)/f(n-1) , all eigenvector can not divided by any one of them

 

how to verify lambda calculus is computable and realizable in maple?

is it possible to realize lambda calculus into algebra ?

how to use β-reduction to convert algebra function into lambda calculus?

is there a way to convert back ?

how to combine multiple lambda calculus into one lambda calculus and check computable and then convert back to algebra function?

I'm starting to use procs a lot just because they are more general and can more easily handle complex functionality.

 

I usually have to pass a function to them and that function may or may not take a series of arguments.

 

e.g.,

 

f := (x,y,a)->a*x*y;

g := proc(q, ...)

    q(x,y,...)

end proc;

 

g(f, 3);

 

Here 3 should be passed for a(using ... to represent it).

 

If I pass a function

 

h := (x,y)->x*y

then it would be g(f)

 

I could possibly use nops, ops, arrays, etc... but looking for the right solution.

 

Hello. To generate nine numbers with Cauchy distribution C(0,1) I use Sample(Random Variable(Cauchy(0, 1)), 9). Is there a way to make all generated numbers belong to the interval (-1,1)?

I spend some time searching and reading help. But not able to find if this is possible.

I use worksheet only (i.e. not 2D document). I have my display set as

 

I'd like diff(y(x),x) to display as y'(x) in output.

I know I can do this 

PDEtools:-declare(y(x), prime = x);

And that will make diff(y(x),x) display as y'  but I want y'(x). And the same for diff(y(x),x$2) to display as y''(x). And to be clear, y(x) will still display as y(x).  I am mainly interested in making the derivative display a little nicer if possible.

Is there a way to do this?

I am using 2019.1 on windows 10.

 

Hello!

I want to calculate Eigenvalues. Depending on values for digits and which datatype I choose Maple sometimes returns zero as Eigenvalues. Maybe there is a problem with the used routines: CLAPACK sw_dgeevx_, CLAPACK sw_zgeevx_.

Thank you for your suggestions!
 

``

 

Problems LinearAlgebra:-Eigenvalues, Digits, ':-datatype' = ':-sfloat', ':-datatype' = ':-complex'( ':-sfloat' )

 

restart;

interface( ':-displayprecision' = 5 ):
 

infolevel['LinearAlgebra'] := 5;
myPlatform := kernelopts( ':-platform' );
myVersion := kernelopts( ':-version' );

5

 

"windows"

 

`Maple 2018.2, X86 64 WINDOWS, Nov 16 2018, Build ID 1362973`

(1.1)

Example 1

 

A1 := Matrix( 5, 5, [[0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1], [-10201/1000, 30199/10000, -5049/250, 97/50, -48/5]] );

Matrix(5, 5, {(1, 1) = 0, (1, 2) = 1, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 1, (2, 4) = 0, (2, 5) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 1, (3, 5) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 1, (5, 1) = -10201/1000, (5, 2) = 30199/10000, (5, 3) = -5049/250, (5, 4) = 97/50, (5, 5) = -48/5})

(1.1.1)

LinearAlgebra:-Eigenvalues( A1 );

CharacteristicPolynomial: working on determinant of minor 2
CharacteristicPolynomial: working on determinant of minor 3
CharacteristicPolynomial: working on determinant of minor 4
CharacteristicPolynomial: working on determinant of minor 5

 

Vector(5, {(1) = -10, (2) = 1/10+I, (3) = 1/10-I, (4) = 1/10+I, (5) = 1/10-I})

(1.1.2)

A11 := Matrix( op( 1, A1 ),( i,j ) -> evalf( A1[i,j] ), ':-datatype' = ':-sfloat' );

Matrix(5, 5, {(1, 1) = 0., (1, 2) = 1.00000, (1, 3) = 0., (1, 4) = 0., (1, 5) = 0., (2, 1) = 0., (2, 2) = 0., (2, 3) = 1.00000, (2, 4) = 0., (2, 5) = 0., (3, 1) = 0., (3, 2) = 0., (3, 3) = 0., (3, 4) = 1.00000, (3, 5) = 0., (4, 1) = 0., (4, 2) = 0., (4, 3) = 0., (4, 4) = 0., (4, 5) = 1.00000, (5, 1) = -10.20100, (5, 2) = 3.01990, (5, 3) = -20.19600, (5, 4) = 1.94000, (5, 5) = -9.60000})

(1.1.3)

Digits := 89;
LinearAlgebra:-Eigenvalues( A11 );

Digits := 89

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881249354686)

(1.1.4)

Digits := 90;
LinearAlgebra:-Eigenvalues( A11 );

Digits := 90

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881249352150)

(1.1.5)

A12 := Matrix( op( 1, A1 ),( i,j ) -> evalf( A1[i,j] ), ':-datatype' = ':-complex'( ':-sfloat' ) );

Matrix(5, 5, {(1, 1) = 0.+0.*I, (1, 2) = 1.00000+0.*I, (1, 3) = 0.+0.*I, (1, 4) = 0.+0.*I, (1, 5) = 0.+0.*I, (2, 1) = 0.+0.*I, (2, 2) = 0.+0.*I, (2, 3) = 1.00000+0.*I, (2, 4) = 0.+0.*I, (2, 5) = 0.+0.*I, (3, 1) = 0.+0.*I, (3, 2) = 0.+0.*I, (3, 3) = 0.+0.*I, (3, 4) = 1.00000+0.*I, (3, 5) = 0.+0.*I, (4, 1) = 0.+0.*I, (4, 2) = 0.+0.*I, (4, 3) = 0.+0.*I, (4, 4) = 0.+0.*I, (4, 5) = 1.00000+0.*I, (5, 1) = -10.20100+0.*I, (5, 2) = 3.01990+0.*I, (5, 3) = -20.19600+0.*I, (5, 4) = 1.94000+0.*I, (5, 5) = -9.60000+0.*I})

(1.1.6)

Digits := 100;
LinearAlgebra:-Eigenvalues( A12 );

Digits := 100

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881249345038)

(1.1.7)

Digits := 250;
LinearAlgebra:-Eigenvalues( A12 );

Digits := 250

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881342643606)

(1.1.8)

 

 

Example 2

 

A2 := Matrix(3, 3, [[0, 1, 0], [0, 0, 1], [3375, -675, 45]]);

Matrix(3, 3, {(1, 1) = 0, (1, 2) = 1, (1, 3) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 1, (3, 1) = 3375, (3, 2) = -675, (3, 3) = 45})

(1.2.1)

LinearAlgebra:-Eigenvalues( A2 );

IntegerCharacteristicPolynomial: Computing characteristic polynomial for a 3 x 3 matrix

IntegerCharacteristicPolynomial: Using prime 33554393
IntegerCharacteristicPolynomial: Using prime 33554383
IntegerCharacteristicPolynomial: Used total of  2  prime(s)

 

Vector(3, {(1) = 15, (2) = 15, (3) = 15})

(1.2.2)

A21 := Matrix( op( 1, A2 ),( i,j ) -> evalf( A2[i,j] ), ':-datatype' = ':-sfloat' );

Matrix(3, 3, {(1, 1) = 0., (1, 2) = 1.00000, (1, 3) = 0., (2, 1) = 0., (2, 2) = 0., (2, 3) = 1.00000, (3, 1) = 3375.00000, (3, 2) = -675.00000, (3, 3) = 45.00000})

(1.2.3)

Digits := 77;
LinearAlgebra:-Eigenvalues( A21 );

Digits := 77

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881342621686)

(1.2.4)

Digits := 78;
LinearAlgebra:-Eigenvalues( A21 );

Digits := 78

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881342617230)

(1.2.5)

A22 := Matrix( op( 1, A2 ),( i,j ) -> evalf( A2[i,j] ), ':-datatype' = ':-complex'( ':-sfloat' ) );

Matrix(3, 3, {(1, 1) = 0.+0.*I, (1, 2) = 1.00000+0.*I, (1, 3) = 0.+0.*I, (2, 1) = 0.+0.*I, (2, 2) = 0.+0.*I, (2, 3) = 1.00000+0.*I, (3, 1) = 3375.00000+0.*I, (3, 2) = -675.00000+0.*I, (3, 3) = 45.00000+0.*I})

(1.2.6)

Digits := 58;
LinearAlgebra:-Eigenvalues( A22 );

Digits := 58

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881342614934)

(1.2.7)

Digits := 59;
LinearAlgebra:-Eigenvalues( A22 );

Digits := 59

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881325525942)

(1.2.8)

 

 

Example 3

 

A3 := Matrix(4, 4, [[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [-48841, 8840, -842, 40]]);

Matrix(4, 4, {(1, 1) = 0, (1, 2) = 1, (1, 3) = 0, (1, 4) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 1, (2, 4) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 1, (4, 1) = -48841, (4, 2) = 8840, (4, 3) = -842, (4, 4) = 40})

(1.3.1)

LinearAlgebra:-Eigenvalues( A3 );

IntegerCharacteristicPolynomial: Computing characteristic polynomial for a 4 x 4 matrix
IntegerCharacteristicPolynomial: Using prime 33554393

IntegerCharacteristicPolynomial: Using prime 33554383
IntegerCharacteristicPolynomial: Used total of  2  prime(s)

 

Vector(4, {(1) = 10+11*I, (2) = 10-11*I, (3) = 10+11*I, (4) = 10-11*I})

(1.3.2)

A31 := Matrix( op( 1, A3 ),( i,j ) -> evalf( A3[i,j] ), ':-datatype' = ':-sfloat' );

Matrix(4, 4, {(1, 1) = 0., (1, 2) = 1.00000, (1, 3) = 0., (1, 4) = 0., (2, 1) = 0., (2, 2) = 0., (2, 3) = 1.00000, (2, 4) = 0., (3, 1) = 0., (3, 2) = 0., (3, 3) = 0., (3, 4) = 1.00000, (4, 1) = -48841.00000, (4, 2) = 8840.00000, (4, 3) = -842.00000, (4, 4) = 40.00000})

(1.3.3)

Digits := 75;
LinearAlgebra:-Eigenvalues( A31 );

Digits := 75

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881324662046)

(1.3.4)

Digits := 76;
LinearAlgebra:-Eigenvalues( A31 );

Digits := 76

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881324657710)

(1.3.5)

A32 := Matrix( op( 1, A3 ),( i,j ) -> evalf( A3[i,j] ), ':-datatype' = ':-complex'( ':-sfloat' ) );

Matrix(4, 4, {(1, 1) = 0.+0.*I, (1, 2) = 1.00000+0.*I, (1, 3) = 0.+0.*I, (1, 4) = 0.+0.*I, (2, 1) = 0.+0.*I, (2, 2) = 0.+0.*I, (2, 3) = 1.00000+0.*I, (2, 4) = 0.+0.*I, (3, 1) = 0.+0.*I, (3, 2) = 0.+0.*I, (3, 3) = 0.+0.*I, (3, 4) = 1.00000+0.*I, (4, 1) = -48841.00000+0.*I, (4, 2) = 8840.00000+0.*I, (4, 3) = -842.00000+0.*I, (4, 4) = 40.00000+0.*I})

(1.3.6)

Digits := 100;
LinearAlgebra:-Eigenvalues( A32 );

Digits := 100

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881324648198)

(1.3.7)

Digits := 250;
LinearAlgebra:-Eigenvalues( A32 );

Digits := 250

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881327288182)

(1.3.8)

 

 

Example 4

 

A4 := Matrix(8, 8, [[0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 1], [-1050625/20736, 529925/1296, -15417673/10368, 3622249/1296, -55468465/20736, 93265/108, -1345/8, 52/3]]);

Matrix(8, 8, {(1, 1) = 0, (1, 2) = 1, (1, 3) = 0, (1, 4) = 0, (1, 5) = 0, (1, 6) = 0, (1, 7) = 0, (1, 8) = 0, (2, 1) = 0, (2, 2) = 0, (2, 3) = 1, (2, 4) = 0, (2, 5) = 0, (2, 6) = 0, (2, 7) = 0, (2, 8) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = 0, (3, 4) = 1, (3, 5) = 0, (3, 6) = 0, (3, 7) = 0, (3, 8) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 0, (4, 5) = 1, (4, 6) = 0, (4, 7) = 0, (4, 8) = 0, (5, 1) = 0, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = 0, (5, 6) = 1, (5, 7) = 0, (5, 8) = 0, (6, 1) = 0, (6, 2) = 0, (6, 3) = 0, (6, 4) = 0, (6, 5) = 0, (6, 6) = 0, (6, 7) = 1, (6, 8) = 0, (7, 1) = 0, (7, 2) = 0, (7, 3) = 0, (7, 4) = 0, (7, 5) = 0, (7, 6) = 0, (7, 7) = 0, (7, 8) = 1, (8, 1) = -1050625/20736, (8, 2) = 529925/1296, (8, 3) = -15417673/10368, (8, 4) = 3622249/1296, (8, 5) = -55468465/20736, (8, 6) = 93265/108, (8, 7) = -1345/8, (8, 8) = 52/3})

(1.4.1)

LinearAlgebra:-Eigenvalues( A4 );

CharacteristicPolynomial: working on determinant of minor 2
CharacteristicPolynomial: working on determinant of minor 3

CharacteristicPolynomial: working on determinant of minor 4
CharacteristicPolynomial: working on determinant of minor 5
CharacteristicPolynomial: working on determinant of minor 6
CharacteristicPolynomial: working on determinant of minor 7
CharacteristicPolynomial: working on determinant of minor 8

 

Vector(8, {(1) = 1/3-(1/4)*I, (2) = 1/3+(1/4)*I, (3) = 4-5*I, (4) = 4+5*I, (5) = 1/3-(1/4)*I, (6) = 1/3+(1/4)*I, (7) = 4-5*I, (8) = 4+5*I})

(1.4.2)

A41 := Matrix( op( 1, A4 ),( i,j ) -> evalf( A4[i,j] ), ':-datatype' = ':-sfloat' );

Matrix(8, 8, {(1, 1) = 0., (1, 2) = 1.00000, (1, 3) = 0., (1, 4) = 0., (1, 5) = 0., (1, 6) = 0., (1, 7) = 0., (1, 8) = 0., (2, 1) = 0., (2, 2) = 0., (2, 3) = 1.00000, (2, 4) = 0., (2, 5) = 0., (2, 6) = 0., (2, 7) = 0., (2, 8) = 0., (3, 1) = 0., (3, 2) = 0., (3, 3) = 0., (3, 4) = 1.00000, (3, 5) = 0., (3, 6) = 0., (3, 7) = 0., (3, 8) = 0., (4, 1) = 0., (4, 2) = 0., (4, 3) = 0., (4, 4) = 0., (4, 5) = 1.00000, (4, 6) = 0., (4, 7) = 0., (4, 8) = 0., (5, 1) = 0., (5, 2) = 0., (5, 3) = 0., (5, 4) = 0., (5, 5) = 0., (5, 6) = 1.00000, (5, 7) = 0., (5, 8) = 0., (6, 1) = 0., (6, 2) = 0., (6, 3) = 0., (6, 4) = 0., (6, 5) = 0., (6, 6) = 0., (6, 7) = 1.00000, (6, 8) = 0., (7, 1) = 0., (7, 2) = 0., (7, 3) = 0., (7, 4) = 0., (7, 5) = 0., (7, 6) = 0., (7, 7) = 0., (7, 8) = 1.00000, (8, 1) = -50.66671, (8, 2) = 408.89275, (8, 3) = -1487.04408, (8, 4) = 2794.94522, (8, 5) = -2674.98384, (8, 6) = 863.56481, (8, 7) = -168.12500, (8, 8) = 17.33333})

(1.4.3)

Digits := 74;
LinearAlgebra:-Eigenvalues( A41 );

Digits := 74

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881317242630)

(1.4.4)

Digits := 75;
LinearAlgebra:-Eigenvalues( A41 );

Digits := 75

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_dgeevx_

 

Vector[column](%id = 18446745881317239134)

(1.4.5)

A42 := Matrix( op( 1, A4 ),( i,j ) -> evalf( A4[i,j] ), ':-datatype' = ':-complex'( ':-sfloat' ) );

Matrix(8, 8, {(1, 1) = 0.+0.*I, (1, 2) = 1.00000+0.*I, (1, 3) = 0.+0.*I, (1, 4) = 0.+0.*I, (1, 5) = 0.+0.*I, (1, 6) = 0.+0.*I, (1, 7) = 0.+0.*I, (1, 8) = 0.+0.*I, (2, 1) = 0.+0.*I, (2, 2) = 0.+0.*I, (2, 3) = 1.00000+0.*I, (2, 4) = 0.+0.*I, (2, 5) = 0.+0.*I, (2, 6) = 0.+0.*I, (2, 7) = 0.+0.*I, (2, 8) = 0.+0.*I, (3, 1) = 0.+0.*I, (3, 2) = 0.+0.*I, (3, 3) = 0.+0.*I, (3, 4) = 1.00000+0.*I, (3, 5) = 0.+0.*I, (3, 6) = 0.+0.*I, (3, 7) = 0.+0.*I, (3, 8) = 0.+0.*I, (4, 1) = 0.+0.*I, (4, 2) = 0.+0.*I, (4, 3) = 0.+0.*I, (4, 4) = 0.+0.*I, (4, 5) = 1.00000+0.*I, (4, 6) = 0.+0.*I, (4, 7) = 0.+0.*I, (4, 8) = 0.+0.*I, (5, 1) = 0.+0.*I, (5, 2) = 0.+0.*I, (5, 3) = 0.+0.*I, (5, 4) = 0.+0.*I, (5, 5) = 0.+0.*I, (5, 6) = 1.00000+0.*I, (5, 7) = 0.+0.*I, (5, 8) = 0.+0.*I, (6, 1) = 0.+0.*I, (6, 2) = 0.+0.*I, (6, 3) = 0.+0.*I, (6, 4) = 0.+0.*I, (6, 5) = 0.+0.*I, (6, 6) = 0.+0.*I, (6, 7) = 1.00000+0.*I, (6, 8) = 0.+0.*I, (7, 1) = 0.+0.*I, (7, 2) = 0.+0.*I, (7, 3) = 0.+0.*I, (7, 4) = 0.+0.*I, (7, 5) = 0.+0.*I, (7, 6) = 0.+0.*I, (7, 7) = 0.+0.*I, (7, 8) = 1.00000+0.*I, (8, 1) = -50.66671+0.*I, (8, 2) = 408.89275+0.*I, (8, 3) = -1487.04408+0.*I, (8, 4) = 2794.94522+0.*I, (8, 5) = -2674.98384+0.*I, (8, 6) = 863.56481+0.*I, (8, 7) = -168.12500+0.*I, (8, 8) = 17.33333+0.*I})

(1.4.6)

Digits := 100;
LinearAlgebra:-Eigenvalues( A42 );

Digits := 100

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881317227806)

(1.4.7)

Digits := 250;
LinearAlgebra:-Eigenvalues( A42 );

Digits := 250

 

Eigenvalues: calling external function
Eigenvalues: initializing the output object
Eigenvalues: using software external library
Eigenvalues: CLAPACK sw_zgeevx_

 

Vector[column](%id = 18446745881356880102)

(1.4.8)

 

 

 

 

 

 

 

 

 

 

``


 

Download Problems_LinearAlgebra_Eigenvalues.mw

 

Dear Maple users,

I want to find an expression for the Fourier Transform (FT) of an expression like  f(t)=exp(-t^2)/t^a, where a>0 is a constant.

I note that integer values of a (postive or negative) is ok; but non-integer fails. See sheet attached where I have tried 1 or 2 cases, a=0, 1, 0.3, etc.

So the questions are:

(1) how can I find the FT of the above for typical non-integer values of a>0 ?

(2) how can I find the FT of the above for general a -- i.e. declare a as a parameter?

 

Thanks

Nadeem


 

with(inttrans)

fourier(exp(-t^2), t, w)

exp(-(1/4)*w^2)*Pi^(1/2)

(1)

fourier(t*exp(-t^2), t, w)

-((1/2)*I)*w*exp(-(1/4)*w^2)*Pi^(1/2)

(2)

fourier(exp(-t^2)/t, t, w)

-I*Pi*erf((1/2)*w)

(3)

fourier(t^.3*exp(-t^2), t, w)

fourier(t^(3/10)*exp(-t^2), t, w)

(4)

fourier(exp(-t^2)/t^.3, t, w)

fourier(exp(-t^2)/t^(3/10), t, w)

(5)

``


 

Download Sheet_fourier_1.mw

hi 

i want to plot this equations , i want to show that step by step and remind previous . i plot with animte plot but it do not show the previous

 

restart;
with(plottools);
co := blue;
with(plots);

t := 1;
for i from 20 by -1 to 0 do t := t+1; a[i] := -i*x/t+i; p[i] := plot(a[i], x = 0 .. 20, y = 0 .. 20, color = co, thickness = 3) end do;

plots[animate](plot, [a[k], x = 0 .. 20, y = 0 .. 20], k = [seq(i, i = 1 .. 20)]);

pde := (diff(u(r, theta), r) + r * diff(u(r, theta), r, r) + diff(u(r, theta), theta, theta) / r ) / r:
iv := u( 1, theta) = 0, u( 3, theta) = theta, u( r, 0) = 10, u( r, Pi/2) = 0:
           Maple 2019 returns a symbolic solution for PDE:
pdsolve([pde, iv], u(r, theta));
   But for the numeric option, it returns a message saying that Maple is unable to handle elliptical PDEs.
pdsolve(pde, {iv}, numeric, time = t, range = 1 .. 3);

Error, (in pdsolve/numeric) unable to handle elliptic PDEs
I found it strange.

Oliveira.

How to get the functional form of interpolation in the given example below

 

GP.mw

Hi

please help me, how could I write this? 

Hi, 

The procedure Statistics:-ChiSquareSuitableModelTest returns wrong or stupid results in some situations.
The stupid answer can easily be avoided if the user is careful enough.
The wrong answer is more serious: the standard deviation (in the second case below) is not correctly estimated.

PS: the expression "CORRECT ANSWER" is a short for "POTENTIALLY CORRECT ANSWER" given that what ChiSquareSuitableModelTest really does is not documented
 

restart:

with(Statistics):

randomize():

N := 100:
S := Sample(Normal(0, 1), N):

infolevel[Statistics] := 1:

# 0 parameter to fit from the sample S  CORRECT ANSWER

ChiSquareSuitableModelTest(S, Normal(0, 1), level = 0.5e-1):
print():

Chi-Square Test for Suitable Probability Model
----------------------------------------------
Null Hypothesis:
Sample was drawn from specified probability distribution
Alt. Hypothesis:
Sample was not drawn from specified probability distribution
Bins:                    10
Degrees of freedom:      9
Distribution:            ChiSquare(9)
Computed statistic:      15.8
Computed pvalue:         0.0711774
Critical value:          16.9189774487099
Result: [Accepted]
This statistical test does not provide enough evidence to conclude that the null hypothesis is false

 

(1)

# 2 parameters (mean and standard deviation) to fit from the sample S  INCORRECT ANSWER

ChiSquareSuitableModelTest(S, Normal(a, b), level = 0.5e-1, fittedparameters = 2):


print():
# verification
m := Mean(S);
s := StandardDeviation(S);
t := sqrt(add((S-~m)^~2) / (N-1));

print():
error "the estimation of the StandardDeviation ChiSquareSuitableModelTest is not correct";
print():

Chi-Square Test for Suitable Probability Model

----------------------------------------------
Null Hypothesis:
Sample was drawn from specified probability distribution
Alt. Hypothesis:
Sample was not drawn from specified probability distribution
Model specialization:    [a = -.2143e-1, b = .8489]
Bins:                    10
Degrees of freedom:      7
Distribution:            ChiSquare(7)
Computed statistic:      3.8
Computed pvalue:         0.802504
Critical value:          14.0671405764057
Result: [Accepted]
This statistical test does not provide enough evidence to conclude that the null hypothesis is false

 

 

HFloat(-0.021425681632689854)

 

HFloat(0.8531979363682092)

 

HFloat(0.8531979363682094)

 

 

Error, the estimation of the StandardDeviation ChiSquareSuitableModelTest is not correct

 

(2)

# ONLY 1 parameter (mean OR standard deviation ?) to fit from the sample S  STUPID ANSWER
#
# A stupid answer: the parameter to fit not being declared, the procedure should return
# an error of the type "don(t know what is the paramater tio fit"
ChiSquareSuitableModelTest(S, Normal(a, b), level = 0.5e-1, fittedparameters = 1):


print():
WARNING("ChiSquareSuitableModelTest should return it can't fit a single parameter");
print():

Chi-Square Test for Suitable Probability Model

----------------------------------------------
Null Hypothesis:
Sample was drawn from specified probability distribution
Alt. Hypothesis:
Sample was not drawn from specified probability distribution
Model specialization:    [a = -.2143e-1, b = .8489]
Bins:                    10
Degrees of freedom:      8
Distribution:            ChiSquare(8)
Computed statistic:      3.8
Computed pvalue:         0.874702
Critical value:          15.5073130558655
Result: [Accepted]
This statistical test does not provide enough evidence to conclude that the null hypothesis is false

 

 

Warning, ChiSquareSuitableModelTest should return it can't fit a single parameter

 

(3)

ChiSquareSuitableModelTest(S, Normal(a, 1), level = 0.5e-1, fittedparameters = 1):  #CORRECT ANSWER
print():

# verification
m := Mean(S);
print():

Chi-Square Test for Suitable Probability Model

----------------------------------------------
Null Hypothesis:
Sample was drawn from specified probability distribution
Alt. Hypothesis:
Sample was not drawn from specified probability distribution
Model specialization:    [a = -.2143e-1]
Bins:                    10
Degrees of freedom:      8
Distribution:            ChiSquare(8)
Computed statistic:      16.4
Computed pvalue:         0.0369999
Critical value:          15.5073130558655
Result: [Rejected]
This statistical test provides evidence that the null hypothesis is false

 

 

HFloat(-0.021425681632689854)

 

(4)

ChiSquareSuitableModelTest(S, Normal(0, b), level = 0.5e-1, fittedparameters = 1):  #CORRECT ANSWER

print():
# verification
s := sqrt((add(S^~2) - 0^2) / N);
print():

Chi-Square Test for Suitable Probability Model

----------------------------------------------
Null Hypothesis:
Sample was drawn from specified probability distribution
Alt. Hypothesis:
Sample was not drawn from specified probability distribution
Model specialization:    [b = .8492]
Bins:                    10
Degrees of freedom:      8
Distribution:            ChiSquare(8)
Computed statistic:      6.4
Computed pvalue:         0.60252
Critical value:          15.5073130558655
Result: [Accepted]
This statistical test does not provide enough evidence to conclude that the null hypothesis is false

 

 

HFloat(0.8491915633531496)

 

(5)

 


 

Download ChiSquareSuitableModelTest.mw

First 653 654 655 656 657 658 659 Last Page 655 of 2218