Carl Love

Carl Love

28100 Reputation

25 Badges

13 years, 104 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@Østerbro I'm not very familiar with the Units package---and I have no familiarity whatsoever with embedded components like tables---and your worksheet is overwhelming. Please send me a few examples that show the system not working, and please describe what you would like the output to look like. Please point out exactly where the output is incorrect. Please make it a straightforward worksheet with no startup code, no tables, and no use of non-stock packages like Gympack. If I can make that work, then we can graduate to tables, etc.  Also please note that I have zero knowledge of your field of study or your native language. I do however have familiarity with scientific literature in general: I know what units are, I know all the standard units, and I know how they are supposed to be displayed. 

@tomleslie The raw unnormalized Laplacian matrix L is also symmetric and positive semidefinite. Perhaps you were misled by the word symmetric in symmetric normalized Laplacian matrix. The word is there to distinguish that normalization from the other, the random-walk normalized Laplacian matrix, which isn't symmetric.

@firmaulana Yes, that's the correct syntax. I didn't expect it to finish instantly, but I expect it to take much less than 12 hours. Let me know how long it actually takes.

@firmaulana Are you sure that you executed the statement that assigns the constraints to kendala? In other words, you must hit the Return key (or Enter key) on that assignment statement before it takes effect.

It may be best to re-execute the entire worksheet.

@firmaulana 

I'm suggesting that you remove assume= binary and give all variables bounds 0..1. This can be done with a very small modifcation of your code. Take the set of constraints out of the LPSolve command and assign the set to a variable, let's say Kendali. Then change the LPSolve command to

Sol:= LPSolve(z, Kendali, (indets({z, Kendali}, name)=~ 0..1)[], maximize);

I'm not saying for sure that this will work. It's just worth a try. It should take much less time. I vaguely recall a theorem (it's been 30 years) that under certain fairly common conditions, a binary ILP can be solved as a regular LP and the solution will turn out to be binary anyway.

 

@tomleslie wrote:

Using "%m" gives output in Maple ".m" format, and it seems(?) to be identical to the results when using save(expr,filename) when 'filename' has a '.m' extension.

As far as I can tell, this use of save with unnamed expressions is undocumented. When E is a named expression, there is a slight difference between

save E, filename;

and

fprintf(filename, "%m", E);

The difference is that with the save, the name E is also stored, so that the saved expression is equivalent to E:= <value of E> rather than just <value of E>.

The only other place I can find a reference to 'dotm' is as an option in the MapleTA[ToString] command.

That command (without the dotm option) looks like a useful way to put an expression into a mostly human-readable but also machine rereadable form.

@acer Oh, how boring and cryptically documented! I thought that this was an exciting new way to write directly to worksheets. But actually it's just a patch to maintain backward compatibility. I see that if

p:= 1+x+x^2:

then

sprintf("%m", p) <> sprintf("%Zm", p).

Do you have any example where one would need to use this? Are expressions in worksheets stored in .m (or .Zm) format?

What you describe is totally normal. Integer linear programming problems are hard. You have a lot of constraints and, more significantly, a huge number of variables. I only looked at your worksheet briefly, but it looks like 18^3 = 5832 variables. Try relaxing the assume= binary constraint to all variables being between 0 and 1. In other words, make it a linear program. You may get an answer that is binary anyway.

You should practice on a smaller version of your problem.

@Milos Bilik If you extract specific columns, as in M[2.., 4], M[2.., 7], then they already are Vectors; no further conversion is needed.

@Markiyan Hirnyk 

The NonIsomorphicGraphs command is much more useful for this purpose than the IsIsomorphic command that I used. Unfortunately, neither of these commands is listed on the help page ?GraphTheory. If they had been, I would've used NonIsomorphicGraphs.

@Milos Bilik 

If M is the Matrix, then do the extraction as M[2.., [4,7]]. That says "rows 2 to the end, columns 4 and 7". Converting dates to floating point is probably more complicated. I'd need to see the date format to see what you mean.

Your graph is very likely a cluster graph. Look up "graph clustering" in Google. You will need to use an algorithm for identifying the clusters. I don't know if there is any algorithm for this already in GraphTheory. Once the clusters are identified, it is easier to draw a meaningful representation of  the graph. Do a Google image search on "cluster graph" to see what I mean.

@aamirkhan 

kernelopts(version);

 

@LaineTrance 

RationalRoots:= proc(f::And(polynom(integer), satisfies(f-> nops(indets(f,name))=1)))
uses NT= numtheory;
local x:= indets(f,name)[], p, q, r;
     r:= select(
          r-> eval(f, x= r) = 0,      
          {0, seq(seq([p/q, -p/q][], p= NT:-divisors(tcoeff(f))), q= NT:-divisors(lcoeff(f)))}
     );
     if r = {} then printf("No rational roots") end if;
     r
end proc:

I also can run your worksheet without error.

First 403 404 405 406 407 408 409 Last Page 405 of 709