|
General Answers
Q. Does a change in the date that Daylight Savings Time goes into effect matter to GAUSS functions? A. No. The GAUSS functions that returns date and time, date, hsec, time, and timeutc, return times as set by your operating system. If your operating system fails to properly adjust for Daylight Savings Time, then the GAUSS functions relying on the operating system will also fail to properly adjust. To make sure that the GAUSS functions return the proper times, you will need to make sure your operating system is properly adjusted. [Back] Q. I am getting a file not found error when I try running an example that comes with GAUSS. A. It is not possible for us to write the examples with hard-coded paths to the data files because we cannot predict what kind of directory system the user will have. Since the filenames don't have paths, it is necessary that your working directory be the same as the directory the data files are in. Therefore you must change your working directory to the example subdirectory before attempting to run them. When you first bring up GAUSS your working directory will be the main directory containing the GAUSS executable. To change the working directory to that of the examples, enter the following from the command line: >> chdir examples [Back]
Q. What are the minimum machine requirements for GAUSS?
A. A Pentium II computer or better
Operating system and memory (RAM):
In general, a slower machine with a large amount of RAM will out perform a faster
machine that relies on a swap file, so install as much RAM as you can.
Q. How do I use FORTRAN with the GAUSS Foreign Language Interface? A. dllcall expects the called function to use the C calling convention. Many Fortran compilers default to the stdcall convention, which will result in unpredictable behavior. Under Microsoft Fortran PowerStation and Compaq Visual Fortran, the use of the C calling convention in a function may be specified by including the "C" and "REFERENCE" properties in the function's ATTRIBUTES compiler directive. (The "REFERENCE" property is needed to override the implicit "VALUE" in the "C" property.) The Intel Fortran Compiler uses the C calling convention by default. [Back] Q. Changing the workspace size in my gauss.cfg file has no effect. Why? A. The workspace for GAUSS is managed by the operating system, and there is no need to increase workspace because you have access to all of the available workspace that the operating system is able to assign to GAUSS. If you receive an "insufficient workspace" error, it is generated by the operating system not GAUSS. The operating system is telling you that there is no more space available. This failure could be due to other programs on your computer taking up space (including the operating system itself -- Windows is a space hog). It could also be due to the fact that your GAUSS program is using a large amount of RAM. Remedies include freeing up RAM by closing other programs using up RAM, or re-designing your GAUSS program to use smaller arrays. It is important to realize that a large matrix can produce several copies of itself in statements. A complicated statement with many nested operations can generate five or six temporary copies of matrices. A 1000x1000 matrix requires 8 megabytes of memory to store in RAM. A complicated statement might require 40 megabytes of RAM to complete. The solution here is to break that statement into a series of statements. Another recommended method is to leave large amounts of data on the disk in GAUSS data sets rather than trying to bring it all into memory. Bring the data into memory in smaller pieces for calculations. [Back] Q. How can I initialize and store data into arrays? A. To initialize an array you have several options, arrayalloc, arrayinit, and areshape. Arrayalloc and arrayinit produce an array of the specified dimensions, and the latter initializes the elements to a specified value. The reason for the former is that it is faster because there is no initialization, so if you are doing it in a loop and are setting values yourself, then arrayalloc would be preferable. Areshape will turn a scalar or matrix into an array of given dimensions. Suppose you want 6 4x4 matrices, then areshape would get you that quickly: y = areshape(ones(4,4),6|4|4); There are special functions, putarray and setarray, for entering an array of data into an N-dimensional array, and you can also use indexing, e.g., A[2,.,.] = B. The difference is that the functions are much faster than indexing and so if it's in a loop the functions would be better. Here is a quick example: y = areshape(ones(4,4),2|4|4); print y; Plane[1,.,.] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 Plane[2,.,.] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 y[2,.,.] = 2*ones(4,4); print y; Plane[1,.,.] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 Plane[2,.,.] 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 2.000 Above is the intuitive, but slow way to initialize and store data. The following would be much faster: y = putarray(arrayinit(2|4|4,1),2,2*ones(4,4)); Now suppose you have NxK data matrices for L companies stored on L text files. companies = "company1"$| "company2"$| "company3"; N = 100; K = 10; z = arrayalloc(rows(companies),N,k,1); for i(1,rows(companies),1); textfileName = companies[i]; load y[N,K] = ^textfileName; z = putArray(z,i,y); endfor; [Back] Q. I get an error "0498 Environment variable referenced but not defined : 'read_config_file() in GAUSS_CreateWorkspace()'," what is wrong? A. On a Solaris, Linux, or similar UNIX system, there is an environment variable that is not defined. It is most likely the USER environment variable. If setting the USER environmental variable to the current user name does not fix the issue, please contact Aptech. [Back]
Q. What are the differences between GAUSS and Matlab*?
A. Matlab's Optimization Toolbox contains a variety of optimization
programs. GAUSS has several Application Modules as well as functions
in its Run-Time Library (i.e., functions that come with GAUSS without
extra cost) that cover the same territory.
In summary, most of the functionality contained in the Matlab
Optimization Toolbox comes free with GAUSS in its Run-Time Library. We
do have Application Modules as well that offer this functionality along
with advanced features.
For example, here are some functions free in GAUSS that are in the
Matlab Optimization Toolbox:
|
© Copyright 2004-2008. Aptech Systems, Inc. Black Diamond, WA. All Rights Reserved Worldwide. |