matrix recovery