public RotationMatrix(double[][] matrix)
			throws InvalidRotationMatrixException {

		String rational = HoneyBee.assertRationalRotationMatrix(matrix, 3);

		if (rational != null) {

			throw new InvalidRotationMatrixException(matrix, rational);

		}

		// create a copy of the specified matrix in order to ensure that this
		// rotation matrix is immutable
		this.matrix = HoneyBee.copyMatrix(matrix);

	}