Maple 12 Questions and Posts

These are Posts and Questions associated with the product, Maple 12

[[1,1,["ab","xy"]], [0,1,["xy"]]]
 

how to sort by first number , second number , and list of string ?

how to count and group by third list of strings having first two number 0,0 or 0,1 or 1,0 or 1,1 

for example 

["xy"] at most count 4  , at least count 1

would like to find which is [1,1,... ] and only count 1

 

second has rsolve solution

compare original sequence

accsum(ListTools[Reverse]([seq(patterngroup[k], k=(mm)..(mm+lengthofsequence))])),

with rsolve solution , it start from third number wrong, some number are wrong but correct at next number, 

but i just want to guess next number is 1 or 2

[seq(subs(k=kk, sol), kk=0..(lengthofsequence+1))],

with(SumTools):
with(gfun):
accsum := proc(xx)
local result,mm:
result := []:
for mm from 1 to nops(xx) do
temp := Summation(xx[k], k = 1 .. mm):
result := [op(result), temp]:
od:
return result:
end proc:


patterngroup := [2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1]: # left is latest, 2,1,1..
lengthofsequence := 5:
for mm from 1 to 12 do
if guessgf(accsum(Reverse([seq(patterngroup[k], k=(mm)..(mm+lengthofsequence))])), x) = FAIL then
print(patterngroup[mm]):
else
sol := rsolve(listtorec(accsum(ListTools[Reverse]([seq(patterngroup[k], k=(mm)..(mm+lengthofsequence))])), u(n))[1], u(k)):
acxxc := accsum(ListTools[Reverse]([seq(patterngroup[k], k=(mm)..(mm+lengthofsequence))])):
olist := [seq(patterngroup[k], k=(mm)..(mm+5))]:
#start from 0
print(patterngroup[mm], olist, accsum(ListTools[Reverse]([seq(patterngroup[k], k=(mm)..(mm+lengthofsequence))])), [seq(subs(k=kk, sol), kk=0..(lengthofsequence+1))], sol, subs(k=(lengthofsequence+1), sol), subs(k=(lengthofsequence+1), sol)-acxxc[nops(acxxc)]):
end if:
od:
 

interface(prettyprint=2):
with(ListTools):
with(StringTools):
for xx from 1 to 2 do
xx := 1:
Source := FileTools[Text][ReadFile](cat("C:\\hello\\probability1-200-26042020\\home\\probability",xx,"\\probability",xx,".txt")):
openindex := [SearchAll("[",Source)]:
endindex := [SearchAll("]",Source)]:
beforefiltered := []:
for mm from 1 to nops(openindex) do
if mm > 27 then
beforefiltered := [op(beforefiltered), Chop(substring(Source, openindex[mm]..endindex[mm]))]:
end if:
od:
afterfiltered := []:
for mm in beforefiltered do
if Has(mm,"--") or Has(mm,"|") or Has(mm,"{") or Has(mm,"}") then
dummy := 0:
elif Has(mm,"Root") then
dummy := 0:
else
afterfiltered := [op(afterfiltered),mm]:
end if:
od:
afterfiltered[1];

however after chop still has new line, can not make a beautiful csv format, 

"[b(t,k)+ a
(t,k)*
x(t,k)]"

# I try to export to text first and then use Excel to use "|" as delimiter instead comma as delimiter,
#because b(t,k) has comma "," will separate to open a new column

appendto("C:\\Users\\Student\\Documents\\IQ1-200csv.txt"):
for mm in afterfiltered do
AA := parse(mm):
lprint(xx,"|","hello := [","|",AA[1],"|",AA[2],"|","]:");
od:
od:

Expect csv in format
1,b(t,k)+a(t,k)*x(t,k)
2,a(t,k)+s(t,k)*z(t,k)

P1 := x^2+y^2-4:
P2 := y^2-2*x+2:

Original question is find CAD of (some y)[P1 <0 and P2 <0]

how to use maple 12 and maple 2015 to find Q1,Q2,Q3 which are projection of P1 and P2

