« first day (24 days earlier)      last day (4461 days later) » 
00:00 - 17:0017:00 - 00:00

12:02 AM
@Mr. Wizard: if I may make a tiny suggestion, I think it's often a better idea to post optimizations you have of currently posted code as new answers instead of editing extant answers that aren't yours. This is precisely the "putting words in other people's mouths" that you were quite unsure about in our last talk.
 
@yoda I guess that's better than Voldemort. :-p
@J.M. I have to disagree. If it would be a major rewrite, perhaps so, but I believe it is correct to improve the existing answers rather that posting a slightly changed one to compete.
 
Got to sleep, too much advanced NIntegrate doc reading tonight
it's 2 AM
 
At the very least, you should just leave a comment, and let the owner of the code consider if s/he sees it fit to add.
 
I still make it a practice to ask about edits, even though in fact there is no actual ownership of answers on this site.
Good night Szabolcs!
 
@JM Doesn't that go against the collective editing and shared resource idea behind SE
well, not against, but not in the spirit
 
12:05 AM
@Szabolcs See you. If you've got questions on NIntegrate[], I might be able to help...
 
I think there's a lot of room for exploiting multiple cores better
I wouldn't be surprised if Mathematica 9 brought some improvements here
 
J.M. that is not my understanding of the nature of StackExchange. Now that we are moderators it is important that we have this correct. I will try to find relevant Meta posts regarding this.
 
Improving grammar, sure. Fixing typos, fine. But code?
 
no need for meta post... faq#editing covers it
 
@JM Someone asked about how to parallelize NIntegrate. I thought I could gain enough insight from the doc into how it works to be able to coerce it to evaluate the integrand at a set of sampling points in parallel. But apparently not. This is a bit disappointing as NIntegrate would be a perfect candidate for parallelization.
Actually no builtin or package Mma functions seem to use parallelization
is that because the parallel tools are too new? or too fragile?
there are some builtins using multiple cores (like LinearSolve, I think), but not through the parallel tools
 
12:09 AM
@Szabolcs I'm not sure the adaptive portion lends itself nicely to parallelization, among other things. Especially if you're just taking Cartesian products of one-dimensional sample points.
@yoda On the other hand, if as you say there is precedent at SO where user A posts code and user B optimizes the code in that answer minutes later, I suppose I can accept this...
 
@JM It would depend on the precise method. Even adaptive methods should generate sampling points in batches, then compute the integrand in them, then compute the location of the next batch of points. At least that's how plotting works, and plotting isn't parallelized either unfortunately
 
@Szabolcs The Monte Carlo methods would probably be parallelizable, though.
 
And it's exactly the Monte Carlo methods that work best for multidimensional integrals
He's asking about a 6-dimensional one
 
Yeah. :)
 
@JM The OP can always roll-back the edit if it is undesired.
 
12:12 AM
I was thinking about the deterministic methods, like Genz-Malik. A look at the algorithm's structure seems to indicate that parallelization isn't too straightforward.
 
Also, please see this answer, its edit history, and the comments below it:
4
A: Finding colors in images: can Nearest do it?

