4,904 reputation
2954
bio website
location China
age
visits member for 2 years, 4 months
seen 2 days ago

Feel free to correct the grammar mistakes in my posts.


Dec
18
comment Why is C-compiled (but not WVM-compiled) code so slow in Manipulate?
This seems not to work, at least on v8.0.4, vista 32bit.
Dec
18
comment Why is C-compiled (but not WVM-compiled) code so slow in Manipulate?
Quite interesting. The reason is exactly your special setting $CompilationTarget = "C", and the problem won't appear if CompilationTarget -> "C" is used! Don't why though……BTW, the solution from @Szabolcs also works.
Dec
17
comment Derivative of Vectoral NDSolve Interpolated Function / Rule Solutions,/., and Vector NDSolve
Well, I'm afraid this doesn't solve OP's problem. The true reason is that the mm outputs a list while it is one InterpolatingFunction, so list manipulations like First, Most etc. won't work anymore!
Dec
17
comment What is the difference between Array and Table?
There's almost always "more than one way to do the same thing in MMA." :D
Dec
17
comment How to use slots and patterns to reduce repetitive calculation?
@JerryGuern According to my test, Expand will speed up the code only if the option "SymbolicProcessing" -> False isn't added.
Dec
15
comment Fast export of large numerical data
For the first question, you need revived = Import["matrix.h5", "Data"].
Dec
15
comment Monte Carlo Volume Calculation and Speed Up
If you add RuntimeAttributes -> Listable inside Compile, then you can use f[RandomReal[{0, 1}, n], RandomReal[{10, 13}, n]] instead of f@@@Transpose@…… and get a 7X speed up. (Parallelization -> True may also help a little. )
Dec
15
comment Water Hammer - Numerically solving system of PDEs
@Ivan To be honest, I'm not able to… the only thing I know is that "Pseudospectral" seems to be quite effective on certain kind of PDEs (specifically speaking, PDEs related to fluid dynamics and quantum mechanics, according to the examples appearing in this site so far), but I never studied why. Maybe you can consider asking it in scicomp.stackexchange.com ?
Dec
15
comment How to use slots and patterns to reduce repetitive calculation?
Oh, sorry, I should have read more carefully. See my answer.
Dec
11
comment Compilation of a function that needs to call Subsets
BTW, what creates the unpacked array is actually Outer, so I'm afraid unpacked array is also unavoidable.
Dec
11
comment Compilation of a function that needs to call Subsets
Subsets isn't in this list, so Compile isn't likely to speed up your code. In fact, according to my personal experience, though usually not slowing down, even those compilable list-manipulating functions won't benefit from Compile, the reason might be that as an important part of Mathematica core language, most list-manipulating functions have been highly optimized that they can hardly benefit from Compilation. (Join and Complement is compilable, you can try to Compile them and see if the code speeds up.)
Dec
11
comment How to use a C compiler without having SystemModeler
Personally I recommend TDM-GCC, which is free and small and easy to install, you may need to set it manually though. (It's said that Visual Studio can be automatically detected. ) The way to set it is included in the link given by @Lou.
Dec
11
comment Order of evaluation when using Solve and Minimize
You'd better include a concrete code sample, with its currently form it's hard to give advice.
Dec
11
comment How to use slots and patterns to reduce repetitive calculation?
Well, you'd better give a concrete example, or it'll be hard to give advice.
Dec
11
comment What does f_[whoCalled]^:=f really mean?
The only thing I know is that the attribute isn't the reason, try Attributes@plus = Attributes@Plus; plus@whoCalled. BTW, this special upvalue is really interesting, it even breaks UpValues and Unset and Break!
Dec
11
comment Poisson PDE using FDM in Mathematica
@unlikely Glad it help. As mentioned, this post is my first trial for FDM on irregular region, and in fact all the references in my hand has been linked in this post, maybe you can consider asking a separate question for your specific equation?
Dec
8
comment Boundary value problem: complicated functionals
Shooting method usually need a "StartingInitialConditions", but I failed to, and I'm afraid it won't be easy to, find a proper one for your equation. See here for an example.
Nov
28
comment Mathematica won't plot the a function that is solved from NDSolve
Maybe you can go a little deeper on this issue so we will be able to mark those subsequent similar question as a duplicate of this confidently?
Nov
27
comment Mathematica won't plot the a function that is solved from NDSolve
OK, after a second thought I retracted my closing vote, it's indeed a good example for pattern-matching. (I do suspect that the issue must have been raised before but can't find one.) It's a little painful for me to explain this issue systematically, let's wait for a moment first to see if any pattern-matching master will come to give an answer.
Nov
27
comment Mathematica won't plot the a function that is solved from NDSolve
Simply because Subscript[\[Theta], 2][t] doesn't match Derivative[1][Subscript[\[Theta], 2]][t], Change the variables in sol into Head /@ variables will fix the problem.