public UnitVector(double[] vector) throws InvalidUnitVectorException {

		String rational = HoneyBee.assertRationalUnitVector(vector, 3);

		if (rational != null) {

			throw new InvalidUnitVectorException(vector, rational);

		}

		// create a copy of the specified unit vector in order to ensure that
		// this unit vector is immutable
		this.vector = HoneyBee.copyVector(vector);

	}