Computational Consulting (C²)

An Uppsala University-Stanford University collaboration

mic2.jpg stanf2.jpg

If your numbers don't add up, if you are caught in a loop, if you hope that the results you get are due to errors in the simulation... Perhaps we can help!

For whom?

C² is a free service offered to researchers at Uppsala University and SLU, and to local companies.
For the Stanford community, the corresponding service is found here.

By whom?

The consultants are teams of graduate students from

The student teams are also aided by faculty members at both places. C² is currently coordinated by

Graduate students can take C² as a course. For more information on this, see the course home page.

What can we do for you?

sound.jpgOur area of expertise is scientific computing. This involves e.g. numerical analysis, mathematical modeling, simulation, computer implementations, and parallel computing.

We can offer advice on which methods to use for

  • solving linear and non-linear systems of equations, optimization, solving ordinary and partial differential equations, approximation, interpolation, numerical integration and differentiation...

or which software libraries, languages, environments to use,

  • C++, Java, Fortran, MATLAB, FEMLAB, MPI, OpenMP...

We can help with formulating the mathematical problem, and work with trouble-shooting and analysis of proposed methods and models.

We do not offer complete solutions (unless the problems are very small). What we can do with larger problems is first of all to recommend an approach. We can also let you know if (parts of) the problem could be solved as a project in a course, or as an M.Sc. thesis project. Particularly challenging problems could also lead to new interdisciplinary research projects.saab_whole_050r.gif

If your problem is related to high performance computing (HPC) you should also look up the application experts at UPPMAX.

Contact us

Send an email to or with the following information:

  • The problem. What is it that you hope we can help you with?
  • Problem background (brief). For example, it helps to know what all variables in an equation mean and what their relative sizes are.
  • Contact person(s). Who should we contact if we need more information?
  • Posting? Let us know if we may use your problem in the sample problem section, and if such a posting should be anonymous or not. This does not at all influence our treatment of the problem.

If possible, please write in English so that our collegues at Stanford University can participate.

Sample problems

Pharmaceutical optimization

Background: The objective of proteochemometrics is to find a model for how the function of proteins depend on the chemical properties of their molecular building blocks. The problem of finding the model is highly under-determined. That is, the number of variables that can influence the protein function (e.g., the number of molecules of a certain type, their molecular weight, how they are connected) is much larger than the number of data sets that can be used for finding the best model fit.

Problem: In existing methods, part of the optimization process is automated, but some variables are manually adjusted. Our task was to suggest a method to automate the entire process. One difficulty that we had to consider was the combination of both discrete and continuous variables.

Solution: We suggested a slight modification of the objective function and an algorithm where the discrete and continuous variables are treated separately so that standard algorithms can be used for the continuous part. This method will now be implemented and tested by Martin Eklund at the Department of Pharmaceutical Biosciences, Uppsala University.

Help with using LAPACK eigenproblem solvers

Background:LAPACK is a widely used software library containing linear algebra subroutines.

Problem:A certain LAPACK routine was called for solving an eigenvalue problem. However when the solver tried to perform a Cholesky factorization, the computations broke down.

Solution:Cholesky factorization can only be used for positive definite matrices. This was not the case here, hence the breakdown. We suggested a reformulation of the problem as a standard eigenvalue problem and the appropriate LAPACK routines to use instead. This fixed the problem. We also helped with some further question about improving the accuracy of the computations.

History

This service is new here at Uppsala University, but has previously been offered at Stanford University, see http://icme.stanford.edu/consulting/csquared/.