Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

I have an Array A which I wanted to convert to Matrix. Doing B:=convert(A,Matrix); displays different on the screen than if A is first converted to list, then the list is next converted to Matrix.

Also the dimension in the first case if not the same as the dimension of the matrix done using the list conversion first. I expected both to give same dimension which is 10 by 3 in this example.

Should not both be the same? Does this to convert an Array to Matrix, one first needs to convert it to list, then convert the list to Matrix?

ps. thinking more about this, I think this seems to work as designed. I just expected convert to Matrix to generate the standard 2 dimensional matrix  10 by 3 automatically from the Array, but I see now that it probably does need that extra conversion to a list first.

 


 

interface(version);

`Standard Worksheet Interface, Maple 2022.1, Windows 10, May 26 2022 Build ID 1619613`

restart;

A:=Array(1..0);
for i from 1 to 10 do
   A ,= [i, i+1, i+2]
od:
B:=convert(A,Matrix);
whattype(B);
LinearAlgebra:-Dimension(B);

A := Vector[row](0, {})

Matrix(%id = 36893490060059048044)

Matrix

1, 10

restart;
A:=Array(1..0);
for i from 1 to 10 do
   A ,= [10-i, i+1, i+2]
od:
B:=convert(A,list);
B:=convert(B,Matrix);
whattype(B);
LinearAlgebra:-Dimension(B);

A := Vector[row](0, {})

B := [[9, 2, 3], [8, 3, 4], [7, 4, 5], [6, 5, 6], [5, 6, 7], [4, 7, 8], [3, 8, 9], [2, 9, 10], [1, 10, 11], [0, 11, 12]]

Matrix(%id = 36893490060058557844)

Matrix

10, 3

 

 


 

Download oct_25_2022.mw

Hi everyone 

I solve several differential equations using dsolve. Now I want to change one initial condition a little bit: 

before: u0n := u0*ms/(ms + mn)

