Let us assume that the user has compiled the Matlab interface, set an agent name, started a Matlab session and is now ready to use NetSolve. In this section we describe those features of the interface that allow the user to obtain information about the currently available NetSolve system.
As stated briefly in the section called Problems that can be solved with NetSolve in Chapter 4, it is possible to obtain the list of solvable problems from Matlab, as well as from the homepage CGI scripts or the management tools. In the case of Matlab, this information is obtained by typing the following command
>> netsolve NetSolve - List of available problems - /BLAS-wrappers/Level3/dmatmul /BLAS-wrappers/Level3/zmatmul /BLAS/Level1/daxpy /BLAS/Level1/ddot /BLAS/Level1/zaxpy /BLAS/Level2/dgemv /BLAS/Level3/dgemm /BLAS/Level3/zgemm /LAPACK-wrapper/Simple/Eig_and_Singular/eig /LAPACK-wrapper/Simple/Linear_Equations/linsol /LAPACK/Simple/Linear_Equations/dgesv /LAPACK/Auxiliary/dlacpy /Mandelbrot/mandelbrot /QuickSort/DoublePrecision/dqsort /QuickSort/Integer/iqsort /SCALAPACK/LinearSystem/pdgesv /SCALAPACK/LinearSystem/pdposv /SCALAPACK/LinearSystem/plinsol /SuperLU-MA28/sparse_direct_solve ----------------------- [ output args ] = netsolve(problem name, input args) ----------------------- Information on a specific problem : netsolve(problem name) Information on the servers : netsolve('?') ----------------------- >>
>> netsolve('eig') -- eig -- Wrapper around the LAPACK routine DGEEV -- Simplified version of DGEEV. Computes the eigenvalues of a double precision real matrix A. Returns two double precision real vectors containing respectively the real parts and the imaginary parts of the eigenvalues. MATLAB Example : [r i ] = netsolve('eig',a) * 1 objects in INPUT - input 0: Matrix Double Precision Real. Matrix A * 2 objects in OUTPUT - output 0: Vector Double Precision Real. Real parts of the eigen values - output 1: Vector Double Precision Real. Imaginary parts of the eigen values -------------------------------------- Output Objects 0 and 1 can be merged. >>
Since Matlab provides a mechanism to manipulate complex objects, it is probable that the user would like to have eig return one single complex vector instead of two separate real vectors. Thus, in the Matlab interface it is possible to merge these two real output vectors into one complex vector. This point is further developed in the next section.
The Matlab interface has another feature that is concerned not with the actual problem solving but with providing information about the NetSolve configuration itself. We have just seen how to get information about the problems handled by the NetSolve servers; it is also possible to obtain the physical locations of these servers. Let us assume that our NETSOLVE_AGENT environment variable is set to netsolve.cs.utk.edu (see Chapter 14). The command
NetSolve - List of available agents - netsolve.cs.utk.edu(188.8.131.52) NetSolve - List of available servers - maruti.cs.berkeley.edu(184.108.40.206) cupid.cs.utk.edu(220.127.116.11) torc3.cs.utk.edu(18.104.22.168) (0 failures)
The same information can be obtained from the homepage CGI scripts or the management tools.