001/*
002 * Copyright 2006 - 2013
003 *     Stefan Balev     <stefan.balev@graphstream-project.org>
004 *     Julien Baudry    <julien.baudry@graphstream-project.org>
005 *     Antoine Dutot    <antoine.dutot@graphstream-project.org>
006 *     Yoann Pigné      <yoann.pigne@graphstream-project.org>
007 *     Guilhelm Savin   <guilhelm.savin@graphstream-project.org>
008 * 
009 * This file is part of GraphStream <http://graphstream-project.org>.
010 * 
011 * GraphStream is a library whose purpose is to handle static or dynamic
012 * graph, create them from scratch, file or any source and display them.
013 * 
014 * This program is free software distributed under the terms of two licenses, the
015 * CeCILL-C license that fits European law, and the GNU Lesser General Public
016 * License. You can  use, modify and/ or redistribute the software under the terms
017 * of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
018 * URL <http://www.cecill.info> or under the terms of the GNU LGPL as published by
019 * the Free Software Foundation, either version 3 of the License, or (at your
020 * option) any later version.
021 * 
022 * This program is distributed in the hope that it will be useful, but WITHOUT ANY
023 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
024 * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
025 * 
026 * You should have received a copy of the GNU Lesser General Public License
027 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
028 * 
029 * The fact that you are presently reading this means that you have had
030 * knowledge of the CeCILL-C and LGPL licenses and that you accept their terms.
031 */
032package org.graphstream.algorithm.generator.lcf;
033
034import org.graphstream.algorithm.generator.LCFGenerator;
035
036/**
037 * Build a Balaban 11-cage graph.
038 * 
039 * <dl>
040 * <dt>Nodes</dt>
041 * <dd>112</dd>
042 * <dt>LCF</dt>
043 * <dd>[44, 26, -47, -15, 35, -39, 11, -27, 38, -37, 43, 14, 28, 51, -29, -16,
044 * 41, -11, -26, 15, 22, -51, -35, 36, 52, -14, -33, -26, -46, 52, 26, 16, 43,
045 * 33, -15, 17, -53, 23, -42, -35, -28, 30, -22, 45, -44, 16, -38, -16, 50, -55,
046 * 20, 28, -17, -43, 47, 34, -26, -41, 11, -36, -23, -16, 41, 17, -51, 26, -33,
047 * 47, 17, -11, -20, -30, 21, 29, 36, -43, -52, 10, 39, -28, -17, -52, 51, 26,
048 * 37, -17, 10, -10, -45, -34, 17, -26, 27, -21, 46, 53, -10, 29, -50, 35, 15,
049 * -47, -29, -41, 26, 33, 55, -17, 42, -26, -36, 16]</dd>
050 * </dl>
051 * 
052 * @reference A. T. Balaban, Trivalent Graphs of Girth Nine and Eleven and
053 *            Relationships Among the Cages, Rev. Roumaine Math., 18, 1033-1043,
054 *            1973
055 * 
056 */
057public class Balaban11CageGraphGenerator extends LCFGenerator {
058        /**
059         * LCF notation of a Balaban 11-cage graph.
060         */
061        public static final LCF BALABAN_11CAGE_GRAPH_LCF = new LCF(1, 44, 26, -47,
062                        -15, 35, -39, 11, -27, 38, -37, 43, 14, 28, 51, -29, -16, 41, -11,
063                        -26, 15, 22, -51, -35, 36, 52, -14, -33, -26, -46, 52, 26, 16, 43,
064                        33, -15, 17, -53, 23, -42, -35, -28, 30, -22, 45, -44, 16, -38,
065                        -16, 50, -55, 20, 28, -17, -43, 47, 34, -26, -41, 11, -36, -23,
066                        -16, 41, 17, -51, 26, -33, 47, 17, -11, -20, -30, 21, 29, 36, -43,
067                        -52, 10, 39, -28, -17, -52, 51, 26, 37, -17, 10, -10, -45, -34, 17,
068                        -26, 27, -21, 46, 53, -10, 29, -50, 35, 15, -47, -29, -41, 26, 33,
069                        55, -17, 42, -26, -36, 16);
070
071        public Balaban11CageGraphGenerator() {
072                super(BALABAN_11CAGE_GRAPH_LCF, 112, false);
073        }
074}