1466 Reputation

19 Badges

4 years, 11 days

MaplePrimes Activity

These are questions asked by C_R

The below is not properly rendering in my browser. You probably have to open the worksheet

De Morgan's law from https://en.wikipedia.org/wiki/De_Morgan%27s_laws


iff(not (P or Q), `and`(not P, not Q))

not (P or Q) implies not (P or Q)


iff(not (P and Q), `or`(not P, not Q))

not (P and Q) implies not (P and Q)




Edit: Asking differently: Which symbol from the palettes can be used for equivalence (in a logic context)?

Edit2: Title changed. Original title: Why does Maple replace the equivalence symbol by an implication symbol

Download De_Morgans_law.mw

In help(EllipticF): Why is the parameter k not called “the modulus of the elliptic function” as in the definition of the inverse Jacobi functions in help(InverseJacobiPQ)?

Instead, it is called “the parameter” which can be confused with the parameter m=k^2 used in other notations (which is refered to "a parameter m" in the EllipticF help page).

Is there a reason for this, or should the parameter definitions of the first, second and thrid elliptic integrals not be aligned with the parameter definitions of the Jacobi functions and their inverses?

DLMF for example defines k as modulus for both, the Elliptic Integrals and the Jacobian Elliptic Functions.

A user who wants to transfer an expression from a different notation to Maple might misinterpret parameters.

Sometimes the canvas in the 2d-workspace of a subsystem (or component) is grayed out and the parameters in the parameter pane cannot be changed.

Example from the Model Gallery where the mass cannot be changed

Another example of a CAD geometry where I would like to change color and transparency:  seeshell.msim

How to unprotect the parameters?

I have observed that copy and pasting (Edit2: in a new document) and deleting the original component and copy/paste back into the original document and reconnection of the pasted  component works. Are there shorter ways to unprotect? 

And: How to do the reverse action (i.e. protecting a component)?

(I could not find a "when" and "why" for the protection in the documentation. Maybe I overlooked something)


Other reasons why to unprotect are suppressions of components and highlight of multibody ports and axes.

Adding or reformating automatically generated ports (Edit3).


I make more and more use of the FunctionAdvisor. I have started to apply rules from the advisor to expressions. Here are two examples with questions:


Expression to apply an identiy to

JacobiSN(sin((1/2)*`ϕ__0`)*t, csc((1/2)*`ϕ__0`)) = JacobiSN(z, k)

JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k)


map(op, JacobiSN(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = JacobiSN(z, k))

(sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = (z, k)


solve([(rhs-lhs)((sin((1/2)*varphi__0)*t, csc((1/2)*varphi__0)) = (z, k))], {k, z})[]

k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t


Using the following identity from Maples FunctionAdvisor and the correspondence in (3)

FunctionAdvisor(identities, JacobiSN(z, 1/k))[5]

JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k


convert(subs(k = csc((1/2)*varphi__0), z = sin((1/2)*varphi__0)*t, JacobiSN(z, k) = JacobiSN(z*k, 1/k)/k), sincos)

JacobiSN(sin((1/2)*varphi__0)*t, 1/sin((1/2)*varphi__0)) = sin((1/2)*varphi__0)*JacobiSN(t, sin((1/2)*varphi__0))


That worked. Q1: But is it a good way to do so?

Now  a new example: Converting InverseJacobinAM to InverseJacobiSN



FunctionAdvisor(identities, InverseJacobiSN(z, k))[3]

InverseJacobiSN(z, k) = InverseJacobiAM(arcsin(z), k)


InverseJacobiAM((1/2)*`ϕ__0`, sqrt(2)/sqrt(1-cos(`ϕ__0`))) = rhs(InverseJacobiSN(z, k) = InverseJacobiAM(arcsin(z), k))

InverseJacobiAM((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = EllipticF(z, k)


map(op, InverseJacobiAM((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = EllipticF(z, k))

((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = (z, k)


solve({(rhs-lhs)(((1/2)*varphi__0, 2^(1/2)/(1-cos(varphi__0))^(1/2)) = (z, k))}, {k, z})

{k = 2^(1/2)/(1-cos(varphi__0))^(1/2), z = (1/2)*varphi__0}


This is of course wrong since comparing the InverseJacobiAM expression in (6) and (7) z should be

(1/2)*`ϕ__0` = arcsin(z)

(1/2)*varphi__0 = arcsin(z)


solve((1/2)*varphi__0 = arcsin(z), {z})

{z = sin((1/2)*varphi__0)}


Q2: How to avoid simplification of InverseJacobiAM(arcsin(z), k)to EllipticF(z, k)

Any advice?

Download Applying_identities_from_FunctionAdivisor.mw

Q1: Why does Maple use the bar as a delimiter for certain elliptic expressions and the comma for others?

Is that in line with: Gradshteyn and Ryzhik (G&R) and in the popular "Handbook of Mathematical Functions" edited by Abramowitz and Stegun (A&S), as stated in help(JacobiAM)?      

Q2: Can I have the comma instead of the vertical bar for the Jacobian functions?

Q3: If not, how to get a bit more space between the symbols and the bar for better readability?



`Standard Worksheet Interface, Maple 2023.0, Windows 10, March 6 2023 Build ID 1689885`


FunctionAdvisor(relate, EllipticF, InverseJacobiSN)

EllipticF(z, k) = InverseJacobiSN(z, k)





EllipticF(z, k) = InverseJacobiSN(z, k)

EllipticF(z, k) = InverseJacobiSN(z, k)




Download Argument_delimiter.mw

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