Function Repository Resource:

SchultzMTI

Source Notebook

Compute the Schultz molecular topological index of an undirected graph or a molecule

Contributed by: Jan Mangaldan

ResourceFunction["SchultzMTI"][g]

computes the Schultz index of the graph g.

ResourceFunction["SchultzMTI"][mol]

computes the Schultz index of the molecule mol.

Details

The Schultz index is also known as the molecular topological index (MTI).
For an undirected connected graph, the Schultz index is defined as , where ai,j is an element of the adjacency matrix, di,j is an element of the graph distance matrix, and vi is the degree of the ith vertex.
ResourceFunction["SchultzMTI"][mol] computes the Schultz index of a molecule mol, where the hydrogens are ignored by default. Use the option setting IncludeHydrogensAll to account for hydrogens.
ResourceFunction["SchultzMTI"][entity] computes the Schultz index of an entity of type "Chemical" or "Graph".

Examples

Basic Examples (2) 

The Schultz index of a Petersen graph:

In[1]:=
ResourceFunction["SchultzMTI"][PetersenGraph[]]
Out[1]=

Get the same result from GraphData:

In[2]:=
GraphData["PetersenGraph", "MolecularTopologicalIndex"]
Out[2]=

Scope (2) 

Compute the Schultz index of a molecule:

In[3]:=
ResourceFunction["SchultzMTI"][
Molecule[{"C", "C", "C", "C", "C", "C", "C", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H"}, {
Bond[{1, 2}, "Single"], 
Bond[{2, 3}, "Single"], 
Bond[{3, 4}, "Single"], 
Bond[{4, 5}, "Single"], 
Bond[{5, 6}, "Single"], 
Bond[{6, 7}, "Single"], 
Bond[{6, 1}, "Single"], 
Bond[{7, 3}, "Single"], 
Bond[{1, 8}, "Single"], 
Bond[{1, 9}, "Single"], 
Bond[{2, 10}, "Single"], 
Bond[{2, 11}, "Single"], 
Bond[{3, 12}, "Single"], 
Bond[{4, 13}, "Single"], 
Bond[{4, 14}, "Single"], 
Bond[{5, 15}, "Single"], 
Bond[{5, 16}, "Single"], 
Bond[{6, 17}, "Single"], 
Bond[{7, 18}, "Single"], 
Bond[{7, 19}, "Single"]}, {}]]
Out[3]=

Compute the Schultz index of a named entity:

In[4]:=
ResourceFunction["SchultzMTI"][Entity["Graph", "TutteGraph"]]
Out[4]=

Options (2) 

IncludeHydrogens (2) 

By default, hydrogens are ignored in the computation of the Schultz index:

In[5]:=
ResourceFunction["SchultzMTI"][Molecule["neopentane"]]
Out[5]=

Use IncludeHydrogensAll to account for hydrogens:

In[6]:=
ResourceFunction["SchultzMTI"][Molecule["neopentane"], IncludeHydrogens -> All]
Out[6]=

Applications (2) 

Generate all alkanes with 8 carbon atoms (octanes) using the resource function AlkaneIsomers:

In[7]:=
Short[octanes = ResourceFunction["AlkaneIsomers"][8]]
Out[7]=

Find octane isomers with identical values of the Schultz index:

In[8]:=
MaximalBy[GroupBy[octanes, ResourceFunction["SchultzMTI"]], Length]
Out[8]=

Three decane isomers:

In[9]:=
(* Evaluate this cell to get the example input *) CloudGet["https://www.wolframcloud.com/obj/92cff210-b7d2-4b24-988d-4a2d746c60b4"]

All of them have the same value of the Schultz index:

In[10]:=
ResourceFunction["SchultzMTI"] /@ mols
Out[10]=

Requirements

Wolfram Language 12.3 (May 2021) or above

Version History

  • 1.0.0 – 20 December 2023

Source Metadata

Related Resources

License Information