# SageMathCell online --> https://sagecell.sagemath.org/?q=qfskwa # Moore bound= 2563; # ''' Main properties of the graph rajiv1201 | Ord.: 1201 / Size: 8406 / Diam.: 3 / Avg.dist: 2.83273 / 14-reg.? False / Girth: 3 Degree histogram rajiv1201 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1199] Symmetry properties of the graph rajiv1201 | Aut.group.ord.: 1 / Cayley ? False --- vtx.trans. ? False -- edge.trans. ? False Automorphism group structure C_n is the cyclic group of order n; x means direct product; : means semidirect product.com1202 : 1 | center order: 1 rajiv1201 : 1 | center order: 1 rajiv1201 distance distrib from vtx. 0: [1, 14, 169, 1017] Number of k-cycles for k=3 up to 4 rajiv1201 600 | 2117 ''' import networkx as nx rajiv1201 = Graph(r":~?Qp_D??_a?]`[?o`_?I_Q`i@^`w@]a???_D_@_C_A_F_B_E@?_g_l_h_k_i@R_X?n_j@{_m_G_L_H?q_K_I_N_J_M@T___d_`?e_c_a_f_b_e_O_T_P@M_S_Q_V_R_U_w@t_|_x_{_y_~_z_}A]_W_\_X_[_Y_^_Z_]_o_t_p@g_s_q_v_r_u_?@?A?_E@EAF_F@FAD_@@@AA_D@DA@_B@BAE_A@AAC_C@CAB_o@n@oAw_u@uA~_v@u@vA|_p@pAy_t@tAx_r@rA}_q@qA{_s@sAz_w@wAg_}@}An_~@~Al_R?x@xAi_|@|Ah_z@zAm_y@yAk_{@{Aj_G@G@SAO_M@MAV_N@NAT_H?O@HAQ_L@LAP_J@JAU_I@IAS_K@KAR_g@gAG_m@mAN_n@nAL_h@hAIBC_l@lAH_j@jAMAU_i@iAK_k@kAJ_W@WAo_]@]Av_^@^At_X@XAq_\@\Ap_Z@ZAu_Y@YAs_[@[Ar_O@OA__U@UAf_V@VAd_P@PAa_T@TA`_F?R@RAe_Q@QAcBm_S@SAb__@_AW_e@eA^_f@fA\_W?`@`AY_d@dAXBT_b@bA]_a@aA[_c@cAZAi_?@?_F@F_D@D_A@A_@@@_E@E_C@C_B@B_w@w_~@~_|@|_y@y_x@x_}@}_{@{_z@z_g@g_n@n_l@l_i@i_h@h_m@m_k@k_j@j_O@O_V@VAb_T@T_Q?b@Q_P@P_U@UBo_S@S_R@R_G?g@G_N@N_L@L_I@I_H@H_M@M_K@K_J@JCQ_o@o_v@vAR_t@t_q@q_p@pAh_u@u_s@s_r@r__@L@__f@f_d@dAs_a@aBM_`@`_e@eAC_c@c_b@b_W@WBD_^@^@l_\@\_Y@Y_S?X@X_]@]_[@[_Z@Z`?A?C?`AACCB`CABCE`EAFCD`BAECF`@AACC`FADC@`DA@CA`OA_CW`QAcCZ`SAbC]`UAfC\`RAeC^`PAaC[`VAdCX`TA`CY`_AWCdCo`aA[Cr`cAZCu`I@eA^Ct`bA]BxCv``AYCs`fA\B\Cp`dAXCq`oAwCg`qA{Cj`sAzCm`uA~Cl`rA}Cn`pAyCk`vA|ChCv`tAxAzCi_u@WAoCw`YAsCz`[ArC}`]AvC|`Z@eAuC~_Y@XAqC{`^AtCxDM`\ApCy`G@HAOC_`IASCb`KARCe`MAVCd`JAUCf`HAQB@Cc`N@PATC``LAPCa`wAgCG`yAkCJ`{AjCM`}AnCLDN`zAmCN_V@xAiCK`~AlCH`|AhCI`gAGCO`iAKCR`kAJBgCU`mANATCT`jAMCV`h@rAICS`nALCP`lAHCQ_?A?B?_BAEBD_EAFB@_DA@BC_FADBABO_CABBF_@AABB_AACBE_W?{AoBg_ZAuBl_]AvBh_\ApBk_^AtBi_[ArBn_XAqBj_YAsBm_oAwBGCG_rA}BL_uA~BH_tAxBKCW_vA|BI_sAzBN_pAyBJ_qA{BM_gAGB__jAMBd_mANB`_lAHBc_nALBa_k@KAJBf_hAIAlBb_iAKBe_wAgBO_zAmBT_}AnBPCi_|AhBS_~AlBQ_{AjBV_xAiBR_r?yAkBU__AWBw_bA]B|_eA^Bx_dAXB{_fA\ByDn_cAZB~_`@UAYBz_aA[B}_GAOBWCI_JAUBFB\_MAVBX_LAPB[_NATBYC]_KARB^_HAQBZEc_IASB]_OA_Bo_RAeBtCH_UAfBKBp_TA`Bs_V?kAdBq_S@AAbBv_PAaBrDY_QAcAkBu`?C?D?E?`CCEDAED`BA@CFDCE@`FC@DEEC`B@ECDDBEA`ACBD@EF`DCACcDFEB`@CCDDEE`_BlCoDOEg`cCuDQEl`bCvDSEh`fCpDUEk`eCtDREi`aCrDPDhEn`dCqDVEj``CsDTEm`WCwD_EG`[AZC}DaEL`ZAJC~DcEH`^BwCxDeEK`]C|DbEI`YCzD`ENEt`\CyDfEJ`XASC{DdEM`wCGDCDoE_`{CMDqEd`zCNDsE``~CHDuEc`}CLDrEa`yCJDpEf`|CICmDvEb`\@xCKDtEe`oAqCgDWEO`E@sCmDYET`rCnD[EP`vChD]ES`uClDZEQ`W@qCjDXEV`tCiD^ER`pCkD\EUEq`OCWDGEw`SC]DIE|`RC^DKEx`VCXDBDME{_A@UC\DJEy`QCZDHE~`TCYDNEVEz`PC[DLEnE}`gCODwEWFb`kCUDyE\`jCVD{EX`nCPD}E[`mCTDzEY`iCRDxE^`a@lCQD~EZ`hB[CSD|E]`GC_DgEo`K@fCeDiEt`JCfDkEp`NC`DmEIEs`M@XCdDjEq`ICbDhEv`LCaDnEr`HCcDlEu_??@?A?B?C?D?E?F?L`?@@@A@B@C@D@E@FG?a?A@AAABACADAEAFC}G@b?B@BABBBCBDBEBF_KC?C@CACBCCCDCECFGAGBd?D@DADBDCDDDEDFG?GBcjE?E@EAEBECEDEEEFG@GCGDf?F@FAFBFCFDFEFFFqG?GAGB_??G?O?W?_?g?o?wEb`?@G@O@W@_@g@o@wGGa?AGAOAWA_AgAoAwGHb?BGBOBWB_BgBoBwFpc?CGCOCWC_CgCoCwGIGJd?DGDODWD_DgDoDwGGGJ_wE?EGEOEWE_EgEoEwGHGKGLf?FGFOFWF_FgFoFwGGGIGJ_??H?Q?Z?c?l?u?~`?@H@Q@Z@c@l@u@~GOa?AHAQAZAcAlAuA~GPb?BHBQBZBcBlBuB~c?CHCQCZCcClCuC~GQGRd?DHDQDZDcDlDuD~EvGOGR`}E?EHEQEZEcElEuE~GPGSGTf?FHFQFZFcFlFuF~GOGQGR_??I?S?]?b?h?v?|Eg`?@I@S@]@b@h@v@|GW`bA?AIASA]AbAhAvA|GXb?BIBSB]BbBhBvB|COGXc?CICSC]CbChCvC|GYGZd?DIDSD]DbDhDvD|GWGZe?EIESE]EbEhEvE|GXG[G\f?FIFSF]FbFhFvF|GWGYGZ_??J?U?\?f?k?p?y`?@J@U@\@f@k@p@yG_a?AJAUA\AfAkApAyCBG`b?BJBUB\BfBkBpBy`~C?CJCUC\CfCkCpCyGaGbd?DJDUD\DfDkDpDyG_Gbe?EJEUE\EfEkEpEyG`GcGdf?FJFUF\FfFkFpFyG_GaGb_??K?R?^?e?i?t?xAN`?@K@R@^@e@i@t@xGga?AKARA^AeAiAtAxGhb?BKBRB^BeBiBtBxc?CKCRC^CeCiCtCxGiGjd?DKDRD^DeDiDtDxGgGjdfE?EKERE^EeEiEtExGhGkGlf?FKFRF^FeFiFtFxGgGiGj_??L?P?[?a?n?r?}`?@L@P@[@a@n@r@}Goa?ALAPA[AaAnArA}Gpb?BLBPB[BaBnBrB}c?CLCPC[CaCnCrC}GqGrd?DLDPD[DaDnDrD}GoGrdqE?ELEPE[EaEnErE}GpGsGtf?FLFPF[FaFnFrF}GoGqGr_??M?V?X?d?j?q?{`?@M@V@X@d@j@q@{ETGwa?AMAVAXAdAjAqA{Gxb?BMBVBXBdBjBqB{c?CMCVCXCdCjCqC{GyGzd?DMDVDXDdDjDqD{GwGze?EMEVEXEdEjEqE{GxG{G|f?FMFVFXFdFjFqF{GwGyGz_??N?T?Y?`?m?s?zB_`?@N@T@Y@`@m@s@zDxH?a?ANATAYA`AmAsAzH@b?BNBTBYB`BmBsBzc?CNCTCYC`CmCsCzHAHBd?DNDTDYD`DmDsDzH?HBbhE?ENETEYE`EmEsEzFOH@HCHDbEF?FNFTFYF`FmFsFzH?HAHB_@@HAIBJCKDLEMFN_@@GAJBICLDKENFM_@@JAGBHCMDNEKFL_@@IAHBGCNDMELFKGS_@@LAMBNCGCTDHE?EIFJ_@@KANBMCHDGEJFI_@@N@dAKBLCIDJEGFH_@@MALBKCJDIEHFG_A@iAkBmC?C[CjDhEnFl_A@jAlBnCiDgEmFk_A@gAmBkChDjElFn_A@hAnBlCgDiEkFm_A@mAgBiCnDlEjFhF|_A@nAhBjCmDQDkEXEiFg_A@kAiB^BgClDnEhFj_A@lAjBhCkDmEgFi_B@rAuBtCvDsEpFq_B@qAvBsCuDtEoFr_B@pAsBvCeCtDuErFo_B@oAtBuCsDvEqFp_B@vAqBpCrDoEBEtFu_B@uArBoCqDpEsFvGo_B@tAoBrCpDqEvFs_B@sApBqCoDrEuFtGb_C@{AzB~C}DyE|Fx_C@|AyB}C~DZDzE{Fw_C@}AxB|C{D`DwE~Fz_C@~AwB{C|DxE}Fy_C@wA~BzB}CyD}ExF|_C@xA}ByCzD~EwF{_C@yA|BxCwD{EzF~_C@zA{BwCxD|EyF}GV_D@TAPBSCQDVERFU_D?M@SAOBTCRDUEQFV_D@VARA[BUCODTEPFS_D@UAQAmBVCPDSEOFTFZ_D@P@mATBOCDCUDREVFQ_D@OASBPCVDQEUFR_D@RAVAdBQCSDPETFOGe_D@QAUBRCTDOESFP_E@]A?A^BXC\DZEYF[_E@^A]BWC[DYEZF\_E@[A\AwA{BZC^DXEWF]_E@\A[BYC]DWEXF^GP_E@YAZB\CXD^E]FWGt_E?d@ZAYB[CWD]E^FX_E@WAXB^CZD\DuE[FY_E@XAWB]CYD[E\FZ_F@fAdBaC`DeEcFb_F@eAcBbC_DfEdFa_F@dAfB_CbDcEeF`G{_F@cAeB`CaDdEfF_Hs_F@bA`BeBkCdDaE_Ff_F@aA_BfCcDbE`Fe_F@`AbBcCfD_EaFdFw_F@Z@_AaBdCeD`EbFc_G@HAPBXC`DhEpFxGF_B?G@@AXBPChD`ExFpGoHH_G@XA@BHCpDxE`Fh_G@PAHB@CxDpEhF`HC_G@hApBxC@DHDLEPFX_G@`AxBpCHD@EXFPHPHn_G@xA`BhCPDXE@FH_G@pAOAhB`CXDPEHF@FSH`_H@GARBYCdDkEvF}I?_H@@AYBRCkDdE}FvHG_H@YA@BGCvD}EdFk_H@RAGB@ByC}DvEkFd_H@kAvB}C@DGERFY_H@d@|A}BvCGD@EYFRGdHS_H@}AdA~BkCRDYE@FG_H@vAkBABdCYDREGF@He_I@JATB^CaDgEuF{I?_I@@A^BTCgDaEAE{FuHJ_I@^A@BJCuD{EaFg_I@TAJB@C{DuEgFa_I@gAuB{C@DJE@ETF^_I@aA{BuCJD@E^FTHO_I@{AaBgCTD^E@FJ_I@uAgBaC^DTEJF@Hc_J@I@vAVB[B|CeDlEHEoFzIGIO_J@@A[BVClDeEzFoHI_J@[A@BICoDzEeFl_J@VAIB@CYCzDoElFe_J?y@lAoBzC@DIEEEVF[Gm_J@eAzBoCID@E[FVHT_J@zAeBlCVD[E@FI_J@oAlBeC[DVEIF@GmHb_K@LAQB]CfDjEsFwI?_K@@A]BQCjDfEwFsHL_K@]A@BLCsDwEfF?Fj_K@QALB@CwDsEjFfHe_K@jAsBwC@DLEQF]G__K@fA\AwBsCLClD@DXE]FQHR_K@wAfBjCQD]E@FL_K@sAjBfC]DQELF@H__L@KAOB\CbDmEqF~IGI__L@@A\BOCmDbE~FqGjHK_L@\A@BKCqD~EYEbFm_L@OAKB@C~DqEmF@Fb_L@mAqB~C@DKEOF\Hu_L@bA~BqCKD@E\FOHU_L@~AbBmCOD\E@FK_L@qAmBbC\DOEKF@Hf_M@NAUBWCcDiErF|IOI__M@@AWBUCiDcE|FrHN_M@WA@BNCrD|EcFi_M@UANB@C|DrEiFc_M@iArB|C@DNEUFW_M@cA|BrCND@EQEWFUHQ_M@|AcBiCUDWE@FN_C?M@rAiBcCWDUENF@Hd_N@MASBZC_DnEtFyIWIgIo_N@@AZBSCnD_EyFtHM_N@ZA@BMCtDyE_FnIf_N@SAMB@CyDtEnF__N@nAtByC@DMESFZ_N@_AyBtCMD@EZFSFsGVHV_N@yA_BnCSDZE@FM_N@tAnB_CZDSEMF@Ha_O@TAdBtC\DLE|FlGF_O@\AlB|CTDDDjEtFdHL_O@DAtBdCLDGD\ElF|HlIQ_O@LAfA|BlCDDTEdFtIj_O@tADBTC|DlE\FLIKI}_O?x@|ALB\CtDdETFDHT_O@dATBDClD|ELF\HlIF_O@lA\BLCdDtEDFT_P@SAfBuCXDGEzFiJ?_P@XAiBzCSDDEDEuFfHG_P@DAuBfCGDXEiFzHkIy_P@G@sAzBiCDDSEfFuIB_P@uADBSCzDiEXFGIc_P@y@zAGBXCuDbDfESFDHQ_P@fASAcApBDCiDzEGFX_P@iAXBGCfDuEDFS_Q@VA`BrC]DKEyFgJ?_Q@]AgByCVDDDKErF`HK_Q@DArB`CKD]EgFyG|HnIY_Q@KAyBgCDDVE`FrHFIb_Q@rADBVCyDgE]FKICIb_Q@yAKB]CrD`EVFDHO_Q@`AVBDCgDyEKF]_Q@gA]BKC`DrEDFV_R?m@UAbBoCYDHE{FnJGJO_R@YAnBXB{CUDDEoFbHH_R@DAoBbCHDYEnF{HmIq_R@HA{BnCDDUEbFoIJ_R@oADBUC{DnEYFHGWIeIk_R@{AHBYCbCoDbEUFDHV_R@bAUBDCnD{EHFY_R@nAYBHCbDoEDFU_S@PAeBqCZDNEhEwFkI_JG_S@ZADAkAoBwCPDDEqFeHN_S@DAqBeCNDZEkFwHhIA_S@NAwBkCDDPD[EeFqGRIz_S@qADBPCwDkEZFNI[_S@wANBZCqDeEPFDHS_S@eAPBDCkDwENFZG~_S@kAZBNCeDqEDFP_T@OAcBpC^DIE}FjGEIwJ?J__T@^AjB}CODDDEEpFcHI_T@DApBcCID^EjF}GIGeHgIi_T@IA}BjCDDOEcFpIR_T@pADBOC}DjE^FIIs_T@}AIB^CpDcEOFDF~HR_T@cAOBDCjD}EIF^_T?U@jA^BICcDpEDFOJQ_U@RAaBsCWDME~FhHDJWJ__U@WAhB~CRDDEsFaHM_U@DAsBaCMDWEhF~HLHjIIJn_G?U@MA~BhCDDREaFsIr_U@sADBRC~DhEWFMIS_U?Z@~AMBWCsDaERFDHIHP_U@aARBDCLChD~EMFW_U@hAWBMCaDsEDFRFaJK_V@QA_BvC[DJExFmJOJgJo_N?V@[AmBxCQDDEvF_HJ_V@DAvB_CJD[ElEmFxHiI\Ia_V@JAxBmCDDQE_FvIZJb_V@vADBQCxDmE[FJI{_V@xAJB[CvD_EQFDHU_V@_AQBDCmDxEJF[_V@mA[BJBvC_DvEDFQGk_W@]AuBmC}DeEMFU_W@UA}BeCuDmEEF]IxJp_W@MAeB}CmDuE]FEHmIq_W@EAmBuCeD}EUFMHu_W@}AUBMCNC]DEEmFuH}_W@uA]BECUDMEeErF}IlJ|_W@mAEB]CMDUD{E}FeGR_W@eAMBUCED]EuFmJn_X@^AsBlCyDbEGFP_X@PAyBbCsDiDlEEF^IHJH_X@GAbByClDsE^FEHhIA_X@EAlBsCbDyEPFGHv_X@x@yAPBGC^DEElFsHz_X@sA^BECPDGEbFyGTI\JD_X@lAEB^CGDPEyFb_X@bAGBPCED^EsFlJV_Y@[AqBgC|DfEHFRG@_Y@RA|BfCqDgEEF[I@JXJr_Y@HAfB|CgDqE[FEFNHjII_Y@EAgBqCfD|ERFHHs_Y@|ARBHC[DEEgFqH~_Y@qA[BECRDHEfF|ITJT_Y@gAEBNB[CHDRE|Ff_@?Y@fAHBRCED[EqFgJF_Z@\AoBjCxDaENFSJO_Z@SAxBaCoDjEEF\IpJ`_Z@NAaBqBxCjDoE\FEHkIy_Z@EAPAjBoCaDxESFNHt_Z@xASBNC\DEEjFoHy_Z@oA\BECSDNEaFxIdJl_Z@jAEB\CNDSExFaJh_Z@aANBSCED\EoFjIEJ~_[@YAtBhCwDcEJFVHUKGKOKW_[@VAwBcCtDhEEFYIPJx_[@JAcBwChDtEYFEHnIY_[@EAhBtCcDwEVFJHq_[@wAVBJCYDEEhFtH{_[@tAYBECVDJEcFwIDJt_[@hAEBYCJDIDVEwFc_[@cAJAXBVC@CEDYEtFhHOJf_\@ZAvBiC{D`ELFOI_K?KOKW_\@OA{B`CvDiEEFZI`J@Jz_\@L@pA`B{CiDvEZFEHgIi_\@EAiBvC`D{EOFLHr_\@{AOBLCZDEEiF[FvHx_\@vAZBECODLE`F{ItJL_\@iAEBZCLDOE{F`_\@`ALBOCEDZEvFiJ^_]@G@WApBnCzDdEKFQGDK?KGKW_]@QAzBdCpDnEEFWIhJPKJKe_]@KAdBzCnDpEWFEHfHiIaJD_]@E@cAnBpCdDzEQFKG^Ho_]@zAQBKCWDEEnFIFpH^H|_]@pAWBECQDKEdFzI|J\_]?`@nAEBWCKDQEzFd_]@D@dAKBQCEDWDpEpFnJNJX_^@XArBkC~D_EIFTIKK?KGKO_^@TA~B_CrDkEEFXIXJh_^@IA_B~CkDrEXFEGQHAHlIQ_^@EAkBrC_D~ETFIHpKt_^@~ATBICSCXDEEkFrHwKT_^@rAXBECTDIEME_F~ILJdKZ_^@kAEBXCIDTE~F__^@_AIBTCEDXErFkJvKL__@fA^B~CvDVEnFN__@nAVBvC~D^EfFFHN__@vANBnCfDFE~F^G~Hn__@~AFBfCnDNEvFVJjKJ__@FA~B^CVDvENFnH~JK__@NAvBVC^D~EFFfI|__?c@VAnBNCFDfE^F~IMJ}Km__@^AfBFCECNDnEVFvInK~_`@eA\B{CrDQENEhFGGBL?_`@hAQBrC{DTD\EeFFHG_`@rAGAWBcBhCeDFE{F\Hi_`@{AFBBBeChDGErFQJBKZ_`@FA{B\CQDrEGFhGDH}Jc_`@GArBQC\D{EFFeID_`@QAhBGCFDeE\F{HyIuJUK}_`@\AeB?BFCGDhEQFrGzIVKn_a@dAZBxCsDUEgFIGCJoK?_a@gAUBsCxDZEdFFG^HIIb_a@sAIBgCdDFExFZHmKT_a@xAFBdCgDIEsFUJbKj_a@FAxBZCUDsEIFgH|JC_a@I@kAsBUBpCZDxEFFdFyIT_a@UAAAgBICFDdEZFxIeJuKM_a@ZAdBFCIDgEUFsIFK^_b@cAXByCoDREmFLJGLO_b@mARBoCyDXEcFFHL_b@oALBmCcDFEyFXHjJa_b@yAFBcCmDLEoFRGKJJKz_b@FAyBXCRDoELFmGPH{Jk_b@LAoBRCXDyEFFcIl_b?t@RAmBLCFDcEXFyI]J]K]_b@XAcBFCLDmERFoI~KN_c@bA[BwCpDTEiFMFeIwK_LGLW_c@iATBpCwD[EbEzFFGOHM_c@pAMBiCbDFEwF[Hl_c@wAFBbCiDMEpFTJzKR_c@FAwB[CTDpEMFiHzJ[_c@MApBTC[DwEFFbIt_c@TAHAiBMCFCnDbE[FwIEJmKu_c@[AbBFCMDiETFpIfKf_d@aA]BzCtDOEkFHL?LOL__d@kAOBtCzD]EaFFHHI\_d@tAHBkCaDFDJEzF]Hg_d@zAFBaCkDHEtFOIyJRKB_\?d@FAzB]CODtEHFJFkHyJs_d@HAtBOC]DzEFFaIL_d@OAkBHCFDaE]FzI}JEKe_d@]AaBFCHDkEOFtI^Kv_e@`AWB}CqDSElFJI?LGLW_e@lASBqC}DWE`FFHJ_e@qAJBlC`DFE}FWHk_e@N@}AFB`ClDJEqFSJrKr_e@FA}BWCSDqEJFlHxJS_e@JAqBSCWD}EFF`GGI\_e@SAlBJCFD`EWF}ImJeKU_E?e@WA`BFCJDlESFqH~INKF_f@_AYB|CuDPEjFKJ?L?LOLo_f@jAPBuC|DYE_FFHK_f@uAKBjC_DFE|FYHhKl_f@|AFB_CjDKEuFPIQJZKbLB_f@FA|BYCPDuEKFjHwJ{_f@KAuBPCYD|EFF_Id_f@PAjBKCFD_EYF|IUJMKEL[_f@YA_BFCKDjEPEjFuIvKV_g@iAIBaCQDyEYFqIGKWLW_g@aAABiCYDqEQFyIXLP_g@yAYBqCADiEIFaIaKe_g@qAQByCIDaEAEUFiJZKbLs_g@IAiBACqDYEyFQH\ISK[_g@AAaBICyDQEqFYFgHQIfLd_g@YAyBQCaDIEiFAHYJeKU_g@QAqBYCiDAEaFIGbHaJVL^Ll_h@jAGB`BfCUD~E[FtL?_h@`AABjC[DtEUF~IHLH_h@~A[BtCADjEGF`IqLl_h@tAUB~CGD`EAFjJzKR_h?n@GAjBACtD[E~FUICKk_h@AA`BGBLBjC~DUESEtF[HRL|_h@[A~BUC`DGEjFAH\JEKe_h@UAtB[CjDAE`FGHfInJvLF_i@O@gAMBcCPDzE\FvG?ImM?MG_i@cAABgBrC\DvEPFzIxL`_i@zA\BvCADgEMFcIAKlMC_i@vAPBzCMDcEAFgJBKZ_i@MAgBACvD\EzFPIVIsKIKc_i@AAcBMCzDPEvF\HOLT_i@\AzBPCcC~DMEgFAH^J}Km_i@PAvB\CgDAEcFMGfHbJNLnLt_j@hAKBfCTD}EZFhFoKOM?MG_j@fAABhCZDoETF}HfIhLx_j@}AZBoCADhEKFfIQIa_j@oATB}CKDfEAFhJbKjLE_j@K@qAhBACoDZE}FTIcJVJxKS_j@AAfBKC}DTEoFZHPLL_^?j@ZA|A}BTCfDKEhFAHWJ]K]_j@TAoBZChDAEfFKHeJnLv_k@mAHBdCSDwE^FrGCM?_k@dAABmC^DrESFwI@IzLh_k@wA^BrCADmEHFdIy_k@rASBwCHDaDdEAFmJjKJ_k@HAmBACrD^EiEwFSHnIKKs_k@AAdBHCwDSErF^HUL\_k@^AwBSCdDHEmFAHZJUK}_k@SArB^CmDAEKEdFHH_JfKELf_l@nAJBeCOD|EXFsJgKgMG_l@eAABnCXDsEOF|HSIPLp_l@|AXBsCADnEJFeIi_l@sAOB|CJDeEAFnHYJJJWKz_l@JAnBACsDXE|FOI[KC_l@AAeBJC^C|DOEsFXHVLD_l@XAxA|BOCeDJDsEnFAH[JuKM_l@OAsBXCnDAEeFJGYHdJFL~_m@kALBbCVDxEWFuMOM_Mg_m@bAABkCWDuEVFxH]I`JhLX_m@xAWBuCADkELFbIY_m@uAVBxCLDbEAFkJrKKKr_m@LAkBACuDWExFVIkKKK]_m@AAbBLCxDVEuFWHSLl_m@WAxBVCbDLEkFAH]JMKE_m@VAuBWCkDADFEbFLH`J~LVMM_n@lANB_CRD{EJE]FpLUMWM_Mg_n@_AABaBlC]DpERF{IpKXL@_n@{A]BpCADlENFFF_IIIi_n@pARB{CNCRD_EAFlJRJdKB_n@NAlBACpD]E{FRI{K{_n@AA_BNC{DREpF]HTLt_n?}@]A{BRC_DNElFAHXJ@JmKu_T?n@RApB]ClDAE_FNHcJ^LN_o@rAzBJCjDZERFbJjLW_o@zArBBCbDREZFjJxLp_o@bAjBZCzDJEBFrJqLYMy_o@jAbA}BRCpCrDBEJFzHrIzLFMZ_o@Q@RAZBjCJDzErFBHzJ[Ms_o@ZARBbCBDrEzFJK\KmL|_o@BAJBzCZDjEbFRHZIuK}MY_o@JABAuBrCRDbEjFZI^Kv_p@qAxBGCnD]ETFcFlKOL?_p@xAqBBCcD@DTE]FnJHLHLM_p@cAnB]CCCxDGEBFqJALaMY_p@nAcBTCqDBEGFxHuIbMz_p@TA]BnCGDxEqFBH{JkMS_p@]ATBcCBDqExFGKtLD_p@BAGBxC]DnEcFTHYImKU_J?p@GABBqCTDcEnF]IFK^_q@pA~BLCgDYESFeGENG_q@F@~ApBBCeDSEYFgJ@LX_q@eAgBYC~DLEBFpJFJILPLqMa_q@gAeBSCpDBELF~HqIJMB_f?q@SAYBgCLD~EpFBGIHGH}JcMk_q@YASBeCBDpE~FLKTLT_q@BALB~CYCyDgEeFSHXIEJKKu_q@LABBpCSDeEgFYG|InJwK~_r@oA|BMCkD^EQF`G@JWN?_r@|AoBBC`DQE^FkJpL`_r@`AkB^C|DMEBFoIsJyLIMA_r@kA`BQCoDBEMF|HvIRLKMb_r@QA^BkCMD|EoFBHxJSMK_r@^AQB`CBDoE|FMGcK|Ll_r@BAMB|C^DkE`FQF\HWHoI]K]_r@MABBoCQD`EkF^IvKVMs_s@vAwBKClDXEUFaI?KGMoNONW_s@wAvBBCaDUEXFlJAJPKSLx_s@aAlBXCwDKEBFvJYLQMI_s@lAaBUCvDBEKFwHpIBMj_s@UAXBlCKDwEvFBGuHyJsMC_s@XAUBaCBDvEwFKH{KLLpLt_s@BAKBwCXD\DlEaFUH^IMKm_s@KABBvCUDaElFXIfKf_t@uAyBNChD[EOFdKANONW_t@yAuBBCdDOE[FhJ`JkL@_t@dAhB[CyDNEBFuHPJiLiL{Mi_t@hAdBOCACuDBENFyHsHxIZMJ_t@OA[BhCNDyEuFBGvH|JCKwMc_t@[AOBdCBDuEyFNKVKdLLMK_t@BANByC[DhEdFOH]IUIpKE_t@NABBuCODdEhF[G`HtI~KN_u@tA{BICmDWEPFfMEN?NGNg_u@{AtBBCfDPEWFDFmJhLP_u@fAeAmBWCPC{DIEBFtJaLyMQ_u@mAfBPCtDBEIF{HoIrMrNK_u@PAWBmCID{EtFBH~JKM[_u@W@YAPBfCBDtE{FIFiKDL\_u@BAIB{CWDmEfFPH\I}Ke_u@IABBtCPDfEmFWGyIVKnMR_v@sA}BHBPCiD\EVF_IgK?N?NGN__v@}AsBBC_DVE\FiJXLhM__v@_AiB\C}DHEBFsJQK^LAMq_v@iA_BVCsDBD}EHF}HtIjI}MR_v@VA\BiCHD}EsFBGNHwHxJ{M{_v@\AVB_CBDsE}FHKlLd_v@BAHB}C\DiE_FVH[IeKMLZ_v@HABBsCVD_EiF\INKFKU_w@{AkBSCKDsEcF[_w@sAcB[CCD{EkFSGpKpMXN`_w@kA{BCC[DcEsFKKNKYLhLqMa_w@cAsBKCSDkE{FBFCHsIZJ\LCLb_w@[AKBsCkDSECF{H|IsKcL[_w?|@SACB{CcD[EKFsH]JdMtN\_w@KA[BcC{DCESFkFrH[IeJuKP_w@CASBkCsDKE[FcHcIKJ^Nv_x@|AmBJBVCGDpEaFZMo_x@pAaBZCCD|EmFVKHMHNH_x@mA|BCCZDaEpFGJkKaLAMqOF_x@aApBGCVDmEWE|FCGuHrIzLR_x@ZAGBpCmDVECF|ISK[L[Lk_x@VACB|CaDZEGFpJaJ|MdNt_i?v?x@GAZBaC|DCEVFmHXIEJm_x@CAVBmCpDGEZFaHdIUJFN^_y@}AgBQCNDtEbFXIwNWOG_y@tAbBXCCD}EgFQKXMxNh_y@gA}BCCXDbEtFNKqLIMANENZ_y@bAtBNCQDgE}FCHpIBLZNC_y@XANBtCgDQECF}G\HPIkKKLcNQ_y?z@QACB}CbDXENFtJTL{MTNT_y@NAXA^BbC}DCEQFgH\I}JE_y@CAQBgCtDNELEXFbHeJnN~_z@~AiBPCJDoEdF]IGNOO?_z@oAdB]CCD~EiFPJeK`MhN@_z@iA~BCC]DdEoFJJOKILyMQ_z@dAoBJCPDiE~FCHuIbLj_z@]AJBoCiDPECF~IKKsLS_z@PACB~CdDAD]EJFoHvJLMDN|_z@JA]BSBdC~DCEPE_FiHWI]J]_z@CAPBiCoDJE]FdHfIYJvNV_{@wAnBRCIDuE`F\J_L?O?OO_{@uA`B\CCDwEnFRGlHuKxM@Np_{@nAwBCC\C`D`EuFIHXKQLYMy_{@`AuBICRDnEwFCHtIjLJNs__?{@\AIBuCnDRECFwGrICKkLs_{@RACBwC`D\EIFuJ\MlNL_{@IA\B`CwDCERFnH]IUJMJl_{@CARBnCuDIEZE\F`H_JfL]Nf_|@xAlBOCMDrEfFYG@KgLoOGOW_H?|@rAfBYCCDxElFOK@KnMPNX_|@lAxBCCYDHDfErFMKiLiMXMi_|@fArBMCODlExFCHqIJLz_|@YAMBrClDOECFxIcKSLBLC_|@OACBxCVCfCsDYEMFrJDM|Nd_|@MAYBfCxDCEFEOFUFlHZIuJU_|@CAOBlCrDMEYFfGxH`J~NN_}@y@zAjBTCHDvEeFWJ?O?OOOg_}@vAeBWCCDyEjFTHMKPM`Nx_}@jAyBCCWDeEvFHKyLaMY_}@eAvBHCTDjEyFCHoIrLr_}@WAHBvCjDTECFyI[KCLKNa_}@TACByCeDWEHFvJlMLND_}@HAWBeCyDCETFjH^HkIMJFJ}_}@CATBjCvDHEWFeHaJVKJKhNn_~@zAhBUCFCLDqE_F^KWOGOWO__~@qA_B^CCDzEhFUKhMpNP_~@hAzBCC^D_EqFLKAKNLQMIMt_~@_AqBLCUDhEzFCHvIRLB_~@^ALBqChDUECFzI{K{L{_~@UACBzC_D^ELFqI~JtM\Nl_~@LA^B_CzDCEUFYFhHYHcImJe_~@CAUBhCqDLE^F_HbJNLzMBNFNmgeHXKSK|MIMhM}ObOvg?IoJwKGLgMWMqNOO_O{gwHYIYJpKnL|McNMORhEHbICIQMdMmNRNhhBHNICI^JuKMKbL\LaP?gQH{I@I\InMAMZNmNxP?ghH}IIIRJLJ~MXO@OUaIGHHwIiIrJTJfOHO]h@HbJZJ`KDKMNIN[gYHPJIJ}KVKxNCNJg[HIJFJ[KYKdNJNXNeg}ImI{J^K@L|MjNyO[hAHNIBLnLsNINtOEOjPBgcHaJdJmLCLQMRMhPAgUHHH]JDJXJyLRL}MNMSPKh?IJIlJNJuKbLUMxN[OLOqgRHrIsKqK~M`M|OCOePDPGgOIzJkKPLILpMuNdO^PHg\HzJIJRLLL~M@MUPCPIgoGvHyI`IuKFKtLbLjLyPBPLg^HdIDKBKxMaMsOuO|PQgKHoIHITJ|M]M{NHNfNigsHZINIZJ@JaOKOdPNPRgSHTHpIUIaKcKjLFLhL}PPgGIHJTK]LfMiNrO{_l@VArB]CgDDDoE`FKI~PFhBHlJZJ|KXKkNFN}PBPJPKgtHVI|KIK}MCMJOVOxPKPUavGzHRJ^JpLSLZMEMqdvGyHnK\KzMEM~O[OhP@PIgaHSJYJmKNK`NaNsNzPYgHHgI]IfMHM{NTNrOqPBgLH_LHLrNTN]OiO{PFP]g{HMIKJCJ^K\KaLANMNbORPQg}HRIVIxJCJJMPOIO}PAPSP\gnHjJPJcKlLVLmMDMbPEPXhCHNJNJSKDKyNRN}PIPLp@PMPNP`h?IpJ|KMLnMYNROcPAPDPEPWg`H~IjIqJVJdOMOXPTPdgZHIIkIvKBKmLLLjLqPHPOPYPdg_IEJBKALCMFN@ODP?PTPXP]gkHvIhItJjJqMMMkNANNPdgdHaLJLpNUN\OkOyP]PfggIMIRJcKpLYMMN|OnPgPjg[HdJtJ}LcLqM@MzP@PKPLPbgMHwJHJ]KiKrNTNfPPPVPWPcgbHJIcI~KZKuLQLlPFP]PfgXIXJIKBLcM\NeONPSgBI_JwK_LwMoNoO?PJPhPkPo_s?~EdGUHwIqJjKdLXL~MVNMO?P^gpHsJUJsKhLDLXMQM^M`PUPYgIHWJfJrLHLiMTM{POPWPjgSHiLRLtNKNxO^OePWgtHeJUJ\JsJzKFNENPNqPSPdhAH[JNJZL@LaMKMdPegWIMJRKYL\LcMnN^NpO|PHPJPMPsglH`LBLxNuN|OaOsPCPEPbPcPigrHZIAI`MJM^NLNcgzH|L`LuNbNyOFOtPAP\PoghHQLYLmNNN`OPOsOzPPPsPugJGqHhIXKRKtM^MeN@NaOKOxPWPigBIGJoK?LgMGNgOoPtPvgiH`IRIhKCKQLdLmNhPEPng]HdIkIyMPMUM\NJNpPTP_gHHWIOITI{KHKiLfLrPRPZP{gNHgJHJ{L]LfMTMrP?PIP_PdP{ggIIJPK^LdMkNuO\OzPOP^PagJH_ITI]JiJ{MfOHOLOrPjPmPoghGjHvJBJEJcLdLxMvMyPCPz`@@JA`AtBHBVDPDwF}GXLqMeNlOZgDIOJGKwLgM_NoOOOWOXP^PcPohFH[HqL\LsNFOPOqPGPVPiPlP}gwIxJlKULNMqNbO[PBPNPVPhgjG}HRHpH|JeJpKaKzNDNvPZP_PvgvHZLDLkNjN~OYOxPjP}QBQDbiGTGVHHIUIzK`MAM|NKNVPdPygpHLKFKXK[MJMeOYOdP^PxQ?gkHQIII}KCKJLVLxOjPHPyP}g]H^KKKdLEM@MaONOZPDPHPZPpQMgqHeIZI`KIK[LDLLLMPGPMPoP~gAIOJOKGLwMwN?OGPBPJPdP}gOG_InJMKcLRM|NYOpPWP[QL_p@CCKGnHrISJmKHLAMdN^OwPIQJg|HpIVIYK@K\LSLuNDPQPTPkPvQLg`HXILIPIcKAK`LJL^PcPuPzgyHcIBIxJQKsLuL|NXNkPDPFP[PdhCHDHUHxIQIeKbKkL@LnPGPPPbPdbUCzH@H}IDJUKnLaLoNYOHObPyQPdWG[HzKmKxM\MnOAOZPUPXPtgsHhLbMlNANPNcOVOmPEPJPmgsHVIAIXIuJ}KRK[L@LXLvQJgfHtJVJYKSKuN@NLN\PGPaQTQXQYcMGiHKLKLVNAN|OUOzP[Q?QHQK_P@oABBQC|DkE^FMGxN[OkgLHgIHI{JYJ]JfOTOrPSP`PvP~QHd?GiGwImJJKaLSM~NXOtPrPtQ@QZcuGfHmJKJxL^LeMRMtP?PFPfQGQZ_[@hAEBYBeCJDVEPEwFcG~QYQ\caGnHDHGHVIgJ{K@L^MaNLNuOJ_jA_FHG{IoIpIqIrIsItIuIvKjQbfXGaGlHQH\KQMbMkO@OnPAPdPtQa_h@jAGB`BnBsCUD~E[EeFtG]IgQPgLHGI]IrMTMiNfN{PLPrQFQMhBHbHlIeIlJAJSOPOjPePvPzQ?Q]grHLINISKRK}LyMlPQP[PnQQQ]gKH_JTJ]LiL{MHMrPCPyQ@QOQXQfgdHJIEIjIlMIMtNnNsPLP\PsPyP~gQHiIPKLKjMNMuOCOpP_PkPyQBQ]gMGNHWKTK{MHMiNZOfOrPHPUPfQTgAIoJGKoLGMgNgO?O`OtPGPnQAQhgPHHJvKcK~MZMuOQOlP[PlPtQCQDgqIAIJI^JsK}LbMpN~OdP@PpQQQf") graphs = [('rajiv1201 ', rajiv1201)] rajiv1201nx =rajiv1201.networkx_graph() def count_k_cycles(G, k): count = 0 visited = set() def dfs(path, start, depth): nonlocal count current = path[-1] # Early exit if we?re going too deep if depth == k: if start in G.neighbors(current): # Normalize to avoid duplicates cycle = tuple(sorted(path)) if cycle not in visited: visited.add(cycle) count += 1 return for neighbor in G.neighbors(current): if neighbor not in path and neighbor >= start: dfs(path + [neighbor], start, depth + 1) for v in G.vertices(): dfs([v], v, 1) return count # each cycle counted twice (once forward, once reverse) def algebraic_connectivity(G): """ Compute the algebraic connectivity (Fiedler value) of a graph G. INPUT: - G: a SageMath Graph OUTPUT: - The second-smallest eigenvalue of the Laplacian matrix of G """ L = G.laplacian_matrix() eigenvalues = L.eigenvalues() eigenvalues.sort() if len(eigenvalues) < 2: return 0 # Trivial case: empty or isolated vertex graph return eigenvalues[1] def check_all_isomorphisms(graph_list): n = len(graph_list) print("\n Isomorphism check of all pairs (a dot means the pair ARE isomorphic):") for i in range(n): label_i, G_i = graph_list[i] for j in range(i + 1, n): label_j, G_j = graph_list[j] if G_i.is_isomorphic(G_j): # print(".", end="") print(f"{label_i} IS isomorphic to {label_j}") else: print(f"{label_i} NOT isomorphic to {label_j}") def non_isomorphic(graph_list): reps = [] labels = [] for label, G in graph_list: if not any(G.is_isomorphic(H) for _, H in reps): reps.append((label, G)) labels.append(label.strip()) # remove extra spaces if you want return labels def isomorphic(graph_list): labels = [] for i, (label, G) in enumerate(graph_list): if any(i != j and G.is_isomorphic(H) for j, (_, H) in enumerate(graph_list)): labels.append(label.strip()) return labels def compare_graphs_list(graphs): canon = {} count =1 for label, G in graphs: s6 = G.canonical_label().sparse6_string() # print(f"{label.strip():15} : {s6[:40]}...") canon.setdefault(s6, []).append(label.strip()) print("\n noniso ->",len(canon)) print("\nGroups:") for group in canon.values(): if len(group) > 1: print(count,"Isomorphic :", ", ".join(group)) count=count+1 else: print(count,"Unique :", group[0]) count=count+1 print("\n START \n") #noniso = non_isomorphic(graphs) #print(len(noniso), " non-isomorphic -> ",noniso) #iso=isomorphic(graphs) #print(len(iso), " isomorphic -> ",iso,"\n") #compare_graphs_list(graphs) nonisographs = graphs # Print properties for each graph in the list print("\n Main properties of the graph") for label, graph in nonisographs: print(f"{label} | Ord.: {graph.order()} / Size: {graph.size()} / Diam.: {graph.diameter()} / Avg.dist: {graph.average_distance().n(digits=6)} / 14-reg.? {graph.is_regular(k=14)} / Girth: {graph.girth()} ")#/ Alg.conn. {algebraic_connectivity(graph).n(digits=6)} ")# / Domin. number: {graph.dominating_set(value_only=True)} ") print("Degree histogram rajiv1201 :", nx.degree_histogram(rajiv1201nx) ) print("\n Symmetry properties of the graph") for label, graph in nonisographs: print(f"{label} | Aut.group.ord.: {graph.automorphism_group().order()} / Cayley ? {graph.is_cayley()} --- vtx.trans. ? {graph.is_vertex_transitive()} -- edge.trans. ? {graph.is_edge_transitive()}" ) ''' print("\n Properties of the graphs as at arXiv\n") for label, graph in nonisographs: print(f"{label} & {graph.average_distance().n(digits=6)} & {graph.girth()} & {algebraic_connectivity(graph).n(digits=6)} & {graph.automorphism_group().order()} \\\\ ") ''' # Check isomorphisms # print(f"Are isomorphic G5 and G6? {G5.is_isomorphic(G6)}") #check_all_isomorphisms(nonisographs) print("\n") # automorphism group structure print(" Automorphism group structure") print(' C_n is the cyclic group of order n; x means direct product; : means semidirect product.') Arajiv1201 = rajiv1201.automorphism_group() print('rajiv1201 :', Arajiv1201.structure_description(), ' | center order:',Arajiv1201.center().order()) # Compute the distance distribution from a given vertex v in graph G # Returns a list where the i-th element is the number of vertices at distance i from v def distance_distribution(G, v): from collections import Counter distances = G.shortest_path_lengths(v) distribution = Counter(distances.values()) result = [distribution[d] for d in sorted(distribution)] return result print("\n") for label, graph in nonisographs: print(f"{label} distance distrib from vtx. 0: {distance_distribution(graph, 0)}") # Counting k-cycles for each graph print("\nNumber of k-cycles for k=3 up to 4") for label, graph in nonisographs: print(f"{label} "," | ".join(str(count_k_cycles(graph, k)) for k in range(3, 5))) ''' # from 0 versio Molodtsov? for name, G in nonisographs: fname = name.strip() + "_adjlst.txt" s = "; ".join( "{}-{}".format(v, ",".join(map(str, G.neighbors(v)))) if G.neighbors(v) else str(v) for v in G.vertices(sort=True) ) with open(fname, "w") as f: f.write(s) ''' # from 0 for label, _ in nonisographs: base = label.strip() G = globals()[base + "nx"] with open(f"{base}_edges.txt", "w") as f: f.write(",".join( f"{{{u},{v}}}" for u, v in sorted((min(u, v), max(u, v)) for u, v in G.edges()) )) ''' # from 1 for label, _ in nonisographs: base = label.strip() G = globals()[base + "nx"] with open(f"{base}_Zedges.txt", "w") as f: f.write(",".join( f"{{{u+1},{v+1}}}" for u, v in sorted((min(u, v), max(u, v)) for u, v in G.edges()) )) ''' print("\n DONE \n") ## ##