This document provides an in-depth look at the process used in trying to solve real issues with the User Experience of a social bookmarking application. While it might be easy to simply take the first solution that works and assume that it’s the best solution, the first solution is very rarely the best solution. We found several solutions to several problems, and many of them worked and appeared to be decent solutions. It was only upon further investigation and doing more detailed research that we found hidden flaws in some solutions, issues with user satisfaction in other solutions, and even found some solutions that broke entirely under certain conditions.
This paper will describe the problems we faced in detail and then provide an explanation of the solutions evaluated for each problem, including the benefits and drawbacks of each solution. We will also identify the final solution chosen and why it was chosen.
PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface. What is AMG?¶ AMG is a multilevel technique for solving large-scale linear systems with optimal or near-optimal efficiency. Unlike geometric multigrid, AMG requires little or no geometric information about the underlying problem and develops a sequence of coarser grids directly from the input matrix. This feature is especially important for problems discretized on unstructured meshes and irregular grids.
A. Abraham, and V. Ramos. Proceedings of the 2003 Congress on Evolutionary
Computation CEC2003, page 1384--1391. Canberra, IEEE Press, (8-12 December 2003)
N. McPhee, and R. Poli. GECCO 2002: Proceedings of the Genetic and
Evolutionary Computation Conference, page 853--860. New York, Morgan Kaufmann Publishers, (9-13 July 2002)