use flag_algebra::*;
use flags::Graph;
use operator::Basis;
use sdp::Problem;
pub fn main() {
init_default_log();
let basis = Basis::new(3);
let triangle = flag(&Graph::new(3, &[(0, 1), (1, 2), (2, 0)]));
let edge = flag(&Graph::new(2, &[(0, 1)]));
let pb = Problem::<i64, _> {
ineqs: vec![
total_sum_is_one(basis),
flags_are_nonnegative(basis),
triangle.at_most(0).multiply_and_unlabel(basis),
],
cs: basis.all_cs(),
obj: -edge.expand(basis),
};
pb.write_sdpa("turan").unwrap();
}