Yet another question on geometric computation on v10: how to find (and controllably sample) sharp edges (and high curvature) on boundary regions, in general? I have my fears the answer at least with v10 is "choose one: generality, ease or efficiency."
For the aid of anyone else who runs into this issue I seem to have figured out the compounding factors necessary to recreate this problem.
Create a Windows directory C:\foo\bar
Save arbitrary Notebook example.nb to this directory
Using the Option Inspector add to NotebookPath exactly: "C:\\foo\...
DSolve can be really slow sometimes. Try this eq = a*D[y[x], x]^3 + b*D[y[x], x]^2 + c*D[y[x], x] - y[x] - d == 0 Timing[DSolve[eq, y[x], x]] but you would have to wait 1-2 hrs to get the answer !
I don't really know. Not really my "area" so to speak. You'd have to ask Wolfram Technical Support and god knows there might some bizarre system underneath it all that's not succinctly describable. Or not.
@Szabolcs I managed to make the startup be much quicker by disabling the start screen and just opening a notebook. Then it's down to v9 startup times. But as soon as you show the start screen it's 40 seconds of 100% CPU and "formatting notebook contents" and there is high CPU usage and hanging for notebooks other than the start screen as well (especially the docs)
Seems like these experiences are common to many in the W|C thread
There's a new large functionality area in v10: regions. We should settle on a tag for this because more and more questions are getting asked and not all of them are properly tagged.
One of the new features in v10 is support for connected devices.
How can I find out if a particular device is supported by Mathematica? Is there a complete list? Is support being added continually?
The documentation says:
Many classes of devices listed in the Wolfram Connected Devices Pro...
@Szabolcs "mesh" is definitely overspecified for computational geometry. And "regions" is also a bit questionable for general "computational geometry".
It doesn't help the situation that there is some regions functionality already in earlier versions, and it actually tends to be integrated with new stuff.
We also need to decide what we should do with the version-10 tag. The version-9 tag is not for features that were new in version 9, and I would like version-10 to have the same role for version-10 as version-9 for version 9. But this is not at all how it is right now.
@Rojo Ah, OK. Not this does not work as nicely as in IDEA. It inserts (**) but it moves the selection the complete cell and doesn't leave the cursor inside the comment.
@Szabolcs I would say it is save because it is just the object that contains all the function pointers to the library functions.
@halirutan I have a code that calls several Listable and parallelization->True compiled functions, so needs multiple processors for parallelization. I want to execute this code for different RandomSeed using ParallelDo. If I have 30 processors and 5 RandomSeed, How do I tell it to use 6 cores for each ParallelDo iteration?
@brama I'm not sure I would do that. If your compiled code already runs parallel, why don't you use only Do? Don't forget that using ParallelDo will introduce additional overhead and it might slow your overall approach down.
@halirutan but the marginal benefit for the code execution after certain number of processors is not great and I was wondering if I can better utilize the extracores for Do
I want to at least try it and see if it's worth doing it...
Question
Why is it, that compiled, Listable, parallel functions which work perfectly fine on the main kernel, do not run in parallel on sub-kernels?
Details
First Example
Let me give a first example. I compile a function $f:\mathbb{R}\to\mathbb{R}$ which is a simple sum of sine-functions with...
@Pickett Please remove them from posts that don't need it... I've been untagging them whenever I see it. As you say, it doesn't make sense to tag every new question with version-10 and it's easier to control it now than when it accumulates 200 questions
@Szabolcs meshes, voronois, discretizations, convex hulls, etc. -> computational-geometry. Intersections of lines, planes, half spaces, *Triangle and other shapes, etc. -> geometry
Intersections of line segments are now easiest done through what WRI calls computational geometry. I think dividing will be tricky, unless it's pre-v9 (geometry) vs. v10-and-after (computational geometry) features. And of course, being knowledgeable of the distinction gets really hard in couple years.
Also, many other things that WRI calls "computational geometry" are not included on your definition. It's problematic if more or less uniformly organized (at least on documentation) topic under that specific name is split in the middle - but I couldn't tell what would be the right way to do it.
I might actually suggest discrete geometry as a tag, and purely symbolic variant as another.
But that causes troubles with tag history, and all that geometry that has definitely existed before v10. It doesn't help much that some primitives have dual roles in both Graphics and regions-based computational geometry!
@kirma I guess mma doesn't have a half space... I was just rattling some terms. In any case, a half space (in 3D) is the entire region on one side of a plane.
@kirma It's not a perfect demarcation, but what I wanted to convey was that things like SSSTriangle should not be tagged computational-geometry
@Öskå to even the playing field... and to make you go home. They don't want you to burn out. You are useful to SE only if you keep coming back, not if you turn on all the boosters in one day and then fizzle out.
Don't forget that all these upvotes, rep caps, badges, etc. are social engineering tactics to make you use the site more in the manner they want you to. In return they provide value to us through the use of their software for free and helping you be a part of this community.
@Szabolcs thanks, it's always nice to ask questions. I must say I don't know the basics yet though. I keep confusing this mathlink-like expression sharing (like putting expressions on a link). I suppose that is the main thing I am interested in
I am looking for advice on implementing the following. (It is possible that the answer is that it is simply not a good idea to do this.)
I would like to have an object similar to FittedModel. Let's call its head Obj.
Like FittedModel, it will have properties, e.g.
properties = {42}; (* prope...
@Szabolcs regarding your comment under the question; I spent an hour or se earlier today writing code to automatically add SyntaxInformation to a bunch of functions I have from their usage strings. This while I am supposedly sprinting to finish a paper, helping a collaborator debug a calculation of his and attending a few conference talks.
sometimes it amazes me that I ever managed to not procrastinate my way to starvation
@Szabolcs that sounds good until you end up using the same codebase for a year. then those shortcuts like "../../dir1/dir2/file.m, hardcoded into 30 almost-identical .m files and intended to load the main codebase, come back to bite you
and why, you ask, would I have 30 almost identical .m files?
Why, because you are too lazy to get your code to read command line arguments. no, you just write another piece of code to produce modified .m files, tailored to each run.
then more code to produce the shell scripts that are sent to the queueing system
then even more to produce the shell script to submit the other shell scripts
very clever.
so now I don't dare move anything.
the lesson is, it really does pay off to make at least a token effort to structure your stuff and use the appropriate tools :)
but yes too much of that and you end up wasting your time
(but how would I know? I write mathematica code to produce mathematica code to produce shell scripts that send shell scripts to the queue, in order to run mathematica code; and all because I am too lazy to plan ahead)
you can imagine what happens when I return from eg a one-week break and have to get back into this mess
I enhanced the random game premise generator. Instead of just "flea", "jacket", "roller-blades". It is: A flew with a jacket that helps him understand more about his identity, who is on a roller-blading team, and who has a moral objection to drinking blood. I'm thinking skating/jumping between hosts for action/exploration elements, and trade/strategy elements between flea colonies.
@Szabolcs .mx does seem cross-platform compatible, even between v9 on Linux and v10 on OS X for matrices, as you mentioned a few days ago. How did you know?
@acl It is possible that these files are only compatible sometimes. E.g. simple packed arrays might work, but not sparse arrays, graphs, or other more complicated atomic objects.
@acl It's nice that MX is now (mostly?) cross platform, but I'd like to remind people (not you particularly) that it is a significant safety concern as it could execute any code and circumvent any in-product security measures you've attempted.
Mathematica version 10 has been released, with new functions and operators.
The syntax highlighter on this site needs to be updated.
The highlighter that is being used is already updated in the GitHub repo. The new version simply needs to be added to this site.
@acl That's the only way I found to deal with Switch[#3, something] knowing that something can't be a list.., if you have a better/clever idea feel free to update this :)
Not sure if this should be turned into a question (like: why is V10 25% slower), or if I should send it to WRI-support (without getting feedback), or if it is just a Windows and Linux issue (no access to Mac right now): Evaluating this Do[f[i, x_] = N[i] + x*i, {i, 400}]; First[Timing[Nest[f[55, #1] & , 1, 250000]]]in V10 is 25% slower than in V9. This is just a cut-down artifical example, but I see a slow-down of about 20% or more also in larger applications. I do find this weird. Comments?