Sorry, empty labels are not allowed."; echo "

"; } else if (strstr($_POST['MyLabel'], ":") || strstr($_POST['MyLabel'], "@") || strstr($_POST['MyLabel'], ";") || strstr($_POST['MyLabel'], "!") || strstr($_POST['MyLabel'], "+") || strstr($_POST['MyLabel'], "_") || strstr($_POST['MyLabel'], ":=")) { echo "

Sorry, labels cannot contain : ; _ + @ :="; echo "

"; } else { $ProblemIDs .= ":" . $_POST['MyLabel'] . "@" . $_POST['type']; foreach (split(" ", $_POST['parameters']) as $value) { if ($value == "") continue; $ProblemIDs .= '_' . $value . '!' . $_POST[$value]; } } } else if ($_POST['state'] == "uploadData") { $error = 0; $errorText = ""; if ($_POST['accessCode'] !== $Password) { $errorText .= "Error: Wrong authorization code\n"; $error++; } if (!is_uploaded_file($_FILES['file']['tmp_name'])) { $errorText .= "Error: please supply a file.
\n"; $error++; } if (!$_POST['filename']) { $errorText .= "Error: please provide a filename.
\n"; $error++; } if ($error) { echo "
"; echo $errorText; echo "
"; } else { global $HBMatrixDirectory; global $XMLMatrixDirectory; if ($_POST['location'] == "HB") $filename = $HBMatrixDirectory . $_POST['filename']; else $filename = $XMLMatrixDirectory . $_POST['filename']; move_uploaded_file($_FILES['file']['tmp_name'], $filename); chmod($filename, 0664); } } ?>

You are at Step 1: Select Data, in

The first step of MatrixPortal is used to define the problems to be solved. Here you can either generate a problem, or upload your linear system if you are an authorized user.

Example: we want to verify numerically that multilevel preconditioners, applied to a model problem, yields optimal preconditioners. Stated otherwise, the condition number of the preconditioned problem does not depend on the mesh size.

We want to select three different mesh sizes for the 2D Laplacian problem.

  1. Select a 40 x 40 grid, then give the label Lapl 40 (or what you like), then click on "Add to Cart";
  2. Repeat the procedure for a 80 x 80 grid, and give the label Label 80, and click "Add to cart";
  3. Repeat the procedure for a 160 x 160 grid, and give the label Label 160, and click "Add to cart".
At this point, the box below should now contain these three labels in the "Problem IDs" column. If you make a mistake, you can delete the wrong labels.

When you done with this, go at the bottom of the page, and proceed to step 1C to check your data.

Note: there are many more choices for the problem generator in the intermediate and expert mode, not reported here for the sake of clarity.

In this step, you should specify at least one problem to be solved. Each problem is identified by a label or ProblemID you have to select. There are two ways to supply problems: by using the matrix generator, or by uploading a matrix or linear system, using the Harwell/Boeing or XML format, for authorized users only. The list of problems currently selected is reported in the Labels and Results section, in the column Problem IDs. When you start, the other column, Recorded Results, is empty; you first need to go through step 4 to populate this array. When results are present, they contain a label and a value, which is the evaluation parameter for the solver you specified on a given problem.

To continue, proceed to Step 1C (Check Data) using the button at the bottom of the page to check your data, or go directly to Step 2 to specify the parameters for the linear solvers.

Data from Generator:  ?

  1. 2D Laplace on a x grid.

    This creates a matrix corresponding to the stencil of a 2D Laplacian operator on a structured Cartesian grid. The matrix stencil is:

    Label this problem as  then 


  2. 3D Laplace on a x x grid.

    This creates a matrix corresponding to the stencil of a 3D Laplacian operator on a structured Cartesian grid.

    Label this problem as  then 


  3. 2D advection-diffusion with recirculating flow, on a x grid.
    conv =   epsilon =

    This creates a matrix corresponding to the finite-difference discretization of the problem

    on the unit square, with homogeneous Dirichlet boundary conditions. A standard 5-pt stencil is used to discretize the diffusive term, and a simple upwind stencil is used for the convective term. Here,

    The value of epsilon can be specified using diff, and that of V using conv.

    Label this problem as  then 


  4. Generic 9-pt stencil

    The 2D Cartesian grid has x nodes, and the following values are used:

    a =   b =   c =   d =   z1 =   z2 =   z3 =   z4 =  

    Label this problem as  then 

  5. Other problems available in intermediate and expert mode not shown now to avoid confusion.

Data from Collections: ?

  1. Linear problems from the locally hosted Harwell/Boeing collection:

    '; foreach ($files as $file) { echo ""; } echo ""; ?>

    Label this problem as  then 

  2. Linear problems from the locally hosted MatrixMarket collection:

    '; foreach ($files as $file) { echo ""; } echo ""; ?>

    Label this problem as  then 

  3. Linear problems in XML format (.m script to convert MATLAB data to XML):

    '; foreach ($files as $file) { echo ""; } echo ""; ?>

    Label this problem as  then 

Upload Data (requires access code): ?

Harwell/Boeing and XML Files:



Continue to:
You can also go directly to