## 545 Reputation

16 years, 2 days

I've been using Maple since 1997 or so.

## Maplesoft Technical Support...

Since you have already reinstalled Maple, and that didn't help, it might just be best to go ahead and contact Maplesoft Technical Support.

## Expeiment with some smaller intervals...

Depending on the calculations required for "calculating a mutual information," a base language like C++ might be faster. You might wish to Experiment with some smaller intervals and see if it is faster than Maple.

## Could this be what you need?...

Tony,

When I entered solve(y1-y2, {omega1, omega2, theta1, theta2}), i found out, it seems, they intersect at all points where omega2 = (-theta2+arcsin(A1*sin(omega1*t+theta1)/A2))/t. But you should analyze that equation to be sure it is really what you need.

## Try try...

I think the command ?try might get you started.

marvinrayburns.com

## To clean up the previous message...

Hopefully we wont have this HTML problem with the new Maple Primes!

Hi!

Yes, what Alec suggests above definitely works. But there is indeed also a select option to the NonIsomorphicGraphs command, and it has a potential efficiency advantage, so here's a way to use it. I'll first demonstrate a way to use it that's actually less efficient than what Alec suggests, but it's a useful step in the explanation:

```myFilter := g -> evalb(min(GraphTheory:-DegreeSequence(g)) > 0);
[GraphTheory:-NonIsomorphicGraphs(8, output = graphs, outputform = graph,
select = myFilter, selectform = graph)];
```

The procedure myFilter expects to find its argument as a GraphTheory-understandable graph structure; that's why we need the selectform = graph option. However, constructing all of these graph structures takes time: the internal algorithm doesn't use these structures at every step. A more efficient alternative is selectform = adjacency. This gives the graph as an adjacency matrix with datatype = integer. We can use that as follows:

```myMatrixFilter := proc(m)
local i, n;
n := LinearAlgebra:-RowDimension(m);
for i to n do
if rtable_num_elems(m[i], 'NonZero') = 0 then
return false;
end if;
end do;
return true;
end proc;
[GraphTheory:-NonIsomorphicGraphs(8, output = graphs, outputform = graph,
select = myMatrixFilter, selectform = adjacency)];
```

This is already slightly faster than Alec's version; however, since almost all matrices satisfy the property we are interested in, almost all graph structures still need to be constructed in the end. If, however, we are content with the adjacency graphs (or indeed with the number of graphs), then this is substantially faster:

```[GraphTheory:-NonIsomorphicGraphs(8, output = graphs, outputform = adjacency,
select = myMatrixFilter, selectform = adjacency)];```

My timings:
5.800 for Alec's original code (for 8 nodes instead of 5),
9.900 for the version with myFilter,
5.640 for the version with myMatrixFilter,
2.140 for the version with outputform = adjacency.

(Alec's approach can of course also be sped up if you only need the adjacency matrices; I got 2.230 seconds for that.)

As I said earlier, a large fraction of all graphs has this property; for 8 vertices, the number is 11302 out of 12346. You can expect a greater advantage to using the select option instead of the select command if the fraction of graphs that satisfies the criterion is small. For example, if you would be interested in the set of graphs that have at least one vertex of maximal degree, n - 1, then you will find only 1044 out of 12346 graphs; you can write a similar procedure to myMatrixFilter and get a speedup from 2.300 to 0.750 seconds for 8 vertices.

Hope this helps,

Erik Postma
Maplesoft.

P.S.: It looks like the formatting is lost for now - I'll see what I can do to get it working again. In the mean time, here is an unformatted copy: http://pastebin.com/7uQ8hq0H

## To get a radom number, to...

To get a radom number (0 , 2), to machine precision, you can enter,

Seed := randomize(); evalf(RandomTools[Generate](rational(range = 0 .. 2)));

marvinrayburns.com

## Does this make sense to you?...

Does this make sense to you? Think about it and lookup on Maple's help dsolve and diff to see if this is the same problem that you wrote. If its right put it into Maple and Maple will give you a solution.

dsolve(diff(x(t), t, t)-4*(diff(x(t), t))+4*x(t) = t*exp(2*t));

## You may use the command...

You may use the command like, `y1:=(x,y,z)->DirectionalDiff(x*exp(y)/(3*z^2+1), <1,-2,3>,[x, y, z] ):subs({x=2,y=-1,z=0},y1(x,y,z));` or `y2:=(x,y,z)->DirectionalDiff(x*exp(y)/(3*z^2+1), <2,-1,0>,[x, y, z] ):subs({x=1,y=-2,z=3},y2(x,y,z));` marvinrayburns.com
searchme!
Marvin Ray Burns

## You could use some help...

Someone like me, with time on his hands, could help. I've been playing with MathCAD and maple since 1997. However, my code writing is not very eloquent. I presently use MathCAD 2001 professional. You could send me a few of your files in MathCAD 2001 WorkSheet (*mcd.) and see if it works out. If you are saisfied with my work and production rate then I could do the rest. As always, my contact info is in the following signature. marvinrayburns.com
searchme!
Marvin Ray Burns

## The LLL test uses...

The LLL test uses approximations for n real or complex numbers, so you should not use variables in your matrix. marvinrayburns.com
searchme!
Marvin Ray Burns

## More on that Starting Point...

I'm not sure if this is what you mean, but this is what I hear you saying. ```> d:=isolate(z(t+1)=1+a*b-((a*b)/z(t)),z(t)); > eval(d,z(t+1)=0); > This post was generated using the MaplePrimes File ManagerView 565_start.mw on MapleNet or Download 565_start.mwView file details ``` marvinrayburns.com
searchme!
Marvin Ray Burns

## help on inserting code...

duracell0057, After you upload a worksheet, you have the option to view the code. Copy the code. Paste the code into your post. Highlight the code that you pasted. Click the code arrow between the B and the maple leaf. Post it. Keep working at it and you will get it. marvinrayburns.com
searchme!
Marvin Ray Burns

## A Possible Starting Point...

Something along this line might be what you're looking for. isolate(z(t+1)=1+a*b-((a*b)/z(t)),z(t)); marvinrayburns.com
searchme!
Marvin Ray Burns

## a my way...

I like to use printf to place in spaces. printf("%a %a %a",X_bar = Mean_SampleMeans1, S^2 = Var_SampleMeans1, S = SD_SampleMeans1); marvinrayburns.com
searchme!
Marvin Ray Burns My Desire

## Yes, it takes more than 20...

Yes, it takes more than 20 min so, in this case, I assume it is frozen. For such a symbolic solution I believe the value call won’t help much. Maple's mess is probably to accommodate some complex values of n1 and value of x near 0, in which it believes the two expressions won’t cancel. marvinrayburns.com searchme! Marvin Ray Burns My Desire
﻿