Mac Dude

1576 Reputation

17 Badges

14 years, 120 days

MaplePrimes Activity


These are questions asked by Mac Dude

I am running a Maple procedure in CLI Maple (mainly because it just provides colored random numbers for other work). When the procedure runs I am getting this kind of output scrolling by:

memory used=10732.9MB, alloc=344.0MB, time=895.85
memory used=10809.2MB, alloc=345.6MB, time=904.26
memory used=10885.5MB, alloc=347.3MB, time=912.67
memory used=10961.8MB, alloc=348.9MB, time=921.27
.
.
.

So I am wondering what "memory used" and "memory allocated" mean here. In "Activity Monitor" (this is Mac OS X) I see that the "memory allocated" values correspond rather closely to the "real memory" usage. No idea what the "memory used" column is. Note that this is a 32 bit process running on a PPS Mac, and it merrily "uses" unlimited amounts of memory that don't exist on the machine and that a 32 bit process should not be able to use (I think Mac OS X limits 32 bit processes to 4 GB). It is clearly not paging as the machine stays perfectly useable.

So, what am I to make of these numbers?

Mac Dude.

 

Statistics:-Histogram by default choses the vertical axis such that the area under the histogram is 1 (or something like that). In my work, I invariably need to add "frequencyscale=absolute" to get the scale I need. Is there any way to make this the default? Typing this every time gets so old... I have been looking to something analogous to plots:-setoptions but that doesn't seem to exist for Statistics.

M.D.

I have a Matrix of data points I am plotting using plots:-listdensityplot. That works fine.

However, the axes are labeled by row and column number of the Matrix (e.g. 1..20 or whatever). In reality, these are of course some parameters the range of which has been mapped onto the rows and columns of the Matrix.

How can I display the axes using the values of the original parameters? I know the transformation from Matrix row or column to the actual parameters (and in this case it is linear).

TIA,

Mac Dude

 

I have a Maple program that fits a nonlinear function with 9 parameters to a dataset that contains multiple records; each record gets fitted separately. The records are ordered by a certain experimental variable (an angle of a target). The initial parameters for each fit are the solutions of the previous fit; in this case I get relatively good initial estimates and not too much trouble fitting. I use Statistics:-NonLinearFit to do the actual fitting.

Since this is a bit time consuming and I need to do this a fair amount of times, I'd like to see if I can't speed his up by employing parallel programming.

One way to speed up a fit is to compute the sum of residuals in parallel; is there a way to do this in Maple?

Another way would be to run several fits at the same time. The problem I have with that in this case is that I use the results of the previous fit as starting values for the next fit. I might be able to increase the stride of this scheme; i.e. for 4 processes, use the result of fit 1 as starting point for fit 5; fit 2 for fit 6 etc. But before I embark on this non-trivial change; can Statistics:-NonLinearFit even be used in this way (i.e. is it thread safe)?? My fitting function is an actual function (as opposed to a procedure with local variables) so I don't think the function itself would cause trouble.

I could also contemplate the Grid package; except that I am concerned about the overhead moving the data over to each node (although it would all sit on one machine with 4 processors).

I realize that I may have to do some experimentation by myself, but if there is any experience out there I'd like to know about it...

Mac Dude

In order to make worksheets more interactive in a teaching environment I have begun playing around with the Tables the standard GUI provides. The idea is that in the left column is the script we are working through while in the right column is space a student can work with the equations and formulae from the left side to, e.g., plot, change parameters etc. without affecting the script too much.

To build the tables I copy-pasted code from a normal worksheet (in document mode) into the left column, creating rows of appropriate length to have a logically coherent section in one row. Usually one row is one Section (in the technical sense of Maple Sections). The student gets to play in the right column.

In principle this seems to work quite well in my preliminary testing. I did find out rather quickly that on the right side one needs to be in 1-d input mode with a prompt for anything to be calculated interactively. Ok, actually probably easier to do. The table is set to evaluate by row so the right-left correspondence is preserved.

A potential issue I am facing however is with equation numbering: I use equation numbers extensively to reference back to upstream results. In the Table, it appears that equation numbers are not unique; in each row of the Table, eq. numbers start as (1.1), (1.2) etc. I am able to reference back to results from a prior row, even though the same equation number will show up again later in the new row. But I am concerned that eventually this all ends up in a big mess and my references point to the wrong expression or equation. Non-unique line numbers seem like a Really Bad Idea, and I'd like to avoid that if possible.

Does anyone know how the lines numbers work for code in Tables and how I make sure they are unique? I suppose I could explicitly assign results I need in other rows to names, but that does not prevent a reference to an eq. number from pulling in the wrong one from a prior row (assuming for the moment that Maple will never look forward to resolve a reference).

Thanks,

Mac Dude

First 10 11 12 13 14 15 16 Last Page 12 of 24