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('?') |

NetSolve - List of available agents - netsolve.cs.utk.edu(128.169.93.161) NetSolve - List of available servers - maruti.cs.berkeley.edu(128.32.36.83) cupid.cs.utk.edu(128.169.94.221) torc3.cs.utk.edu(128.169.93.74) (0 failures) |

The same information can be obtained from the homepage CGI scripts or the management tools.