protected byte[] extractStructure(double[][] w) {
		byte[] structure = new byte[w.length];
		for (int i = 0; i < structure.length; i++) {
			double[] beta = w[i];
			boolean isLinear = beta.length == 1 || ArrayUtils.isConstant(beta, 1, beta.length, 0);
			if (isLinear) {
				if (beta[0] != 0) {
					structure[i] = ModelStructure.LINEAR;
				} else {
					structure[i] = ModelStructure.ELIMINATED;
				}
			} else {
				structure[i] = ModelStructure.NONLINEAR;
			}
		}
		return structure;
	}