aclDoes this Position[#, First@Nearest[Flatten[#, 1], {0.32, 0.65, .8}]] &@ ImageData[tree] (* {{162, 74}} *) do what you want? OK, try this: tree = ExampleData[{"TestImage", "Tree"}]; dat = Reverse[ImageData[tree]\[Transpose], {2}]; dim = Dimensions[dat][[{1, 2}]]; nearfunc = Nearest[J...

 
@MrWizard Precedent it is. Alright.
 
@JM FWIW, I think it depends entirely on the code in question and the proposed changes. If it's a minor stylistic change (e.g. a~b~c instead of b[a,c]), then it should be left alone. If you're changing crazy code to standard notation, like (f[#] & @@ # &) /@ list to f@@@list, then it's ok. If you're doing a small optimization, then it's ok (e.g., adding a memoization to an otherwise detailed answer)... if it's a major change, then a new answer is warranted.
 
@yoda Well, I suppose the second example could be construed as grammar correction... :)
 
acl
@JM I think those edits should have been added as separate posts, as they went well beyond my code
 
12:16 AM
@acl Ah well, we're outnumbered apparently... :(
 
@acl I thought you would appreciate what we did. If you are unhappy about this is comes as a surprise to me. Why should I have taken your idea and tried to take the points from you?
See also:
8
A: Finding a subsequence in a list

SzabolcsI asked the same question on StackOverflow recently, and the answer that is now my favourite came from Jan Pöschko (modified): findSubsequence[list_, {ss__}] := ReplaceList[list, {pre___, ss, ___} :> Length[{pre}] + 1] This will find all positions of ss in list. Example: findSubsequenc...

I chose to improve that answer, IMHO considerably, instead of posting a competing answer, because the point of the site is to provide the best answers with minimal noise, not see who can get the most votes at all cost.
 
acl
@MrWizard I am not at all unhappy! All I am saying is, you and @Heike's improvements went well beyond my answer, and deserve their own place/answer. Did not mean to express displeasure, at all.
 
I also recognize that sometimes it is better not to extensively edit someone's code especially if you don't fully understand it.
Here is a case of that:
8
A: ListPlot with each point a different color and a legend bar

Mr.WizardAs usual Heike has a fine method, but I can tighten it up. This will render quite a bit faster, it will use built-in color functions more easily, and it will IMO interactively rescale better. Data: n = 5000; pos = RandomReal[NormalDistribution[0, 2], {n, 2}]; altitude = Norm /@ pos; colorf = B...

 
@MrWizard Personally I appreciate your edits there, I'm not sure how someone else would react though.
 
acl
@MrWizard That is a good point: provide the best answer. it is to some extend a question of judgement, which judgement I am happy to leave to the moderators :)
 
12:21 AM
Right, a judgement call, as with any other edit... alright.
 
@acl Alright, that's good. I think it is entirely reasonable to work together on an answer, rather than having three different versions there to confuse people. I also think in this case that the person who's idea it was first should get the reputation if there is no way to divide it.
Incidentally I am in favor of a new answer type : collaborative that would automatically share votes by some method. This is something I would like to discuss at some point.
 
Again, I agree with what you say, I am just not sure how well it works with real people ...
 
@Szabolcs what are your concerns, please?
 
there's been quite a few requests on MSO to allow users to provide bounties to editors... if that's implemented, it'll alleviate some of the concerns of loss of rep from editing instead of a new answer
@Szabolcs are you imaginary?
 
@yoda Complex, maybe...
 
12:23 AM
lol
 
as complex as one can be at 2:30 AM!
good night all
 
acl
@Szabolcs it depends on the people; I think that while this might work with a close-knit community (as we turned out to be), it will not with a larger one
 
Then irrational obviously ;-)
 
(really this time!)
 
good night again
 
acl
12:24 AM
night
 
See you, @Szabolcs.
 
I remind everyone that the OP can revert edits. The moderators (oh nuts I guess that means me) have to then catch and correct any "edit wars" that result.
 
well, one way of doing it would be to run the code through an infix blaster and lock the answer
oh shit. Who have we made a mod!!
 
^_^
 
12:27 AM
@MrWizard high levels of activity should show up in *that* panel, so it'd be hard to miss...
;)
Also the bot is frickin' paranoid.
Man, TeXForm[] can be annoying sometimes...
HoldForm[] sometimes helps, but not always.
 
@jm Have you, by any chance, worked with free probability?
 
acl
@JM looks like it's designed to irritate users, yes
 
@yoda I've only heard, but I haven't had a chance to work with it.
 
alright, thanks. I'll probably drop into math chat to inquire sometime later today.
 
I sometimes use Mathematica to help me post long answers on math.SE, but apparently the time spent cleaning up the output of TeXForm[] is about the same amount of time it would have taken me to write TeX from scratch...
 
12:38 AM
Let's see who's gonna ragequit this time =)
 
@yoda If it's pretty long, there's always the main site. On the other hand, interesting questions sometimes get lost, as math.SE is approaching SO levels of activity...
(I did a double take when the last question on the front page said "30 mins ago" yesterday.)
 
acl
ok I'm off, night all
 
Good night acl
 
See you!
 
@MrWizard @JM Did you see the mod history? I would like to have your opinion on comment deletions
 
12:48 AM
@Sjoerd I don't know what you are referring to but let's discuss this somewhere else.
 
