Hello, and welcome to Patrick R. Gill's research web page.
Website updated Sept 13, 2012. Fixed incorrect link in Papers section.
I have updated my CV, publications list and contact information. Rambus Labs is in the process of establishing a promotional website; soon I expect to post about my research progress on that site.
Occasionally, the current implementation of the in-crowd algorithm generates a problem with an A matrix of such high mutual coherence that MATLAB's built-in quadratic programming solver no longer obeys the boundary conditions specified. In the current in-crowd algorithm code, this causes an error message to be generated, such as:
??? Error using ==> ICOpt>intOpt at 212
There was a problem with the interior optimizer
Error in ==> ICOpt at 129
X =
intOpt(double(Asmaller),Y,Lambda,xo,interiorSolveOption);
I have a new, experimental version of the core function ICOpt.m which detects violations of boundary conditions, and attempts two additional backup methods for enforcing boundary conditions that are progressively slower but safer. If the original method fails and these alternative methods are required, performance will suffer silently. However, sometimes the right answer is worth waiting for. Here is the newer function ICOpt.m, which yields the correct answer in test cases where the old one crashed. As of May 16, 2012, it has been lightly tested and appears to work properly, but there may be residual bugs or errors. Please contact me if you have problems that still cause the interior solver to violate its boundary conditions or if you notice unexpected behaviour from this new version.
I'm experimenting with colour profiles by using a palette inspired by my favorite tree: the arbutus. The background image of this site is an arbutus silhouette I took from the north end of Portland Island at sunset.