my book show sample points are [-4,-1-sqrt(7),-3,-2,0,1,3/2,-1+sqrt(7),9/5,2,3]
but FindSamples result is not the same with my book, is it my book wrong or FindSamples function wrong?
I find result of my script is the same as book's quantifier position at 7,8,9 though sample points has little different

how to generalize my following script to multiple variables x, y, z, and more ?

and

I compare with maple 2015 result are different from my book solution, is maple 2015 more advanced version CAD? 

with(ListTools):

P1 := x^2+y^2-4:
P2 := y^2-2*x+2:

Q1 := x^2 + 2*x - 6;
Q2 := x^2 - 4;
Q3 := x - 1;

sourcesamples := sort(evalf([solve(Q1), solve(Q2), solve(Q3)]),`<`);

FindSamples:=proc(sourcesamples)
local N, P;
N:=nops(sourcesamples);
P:=proc(a,b)
local a1, b1, m1, n, m;
if a=b then error "Should be a<>b" fi;
a1,b1:=op(convert(sort([a,b],(x,y)->evalf(x)<evalf(y)),rational));
count := 0:
for n from 1 do
m1:=a1*n;
m:=`if`(type(m1,integer),m1+1,ceil(m1));
count := count + 1:
if is(m/n>a1) and is(m/n<b1) then return m/n fi;
od;
print("count=",count);
end proc:
[ceil(sourcesamples[1])-1, seq(op([sourcesamples[i],P(sourcesamples[i],sourcesamples[i+1])]), i=1..N-1),sourcesamples[N],floor(sourcesamples[N])+1];
end proc:

RemoveComplex := proc(yy)
local result, k:
result := []:
for k in yy do
if Im(k) = 0 then
result := [op(result), k]:
end if:
od:
if result = [] then
result := []:
end if:
return result:
end proc:

Joinsolution := proc(param1, param2group)
local result, k:
result := []:
for k in param2group do
result := [op(result), [param1, k]]:
od:
return result:
end proc:

CADsamples := FindSamples(sourcesamples):
CADresult1 := []:
for mm in CADsamples do
#print(mm):
if MakeUnique(RemoveComplex([solve(subs(x=mm, P1)), solve(subs(x=mm, P2))])) = [] then
CADresult1 := [op(CADresult1), op(Joinsolution(mm,[0]))];
else
CADresult1 := [op(CADresult1), op(Joinsolution(mm,FindSamples(sort(evalf(MakeUnique(RemoveComplex([solve(subs(x=mm, P1)), solve(subs(x=mm, P2))]))),`<`))))];
end if:
od:
CADresult1;

for mm in CADresult1 do
if subs(x=mm[1],subs(y=mm[2], P1)) < 0 and subs(x=mm[1],subs(y=mm[2], P2)) < 0 then
print("solution ", mm, SearchAll(mm[1],CADsamples), evalf(mm)):
end if:
od:

Compare with

with(RegularChains):
with(ChainTools):
with(MatrixTools):
with(ConstructibleSetTools):
with(ParametricSystemTools):
with(SemiAlgebraicSetTools):
with(FastArithmeticTools):
R := PolynomialRing([x,y]):
sys := [x^2+y^2-4,y^2-2*x+2]:
N := []:
P := []: 
H := [x]:
dec := RealTriangularize(sys,N,P,H,R):
proj := Projection(sys, N, P, H, 1, R);
Display(dec, R);

P := SamplePoints(sys, R);
Display(P, R);
cad := CylindricalAlgebraicDecompose(sys, R);
 


Eigenvector result is changing every time it run.

How to make eigenvectors result the same every time it run?

 

If A then B After clustering B , how to find a set of A in machine learning topic and fuzzy topic?

Is there lifting function for polynomials or algebra use?

expect input a list univariate polynomial , then output a list of polynomials of two variables.

it should be the reverse operation of projection.

Which library has this function in maple 12 or maple 2015?

   1 1 1 2 2 3 3  

(  1 3 3 2 2 1 2 )

how to input this permutation into permgroup ?

 

If maple can auto discover derived equations, 