In the teachers lounge?
 
Sounds correct to me.
 
1:17 AM
@yoda I've been watching that question for a while now, and only 18 more votes! Of course, the vast majority of my rep on mso comes from that question, but I think it a worthy goal to earn at least one Great Question (or, answer) badge.
 
you keep collecting gold badges on useless sites :P First area 51, now MSO
says the guy with 11k on MSO... FML :(
 
@yoda that was a legitimate question, and yes my gold badge on area51 is useless.
 
@rcollyer true true, a rage worthy question...
 
it completely pissed me off.
so, I did the american thing: I complained.
 
I had to stop thinking about just how one gets crazy levels of rep on A51 and meta.SO; it drove me mad.
 
1:21 AM
you have to do some very scary things, on area51, especially.
 
@JM meta.so — memes and churning out the usual drivel for noobs. And tactically attacking the establishment. That brings the votes
 
like propose a "worthless" site that will never amount to anything.
 
I'm this close --> <-- to a gold reversal badge on SO, but will probably never get it because the question is not likely to ever be seen again
 
which question?
 
This one. Obviously, crappy homework questions are easy meat for badges
but this chap took it to another level
 
1:30 AM
Ah, image processing...
 
heh, the cheeky rascal copied my code (which I had intentionally left incomplete) and posts it in a new question
 
@yoda never voted either way on that question. I appreciated the snark on your part when it was initially posted, though.
 
heh, most people voted on the first version of the question ;)
 
What a complete and utter dipwad...
 
you're a bit closer to that reversal badge, though.
@JM almost as bad as the guy who was cross-posting across 3 sites asking for us to write the code for him.
 
1:34 AM
@rcollyer Man, a long time ago and we still remember it like a festering flesh wound...
 
@MrWizard I wasn't frustrated, it felt like it was a Mathematica 7 question so I added the tag.
@All Could you evaluate the code in my answer in Mathematica 8 (and possibly 7) to see whether it works? mathematica.stackexchange.com/questions/1554/…
 
@JM we haven't had much jerkish activity otherwise in the tag =)
 
@JM not that long ago ... at least in real time, internet time it was years, and years ago.
 
@yoda Precisely. If you've gone on life for the most part with nary a scratch, you do tend to remember that one time you had fun with a chainsaw...
 
or axe ...
thought about an axe a couple of times with that guy ...
@David It seems to work on v8.0.4, although the output was initially unexpected. I think it works.
 
1:43 AM
Unexpected?
 
I didn't expect Dynamic so it was initially offputing until I realized it was supposed to do that.
 
Ah okay. Thanks.
 
@David your profile says your a physics student: undergrad or grad?
 
Grad.
 
which field? Mine's computational materials.
 
1:49 AM
Although we don't have that distinction in Germany. However, I'm in the US right now ...
 
Point.
 
Haven't started my thesis yet, will do that when coming home. Will probably be something with field theory.
 
cool.
 
We have an interesting professor who's doing spin glass
There's another one doing neural networks, statistical physics and such
Both seem to be really nice supervisers
 
sounds interesting.
 
1:51 AM
Right now I'm pretty much doing whatever I want ;-) Exploring new fields, reading books and uhmmm doing american culture
As in get drunk in NYC ;-)
 
never actually been in NYC, myself.
 
Where are you (now and from)?
 
upstate NY, and now in Rochester.
 
Huh? Yet never been in NYC?
Odd.
Right now I started a Haskell tutorial. Seems like a pretty awesome language.
Like Mathematica, only that it's rigorous.
And twice as functional, yet probably only half as useful ;-)
 
@David let me correct that, I've gone through the city to visit cousins on Long Island. But, it is 350 miles from here, and upstate views itself as a distinct entity from NYC.
 
1:55 AM
I don't see myself as a bavarian either, yet have been to munich.
 
@David I'm not so sure about that. Check out xmonad.
 
I guess when you live near a large city you get used to it and don't develop the urge of going there.
 
350 miles isn't what I call near. It is honestly easier to go to DC.
 
I didn't say you can't write useful things in Haskell. I said it's probably not worth the effort.
Integrate x^2 there. Have fun ;-)
Yeah it's not your neighbourhood, but still in car reach
 
Which integration method?
Simpson's?
 