new: u0n := u0*ms/(ms + m(t)

When solving the new system I am getting the error message: Error, (in dsolve/numeric/process_input) unknown piecewise(0 < 16-(xn(t)^2+(zn(t)-16)^2)^(1/2), 16-(xn(t)^2+(zn(t)-16)^2)^(1/2), 0) present in ODE system is not a specified dependent variable or evaluatable procedure

I am guessing this has to do with a function in an initial condition. 

Has anyone an idea how to solve this problem?

I added the maple file for the whole overview.

Thanks in advance!

Fractional part of a negative number is always positive. But maple command frac(-7.8) gives -0.8 instead of 0.2. Why is this? Though we can find it by using 1-frac(x), maple command may be there to give fractional part for all real numbers as per definition.

Like frac(9.8)=0.8 and frac(-9.8)=0.2.

Is there a command in maple?

Thanks. Ramakrishnan V

Dear all

I have the following code, that solves a linear system 
But I get the error 

Error, (in rtable/Sum) invalid arguments

code.mw

Thank you for any help 

Good day everyone,

I am trying to rotate the plots of pde solution using transplot, but it is giving me errors. Anyone with better suggestions should help. The code is attached below. Thanks

Transplot_not_working.mw

Dear all:

    I am trying to use the subs command to replace 5 varibles with other specific 5 varibles.

to be simple, here is issue.

Now I and using the stupid way(manually replace eachstep by my self) which did work but with some small issue such as  simplify or subs not work for replacements

all the steps I did are contained inside here:

ModelExtrinsicParasiticExtraction_QuestionsV2.mw

thanks for your help.

best regards

The following expression

limit(log(x)/x, x = 0)

returns undefined in Maple 2022.

I am not certain about if this limit exists, but shouldn't it be -infinity?

 For famous constants like pi and e, are the values stored or are they calculated?

with(Physics)

diff(x(t), `$`(t, 2)) = a(t)

diff(diff(x(t), t), t) = a(t)

(1)

dsolve(diff(diff(x(t), t), t) = a(t), arbitraryconstants = subscripted)

x(t) = Int(Int(a(t), t), t)+c__1*t+c__2

(2)

a(t) = 1.*Unit('m'/'s'^2), c__1 = 2*Unit('m'/'s'), c__2 = 3*Unit('m')

a(t) = 1.*Units:-Unit(m/s^2), c__1 = 2*Units:-Unit(m/s), c__2 = 3*Units:-Unit(m)

(3)

subs(a(t) = 1.*Units:-Unit(m/s^2), c__1 = 2*Units:-Unit(m/s), c__2 = 3*Units:-Unit(m), x(t) = Int(Int(a(t), t), t)+c__1*t+c__2)

x(t) = Int(Int(1.*Units:-Unit(m/s^2), t), t)+2*Units:-Unit(m/s)*t+3*Units:-Unit(m)

(4)

value(%)

x(t) = (1/2)*t^2*Units:-Unit(m/s^2)+2*Units:-Unit(m/s)*t+3*Units:-Unit(m)

(5)

NULL

Warning, units problem, not enough information to unambiguously deduce the units of the variables {t}; proceeding as if dimensionless

How can I provide the information to Maple that the unit of t is s?

 

Update: Temporarily disabling the warning would also be an option for the above case.

 

Download Unit_of_t.mw

How to improve this program ? Thank you.

restart;
Equation de la conique
eqcon := (45 - 27*cos(alpha))*x^2 - 54*sin(alpha)*x*y + (45 + 27*cos(alpha))*y^2 - 8;
Delta := (-54*sin(alpha))^2 - 4*(45 - 27*cos(alpha))*(45 + 27*cos(alpha));
expand(%);
simplify(%);
Discriminant : Δ<0 ce qui correxpond à une ellipse
Eq := simplify(expand(subs(x = cos(alpha/2)*X - sin(alpha/2)*Y, y = sin(alpha/2)*X + cos(alpha/2)*Y, eqcon)));
kx := coeff(Eq, X, 2);
ky := coeff(Eq, Y, 2);
k := -tcoeff(Eq);

EQ := X^2/(sqrt(1/kx^2)*k) + Y^2/(sqrt(1/ky^2)*k) = 1;
Calcul du grand et du petit axe 
a := 1/sqrt(coeff(lhs(EQ), X, 2));
b := 1/sqrt(coeff(lhs(EQ), Y, 2));
print(X^2/('a^2') + Y^2/('b^2') = 1);
 

!Edits: I have found  a existing polynomial algorithm, but I still have difficulty implementing it. 2022/10/26

 

The edge connectivity of a connected graph G  is the minimum number of edges whose deletion from the graph G disconnects G. Below we are concerned with a particular kind of edge-cut.

  • For a connected graph G=(V ,E), an edge set S ⊂ E is a restricted-edge-cut, if G−S is disconnected and every connected component of  G−S has at least 2 vertices. 

Clearly, a restricted-edge-cut is an edge cut with a special requirement.

  • The restricted-edge-connectivity of G, denoted by κres(G), is defined as the cardinality of a minimum restricted-edge-cut.

For example, a graph g is as follows.

 

Clearly, its edge-connectivity is 1 since (0,3) or (0,4) is a edge cut of g. But we can find that  if we remove the edge (0,3), then "3" is a isolated vertex. Similarly, "4" is a isolated vertex if we remove  (0,4). It is not difficult to find g has exactly the two cut-edges (0,3) and (0,4).

 

Based on the definition of the restricted-edge-cuts, neither {(0,3)} nor  {(0,4)} are restricted-edge-cuts A minimum restricted-edge-cut is {(0,1),(0,2)} since every connected component of G-{(0,1),(0,2)} has  (at least) 2 vertices.

So  κres(g) is 2.  My problem is:

Given a graph G, how to calculate the restricted-edge-connectivity of  G?  Moreover, how to find a minimum restricted-edge-cut? 

A specific graph that I want to test is as follows. (it has 16 vertices and 56 edges.) I would like to calculate its restricted-edge-connectivity and find a minimum restricted-edge-cut. 

g:=ConvertGraph("O~tIID@wL~j`PbOqgLJ@p");
DrawGraph(g, stylesheet=[vertexborder=false,vertexpadding=15,edgecolor = "Black",
     vertexcolor="Black",edgethickness=2])

EdgeConnectivity(g) 

6

One option I came up with is to find all 6-edge subsets first. Test if they satisfy  the restricted condition (one by one). Then continue to increase to 7 or more. But this violent calculation may get stuck in the first step. That is, test all the minimum edge cut sets (Note that we will consider 32468436 edge-subsets!) I was referring to the efficiency aspect.  

with(Iterator):
C:=Combination(58,6):
K:=Edges(g):
#sub:=seq( K[[seq(c[]+1)]], c=C); # do not run this code since it has 32468436 members.

 

Any language is acceptable.( C or C++, Python. )

PS: Some time ago, I also asked a related question (but with some differences) on mathematica stack (Find all the minimum edge cuts of a graph). Although Bob Hanlon  gave a reply, the actual result is not good.

 

Edits: The following literature gives a polynomial algorithm for computing the restricted-edge-connectivity of a given  graph. The heart of it is to computing the least cardinality of some  edge-pairs's edge separator. I'm stuck here.

  • Esfahanian A H, Hakimi S L. On computing a conditional edge-connectivity of a graph[J]. Information processing letters, 1988, 27(4): 195-199.

How to implement this algorithm is my current concern.

Hi All,

I solved a high degree polynomial equation for two variables and obtained a list of solutions as under:

{s = 0.01291429045, t = 0.06099359500}, {s = -0.6944124361, t = 0.8895072341}, {s = 0.3000821715, t = -0.06855860577}, {s = 0.1246366197, t = -0.06899397557}, {s = 43.29465387, t = -10.98020355}, {s = 7.400522990*10^6, t = -1.879497900*10^6}, {s = 7.442623977*10^6, t = -1.890190214*10^6}

In the second stage, I have to plug these solutions into another expression andsolve for second stage decision variables. However, I am only interested in the solutions where both s and t are non negative. How can I reduce the set to have a smaller subset?

Thanks for help

I use to write modules with option package and store them in a .mla files.
Let's assume M is the name of the module and P1, P2, ..., PN are the procedures M contains.
Each time one of these procedures hass to call another one, I write 

Pm := proc(...)
 ...
 a := M:-Pn(...)
 ...
end proc:

instead of simply

Pm := proc(...)
 ...
 a := Pn(...)
 ...
end proc:

It seemed to me that the first method sometimes saved me a lot of trouble

Is it a common/necessary/safer/useless practice to write a:=M:Pn(...) instead of a:=Pn(...) ?

 {[[b/(sin(x-y-z))=a/(sin(z)),],[(a^(2)+b^(2)+2 abcos(x-y))cos(m(y+z)+n)=acos(mx+n)+bcos(my+n),]];

Why cannot this group of equations be solved in Maple software?

First 267 268 269 270 271 272 273 Last Page 269 of 2218