A novel algorithm for performing configuration interaction (CI) calculations using non-orthogonal orbitals is introduced. In the new algorithm, the explicit calculation of the Hamiltonian matrix is replaced by the direct evaluation of the Hamiltonian matrix times a vector, which allows expressing the CI-vector in a bi-orthonormal basis, thereby drastically reducing the computational complexity. A new non-orthogonal orbital optimization method that employs exponential mappings is also described. To allow non-orthogonal transformations of the orbitals, the standard exponential mapping using anti-symmetric operators is supplemented with an exponential mapping based on a symmetric operator in the active orbital space. Expressions are obtained for the orbital gradient and Hessian, which involve the calculation of at most two-body density matrices, thereby avoiding the time-consuming calculation of the three- and four-body density matrices of the previous approaches. An approach that completely avoids the calculation of any four-body terms with limited degradation of convergence is also devised. The novel methods for non-orthogonal configuration interaction and orbital optimization are applied to the chromium dimer and trimer. For internuclear distances that are typical for chromium clusters, it is shown that a reference configuration consisting of optimized singly occupied active orbitals is sufficient to give a potential curve that is in qualitative agreement with complete active space self-consistent field (CASSCF) calculations containing more than 500 × 10(6) determinants. To obtain a potential curve that deviates from the CASSCF curve by less than 1 mHartree, it is sufficient to add single and double excitations out from the reference configuration.