I am not able to specify a matrix of size>1000 to run a Gibbs algorithm.

Any matrix of size greater than 1000 results in a G0291 error. I need to run the Gibbs procedure for a much larger sample size.

1 Answer



0



The error G0291 : Compiler pass out of memory usually occurs when you declare variables inside the source code that are too large. When GAUSS compiles the source code (turns it from text on the page to something the machine can run), any variables that are declared in the program become part of the compiled file that is executed. It is not a good practice to add very large variables into the compiled code.

So instead of declaring your data inside of your code like this:


//declare variable
x = { 1,
      2,
      3,
      4,
      5 };

You should instead, place the data into a separate text file and read it in with something like csvReadM, or load. For example, if we made a file named mydata.txt that looks like this:

1
2
3
4
5

and placed it in our GAUSS current working directory, then we could change our code to this if we have GAUSS 16 or later:


//Load data
x = csvReadM("mydata.txt);

or this if we do not yet have GAUSS 16:


load x[] = mydata.txt;

aptech

1,773

Your Answer

1 Answer

0

The error G0291 : Compiler pass out of memory usually occurs when you declare variables inside the source code that are too large. When GAUSS compiles the source code (turns it from text on the page to something the machine can run), any variables that are declared in the program become part of the compiled file that is executed. It is not a good practice to add very large variables into the compiled code.

So instead of declaring your data inside of your code like this:


//declare variable
x = { 1,
      2,
      3,
      4,
      5 };

You should instead, place the data into a separate text file and read it in with something like csvReadM, or load. For example, if we made a file named mydata.txt that looks like this:

1
2
3
4
5

and placed it in our GAUSS current working directory, then we could change our code to this if we have GAUSS 16 or later:


//Load data
x = csvReadM("mydata.txt);

or this if we do not yet have GAUSS 16:


load x[] = mydata.txt;


You must login to post answers.

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.

Try GAUSS for 14 days for FREE

See what GAUSS can do for your data

© Aptech Systems, Inc. All rights reserved.

Privacy Policy