I have still been getting the error of insufficient memory, but this time the error emerges after GAUSS completes a number of iterations and I have checked the line of code which produces the error (its line 1019 of the maxlikmtutil.src file) which is actually trying to allocate some memory (hessian = arrayalloc(nobs|k|k,0);).
I was wondering how is it possible that it completes a number of iterations without any problem and then suddenly reports an error which is related to memory, isn't it allocating the same memory in each iteration and dumping it at the end of it? It feels like the memory requirement is ever increasing - which only justifies this error at the completion of a certain number of iterations.
I would appreciate a guidance about handling this error. The complete error log is given below:
C:\gauss11\src\maxlikmtutil.src(1019) : error G0030 : Insufficient memory
Currently active call: maxlikmtHess  C:\gauss11\src\maxlikmtutil.src
maxlikmtHess called from C:\gauss11\src\maxlikmt.src, line 815
maxlikmt called from C:\gauss11\Workingfiles\TestV1, line 1260
Thanks and Regards,
Try having your loglikelihood procedure return a scalar value, i.e., the sumc of the vector. This will change how the derivatives are calculating saving a lot of memory, though there'll be some loss of accuracy.
Depending upon the problem size these internal arrays can become quite large. If the problem size is large and your computer does not have much memory, try: 1) Make sure that you close other memory intensive applications. A few web browser tabs, for example, can take up several hundred megabytes. 2) Running your program in the terminal version of GAUSS (tgauss). The user interface generally does not use much extra memory, but in marginal cases it can be helpful.