1:56 AM
Any.
Just saying, Mathematica gets stuff done.
Haskell won't do that for me for quite some time.
But I like the way of thinking functional. Mathematica introduced me to it, but it doesn't force you to use it with much rigor.
 
Haskell requires a bit more rigor.
Incidentally, I'm only passingly familiar with it as a friend was using it extensively.
 
Fringe is on. Gotta go. Thanks for the chat.
 
This one is awesome.
The guy should sell it.
 
@David will check it out.
 
2:00 AM
Alright, have fun :-)
 
@David Okay, thanks. It can be frustrating when you post an answer and receive zero votes.
 
...or incomplete answers get more votes than your elaborate version... :)
 
2:18 AM
@yoda I didn't know he was part of SO. I shouldn't be surprised.
@JM isn't that the truth.
I'm currently drooling over a piece of software named after a large deer.
 
@MrWizard I was starting to get my hopes up for the tumbleweed badge.
I really don't understand why my code produces errors in 7.
It uses only pretty standard stuff after all
 
2:34 AM
I hadn't realized until now that there's an implementation of Perlin noise in the Mathematica help file. Neat!
 
 
1 hour later…
4:06 AM
@JM I like your MO post. Hadn't thought about it in those terms. Of course, Clenshaw-Curtis is my favorite, mostly because it is just an FFT method.
 
4:38 AM
@rcollyer I like it also. Have you seen the Trefethen paper on it?
 
CHM
4:51 AM
I've found a strange loop inside Mathematica while using Leonid's myTiming function.
Evaluation of Print[myTiming[Print["Hello"]]] prints "Hello" endlessly.
 
@CHM: you can easily fix typos by pressing the up arrow key and editing accordingly.
(but only within a few seconds)
 
CHM
aaah. thanks.
Have you used his myTiming function?
 
I haven't; I can't test either since I'm currently rendering something.
 
CHM
ok.
It works fine when evaluated alone. It doesn't when I used it inside another function. Strange.
 
 
2 hours later…
CHM
6:41 AM
anybody home?
 
Hello CHM.
@CHM
 
7:42 AM
Who are our moderators again?
@Verbeia Can you edit this?
2
Q: How make AddMenuCommands work in an init.m