then most variable are unknown name which may or may not be physics variable.

so, how to guess which physics data suitable for these look like meaningless variable?

or these tools only visualize the relationship of existing known equations?

can anyone help me to calculate the exact  value of the eigenvalues of this matrix:
 

Download mat.mw

 
with(RegularChains);
R := PolynomialRing([x, y, z]);
p1 := x^2+5-2*x*z;
p2 := z^3*y+x*y^2;
p3 := -8*z^3+3*y^2;
F := [p1, p2, p3];
MainVariable(p1, PolynomialRing([x, y, z]));
MainVariable(p1, PolynomialRing([z, y, x]));
prem(p1, p2, x);
prem(p2, p1, z);
prem(p3, p2, y);
premcustom := proc(Fparam,Gparam, xparam)
local R, G, F, lcg, lcr, dr, dg:
R := Fparam:
G := Gparam:
F := Fparam:
if degree(G,xparam) = 0 then
 print("return 0"):
 return 0:
elif degree(F, xparam) < degree(G, xparam) then
 print("return R"):
 return R:
else
 lcg := coeff(G, xparam, degree(G, xparam)):
 dg := degree(G, xparam):
 while degree(R, xparam) > degree(G, xparam) do
  lcr := coeff(R, xparam, degree(R, xparam)):
  dr := degree(R, xparam):
  R := lcg * R - lcr * G * (x^(dr - dg)):
 od:
end if:
return R:
end proc:
coeff(p1, x, degree(p1, x));
coeff(p2, x, degree(p2, x));
prem(p1,p2,x);
prem(p2,p1,z);

premcustom(p1,p2,x);
premcustom(p2,p1,z);
 
why premcustom looping?
 
is this coeff(p1, x, degree(p1, x)); wrong ?
 
should this to get real coefficient in number instead of variable and how?
 
is there equivalent function as dprem?
 
with(diffalg):with(diffalg):
FlessThanG := proc(Fparam, Gparam, PRing)
F := Fparam:
G := Gparam:
if leader(F,PRing) < leader(G,PRing) or (leader(F,PRing) = leader(G,PRing) and degree(F, leader(F,PRing)) < degree(G, leader(G,PRing))) then
 return True:
else
 return False:
end if:
end proc:
dprem := proc(Fparam, Gparam, x, PRing)
local R, theta, thetax, thetaG, F, G;
F := Fparam:
G := Gparam:
R := F:
thetax := leader(G, PRing);
while FlessThanG(R, G, PRing) or FlessThanG(G, R, PRing) do
theta := leader(R, PRing);
R := prem(R, thetaG, theta)
od:
return R:
end proc:
R := differential_ring(ranking = [[x,y,r]], derivations = [t], field_of_constants=[m,l], notation = diff):
p1 := m*x[2] + r*x;
p2 := m*y[2] + r*y - g;
p3 := x^2 + y^2 - l^2;
dprem(p1, p3, x, R);
 
 
is x[2] = diff(x,t$2) in diffalg ?
 
if not how to write in this way?
 
i had defined constant
but got error
 
Error, (in DifferentialAlgebra:-Tools:-LeadingDerivative) unknown symbol (approx. error location: [m*x[2 --> ] <-- +r*x])
 
 

https://math.stackexchange.com/questions/301068/how-do-you-find-a-corresponding-recurrence-relation-for-some-random-algorithm/301709

according to this link, how to parse or walk through the algorithm in maple to generate recurrence relation formula?

how to convert a function to transition matrix?

how to convert a differential system to transition matrix?

 

I search saveplot and sleep function here

i had kept close filename function and move plot setup default to first line

but thread no sleep in maple 12

then I remove sleep and can save image file

but after I call it in a function and run a for loop for this function

the file is not updated after sleep 3 seconds 

how to run a for loop call it and it can refresh 

 Dear all

Is there a nice idea to determine the Lyapunov function of the following system

Lyapunov_function.mw

Some parameters used in the code:

b fixed parameter

a any parameter in R

Many thanks for your help

 

 

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