What are the flaws in this encryption algorithm? Let $A$ be a randomly generated matrix. Let $I$ be the identity matrix. $\times$ is the matrix multiplication operation, $/$ is matrix division (multiplying the first matrix by the inverse of the second).
$$
I \times A \times A = B
$$

Provide $B$ and $I$ to the recipient. To create encrypted message $E$ from unencrypted message $M$:
$$
E = M \times A \times A
$$

Send $E$ to the recipient. The recipient will solve for $M$ using:
$$
M = E / ( B / I)
$$
My question is: 


Will the recipient be able to decode the message?
If an attacker knows $E$ and $I$, can they efficiently solve for $M$?
Is there a simple way to make it nonlinear?


I accepted an answer but am still waiting for #3.
This is not a secure encryption scheme.  It is similar to a Hill cipher, and vulnerable to similar attacks.  For instance, it is vulnerable to known-plaintext attacks: an attacker who observes a ciphertext E and knows the corresponding message M can recover the secret key and thus decrypt all other messages that were encrypted with the same key.

The recipient will be able to decrypt if A is invertible.  If A is not invertible, then the recipient won't be able to decrypt.

See also the questions about the Hill cipher on Crypto.SE.