murrayI want to add some items to the Mathematica 8.0.4 Help menu (under Mac OS X). In [$UserBaseDirectory]/Autoload/FrontEnd/init.m I have the following cell: FrontEnd`AddMenuCommands["OpenHelpLink",{Delimiter, Item["Installed Add-Ons",FrontEndExecute[FrontEnd`FrontEndToken["OpenHelpLink", ...

 
@halirutan no, edit privileges only apply to questions and answers
 
@Verbeia I've seen it. I thought you were a mod. Sorry.
@Jm, @MrWizard Could you edit the comments on the above post?
Or does it only look on my Mac oversized?
 
@halirutan I've flagged it for mod attention
9
Q: Moderator Pro-Tem Announcement

AarthiThroughout the beta, we need members from the site whose focus is to engage the community, both in community-building issues and site management. That's why we select a few members from each community to act as temporary, provisional Moderators. You can read about the program here: Moderators Pro...

 
@Verbeia I found this announcement a moment after I wrote you.
 
@halirutan I have a Mac too, so hard to know if it's browser-specific, but I suspect not
 
7:48 AM
@Verbeia Does the flagging only reach our mods or all mods on SE?
 
@halirutan I think the former, but I don't know for sure
 
ok, thx.
 
8:05 AM
@halirutan only those who have access to mod tools on mma.se (so that includes these three mods + SE employees)
 
8:34 AM
@yoda Ah, ok.
 
8:49 AM
"Are you sure you want a mathematica solution and not one in ruby? ;)" +1
2
Q: Mathematica: Label specific vertices in GraphPlot

Mr. Demetrius MichaelHow can I label particular vertices in GraphPlot? And have the arrows space out accordingly, for the width of the label? I have Mathematica 7, but I think this question applies to all versions. Edit: I posted the above graph so you can see label overlap might kill whatever information the gra...

 
9:46 AM
@halirutan Bah, people should really get into the habit of enclosing code in backticks...
 
10:11 AM
Anybody here who can help me test something?
 
10:26 AM
@JM what do you need to test?
 
Hello @Heike: could you try executing With[{n = 275}, BlockRandom[SeedRandom[10]; ReliefPlot[Abs[InverseFourier[Fourier[RandomReal[{0, 1}, {n, n}]] Table[Exp[-((j/n - 0.5)^2 + (i/n - 0.5)^2)/0.025^2], {i, n}, {j, n}]]], ColorFunction -> Hue, Frame -> False, Mesh -> False]]] for me?
 
Looks like this:
 
It looks pixelated, doesn't it?
 
Yes, I noticed that as well
 
I was assuming the output would be as smooth as the version using ListDensityPlot[], but it seems I am mistaken.
 
10:33 AM
This seems to work better:
With[{n = 275},
BlockRandom[SeedRandom[10];
Show[ReliefPlot[
Abs[InverseFourier[
Fourier[RandomReal[{0, 1}, {n, n}]] Table[
Exp[-((j/n - 0.5)^2 + (i/n - 0.5)^2)/0.025^2], {i, n}, {j,
n}]]], ColorFunction -> Hue, Frame -> False, Mesh -> False,
ImageSize -> 900],
ImageSize -> 300]]]
 
Downsampling... :D
 
@JM The solution to many problems
 
Though the pixellation shows up when I resize.
 
The difference between ReliefPlot and ListDensityPlot is that the first produces a Raster and the second polygons
 
In which case I should just be cranking up the initial size before downsampling, I guess.
@Heike Ah! I was assuming density plots were still raster like in the older versions...
I was impressed by how smooth the stuff in the examples was that I was wondering why my output looked grainy.
 
10:40 AM
ReliefPlot has an option ImageSizeRaw as well. ReliefPlot[..., ImageSize->300, ImageSizeRaw->900] seems to have the same effect as my code above.
@JM Those polygons are nice to look at on the screen, but terrible for exporting to PDFs
 
Apparently that's undocumented...
 
@JM Wouldn't be the first time
 
@Heike Oh yeah, I saw that thread at main recently...
Yeah, I think I'll go with your route. Thanks a bunch Heike!
 
You're welcome
 
morning ... (yawn)
I mustn't stay up so late any more
 
10:43 AM
isn't it afternoon where you are?
 
He stayed up so late, his "breakfast" is what we usually call "afternoon tea"... :D
 
@JM When did he have his elevenses then?
 
@Heike That's one of those things we shouldn't pry on, I think... ;)
 
@MrWizard Will you expand this answer, as you were planning to?
 
@JM By the way, I don't think ImageSizeRaw does what I think it did. The size of the raster seems to be the same as the size of the initial matrix fed into ReliefPlot independent of ImageSize or ImageSizeRaw, so to get a better resolution you could increase the dimensions of the matrix
 
11:01 AM
@Heike That would be easy for the sample I gave, but somewhat a pain for what I'm actually doing. But I'll consider it if the output of ReliefPlot[] becomes intolerable. Thanks.
 
@JM You could also cheat a little by interpolating the coarse matrix and resampling the interpolation function at a finer resolution
damn you homonyms
 
11:18 AM
@Heike :D
 
@Szabolcs I need to put some work into that. I have been meaning to do so but I keep finding something else that comes first.
 
Yes, I understand that
@JM Probably the reason no builtins use any parallelization is that parallelization is so fragile. One always has to verify by hand that all revelant functions are distributed or even can be distributed. In lots of cases it is not even trivially possible (e.g. MathLink extensions don't readily parallelize---but LibraryLink do)
 
@Szabolcs Right; to further damn the proposal in *that* answer, effectively parallelizing RK and most other conventional DE solving methods is still being actively researched.
 
yes because in DE solving methods we usually compute the next time step from the previous one..
There was that question where I asked about Delaunay triangulation
by measurement, ComputationalGeometry`DelaunayTriangulation[] runs in ~n^1.2 time while ListDensityPlot (which also just does a Delaunay triangulation, nothing else) runs in n^2 time where n is the number of points
ListDensityPlot is much faster for any practical point count, but it still takes up to 20 seconds to compute some of my plots
After noticing this about its complexity, I think it could be much faster
 
11:33 AM
...maybe some pre/postprocessing is being done?
 
@JM I'm using an external Delaunay triangulator now, and made a listDensityPlot based on that. It gives instantaneous results
 
@Szabolcs are those 20 seconds just for calculating the mesh or the whole plot?
 
@Heike calculating, but now showing the whole plot. But once one has the triangulation, it's really easy to put it together into a plot. Just need to set VertexColors on the polygons. Making a plot from triangulation data is instantaneous for me even for 10000 points.
showing the plot takes a while though, I don't know why
maybe it's the transformation of the Graphics object to a box expression that takes long?
resizing the plot, or showing the cell expression and re-converting it to a cell in the front end are all very fast
 
If I understand you correctly: if you suppress the output with a semicolon, things go fast, but if you ask for output, that is the slow part?
 
@Szabolcs What determines how long it takes to render a graph is still a mystery to me
 
11:41 AM
@JM well, with the builtin ListDensityPlot, the semicolon version takes some 20 seconds for large data. Try ListDensityPlot[RandomReal[1, {10000,3}]];. Removing the semicolon adds an extra second or two
where this extra second or two come from is not very clear to me
 
...and for your fast version?
 
Rendering is very fast---it is done on the graphics card for these types of plots. Resizing is very fast.
the fast version takes 0.2-0.4 seconds to compute, plus the 1-2 second delay to show it
 
Something the front end seems to need to do, then.
 
I think those 1-2 seconds come from sending everything through MathLink, but I am not sure. Graphics and GraphicsBox are similar enough that converting between them shouldn't take time.
compressing the data might take a but of time too, but not too much:
AbsoluteTiming[ToBoxes[gr];] --> 0 seconds
AbsoluteTiming[Compress[gr];] --> 0.25 seconds
I launched a new kernel and sent all the graphics to it on MathLink, then back
AbsoluteTiming[
 LinkWrite[link, gr];
 gr2 = LinkRead[link];
 ]
also took zero seconds
Converting the graphics cell into a cell expression, then back in another front end is also instantaneous
so I have no idea where that 2 second delay comes from
 
12:00 PM
@Szabolcs I bet that n^1.2 is actually n Log[n].
 
Maybe; triangulation is essentially divide-and-conquer, no?
 
@JM According to wikipedia the most efficient algorithms for Delaunay triangulations are n Log[n]. Divide-and-conquer is one of them.
 
@Heike yes, it probably is. I just looked at the LogLogPlot of the timing curve, it looked close enough to straight, so fitted a straight line on it
 
speaking of algorithmic complexities, how does one end up with an algorithm that's n^2.376?
@halirutan :) I assume you know the history between him and Mike Honeychurch? :)
 
@yoda What algorithm has a complexity like that?
 
12:09 PM
I guess it depends on the structure of the input data
 
@yoda Well, there's those fancy matrix multiplication algorithms, you know...
 
@Heike eigenvalue decomposition algorithms and matrix multiplication
 
and it's an average
 
With eigendecomposition, it can actually depend on the matrix, and if the algorithm is exploiting structure...
 
that doesn't sound like it would depend on the specific input (other than its size)
 
12:10 PM
@JM right, I just have a hard time wrapping my head around how something that's seemingly arbitrary like 2.376 comes up
 
@yoda I think it's explained in the Coppersmith-Winograd paper somewhere; unfortunately I don't have my copy with me.
 
@JM I think this is worst case — in the absence of any structure
 
@yoda In that case, QR is effectively O(n^3), with the constant depending on the matrix...
...and the eigenvalue distribution. (Clusters give multishift QR a tough time.)
 
@JM thanks. that keyword brought up plenty of material to spend time reading :)
 
There is another algorithm which is order n^Log2[7]~n^2.807, so I can imagine that 2.376 comes from something similar
 
12:12 PM
@yoda Actually, I think even Strassen's original paper has something too.
 
@JM what does the distribution of the eigenvalue have to do with it? I can understand extreme deviations being problematic, but in general, an arbitrary distribution with lambda_max < inf should all be the same, no?
 
@yoda As I said, tight clusters of eigenvalues are tough on multishift QR. I believe the internal strategy used for handling clusters takes a fair bit of time.
But if the eigenvalues are nicely distributed around the complex plane, the effort is par for the course.
(N.B. Single/double-shift QR doesn't have worries like this, but LAPACK only uses this for "small enough" matrices.)
 
hmm... some day I'll spend time reading more in depth about the algorithms and routines I use
 
@yoda That may take up a lot of time... ;) I've been doing it for years and everyday I still find something I didn't know.
 
heh, hence the someday :) It's a nice word that gives you immediate comfort that you plan on doing it, but gives you an option to copout every time because it's someday, not today :)
 
12:50 PM
@Szabolcs are you here?
 
doesn't look like it
 
:-)
That ping still appears in the bar if he is elsewhere on SE, correct?
 
well, it takes approx 20 mins for a chat ping to propagate to your global inbox (unless if he happens to be in a different chatroom or on chat.se)
That's why I said it... so that you won't have to wait long if you were intending to
 
I didn't know that. That explains some things.
 
if you're in a different chatroom (and not logged in this one), it appears as a drop down notice saying you've been mentioned (immediately)
if you're in both rooms, the ping appears in the room list on the right (above the starred chats)
 
1:12 PM
@MrWizard now yes
 
@Szabolcs if you have time to talk please join me here:
 
@MrWizard I'm also in the middle of a Skype call and cooking though
 
good combo
 
I'm not that talented.
 
1:36 PM
 
2:30 PM
@JM hehe
 
Quite amazing, I must say. It's 2012 and there are still people who believe that computers can do no wrong...
 
I blame it on too many kitchen sink functions :P
 
Mathematica does give that impression, no? Oh well...
 
It was only lacking an AnalyzeDataForMe[] function... but with the latest W|A pro, they're one step closer to that
 
I have to wonder how big Mathematica would now be if the entire functionality of Alpha were actually built-in as opposed to having to call a server...
 
2:41 PM
@JM I taught Matlab to a group of first year material science students once. They were using the symbolic toolbox to calculate some integrals and one of the integrals gave some horrendous expression involving theta and zeta functions whose numerical value was something complex (it was supposed to return unevaluated). One student got a bit angry and wondered how he was supposed to trust anything Matlab returned, so I guess at least 1 student learned something that day.
 
@Heike :D I'd have given him a high-five when the other students weren't looking myself... :D
 
@Heike does the matlab symbolic toolbox even support unevaluated expressions? Or was this during the days of Maple in Matlab?
 
@yoda This was about 13 years ago
 
Ah, then Maple it is...
(now they use MuPAD IIRC)
 
yeah
 
2:47 PM
I haven't touched the symbolic toolbox in Matlab since then.
 
good. nobody should :)
 
That's a tad extreme... ;) but yeah, stick to using MATLAB for what it's intended for.
 
lol, yeah, that was more along the lines of what I meant :)
In the rare case that I need to interface between mma's symbolic capabilities and matlab, I find the ToMatlab[] function quite handy
 
acl
@yoda out of curiosity, for which purposes do you find matlab more suited? toolkits?
 
plotting legends
 
2:52 PM
For me, heavy duty linear algebra.
 
acl
@Heike ah yes of course
 
and some data processing. (There are really rather nifty algorithms in those toolboxes.)
 
acl
@JM do you find it faster, more convenient, both? (I have little experience with real calculations in matlab)
 
@acl Well, Mathematica is slowly getting better in the LA department, but I don't think it'll beat the performance of MATLAB any time soon.
(which is hella funny since nowadays both lean on LAPACK.)
 
MATLAB includes a full MuPad these days, with the original MuPad GUI
 
2:55 PM
As for convenience... I'm probably the wrong person to ask, since I'm pretty much used to the syntax/notation and idioms.
...and I am forever translating stuff back-and-forth.
 
acl
@JM OK, in my case I did try to compare them on a few specific tasks that I needed (basically obtaining the spectrum for a few simple sparse matrices) and I found them equivalent. are you talking about more complicated things, or is there some way to get matlab to be faster? (or did I just happen to choose the wrong examples?)
 
@acl Those sparse matrices are those Hermitian ones you told me about before, no?
 
Does anyone here use R?
 
Methods for Hermitian matrices tend to be way faster than methods for general ones so I suppose the performance equivalence is not too surprising... probably the only difference is overhead.
 
acl
@JM I'm a theoretical physicist, all my matrices are Hermitean!
 
2:59 PM
It seemed attractive, but I don't like the strong focus on statistics and I terribly miss having some kind of notebook interface. Even MATLAB has a cell mode now (which is what I actually want from a notebook interface)
 
@Szabolcs The little I've tried, I liked. I really should try to find time to learn it...
@acl Then you don't have to worry about the things that keep numerical analysts up at night... ;)
 
acl
@JM good
 
acl
3:11 PM
cool, I managed to answer something!
(and I must admit I was surprised at how absolutely trivial it was to do this in mma)
 
@acl There is a function called ColorQuantize which would have made it even more trivial :-)
 
acl
@Heike oh!
haha
well, as usual there's a function which, with the right options, will do exactly what you want
 
the kitchen sink strikes again!
 
acl
although sometimes in mma giving the right options as no less trivial than actually programming whatever it is you're trying to do in the first place...
 
true
Maybe our logo should be a kitchen sink
2
 
acl
3:21 PM
that wouldn't be such a bad idea actually
 
@acl yes, signal processing stuff and general linear algebra + matrix manipulation
 
Although, having a look again at the SP toolbox, there are a number of functions that probably could be implemented more neatly if it were Mathematica...
 
@yoda yes, it's kind of an insider joke.
 
I don't like working with and manipulating matrices in mathematica... simple operations like inserting, reshaping, linear index to subscript index and vice-versa are all not very intuitive... not that I don't know how to do them in mma, but I'd rather do it in matlab
Of course, you could argue that I can simply write convenient helper functions, and I do, most of the time... just haven't found a compelling reason to switch. And then there's also the speed that JM mentioned
 
Yeah, MATLAB was written with linear algebra people in mind, so the matrix manipulations are understandably made to look natural...
 
3:32 PM
Yeah, the arguments always go both ways... so I often refrain from one's better than the other arguments... just that I prefer one to the other for certain stuff
Also, there's the whole thing about eventually sharing code with the lab... so even if I like mma for certain things, I tend to use MATLAB so that others can use my code if and when I graduate. Of course, if I want to keep things intentionally hard to understand for others, I use mma =)
 
Well, a number of people still don't understand "use the right tool for the job" and "don't use a spade as a spoon, or a spoon as a spade", for that matter...
 
@JM No, MATLAB was written to give studends a nice frontend for lapack ;-)
 
lol
 
@halirutan LINPACK and EISPACK, actually... ;)
(LAPACK only came much later due to Dongarra's and Kahan's efforts)
 
My point is, it should hopefully be very good at this.
@JM Surely, I only know the Intel-package.
 
3:37 PM
Just trying to keep the history straight, see... ;)
 
To be honest, I've seen only a bit of MATLAB and I'm usually none of these flame-war guys. I don't care what people do, when the a slower than me. If they are more efficient at something, I'd like to know why and decide then.
For instance I never got used to VS and MS-Dev. but it seems ok for many people so it's fine with me.
 
I like both. I just wish more people could be language-agnostic... sticking to just one language is sooo stifling.
 
@JM Exactly. The right tool for the right purpose..
 
I still wonder why this has zero votes. Did I break it? Is it not in fact faster? Some feedback at least would be appreciated.
0
A: Updating Wagon's FindAllCrossings2D[] function

Mr.WizardHere is my revision of Stan Wagon's 3rd Edition function. It is again faster and IMHO cleaner. FindRoots2D::usage = "FindRoots2D[funcs,{x,a,b},{y,c,d}] finds all nontangential solutions to {f=0, g=0} in the given rectangle."; Options[FindRoots2D] = {PlotPoints -> Automatic, MaxRe...

 
3:53 PM
@MrWizard I haven't had time to look at it.
...and since we're bringing things up: any reason why you haven't accepted answers for the Hilbert transform question?
 
I didn't mean you specifically.
I voted for all of the answers provided to my question. I have not yet taken the time to make a proper comparison therefore I did not yet Accept.
 
4:31 PM
@MrWizard I did look at all answers, but there were 7 and when I remember right, there was a long time not a single answer to this. I thought when noone wants to answer, I do something with image processing..
 
00:00 - 17:0017:00 - 00:00

« first day (24 days earlier)      last day (4461 days later) »