System and method for molecular property prediction using edge conditioned identity mapping convolution neural network
This disclosure relates generally to system and method for molecular property prediction. Typically, message-pooling mechanism employed in molecular property prediction using conventional message passing neural networks (MPNN) causes over smoothing of the node embeddings of the molecular graph. The disclosed system utilizes edge conditioned identity mapping convolution neural network for the message passing phase. In message passing phase, the system computes an incoming aggregated message vector for each node of the plurality of nodes of the molecular graph based on encoded message received from neighboring nodes such that encoded message vector is generated by fusing a node information and an connecting edge information of the set of neighboring nodes of the node. The incoming aggregated message vector is utilized for computing updated hidden state vector of each node. A discriminative graph-level vector representation is computed by pooling the updated hidden state vectors from all the nodes of the molecular graph.
1 . A processor-implemented method for molecular property prediction, comprising:
accessing, via one or more hardware processors, a database comprising a plurality of molecular graphs associated with a plurality of molecules and a plurality of labels indicative of chemical properties of the plurality of the molecular graphs, wherein a molecular graph of the plurality of molecular graphs comprises a plurality of nodes and a plurality of edges connecting a plurality of neighboring nodes;
learning, via the one or more hardware processors, a mapping from the plurality of molecular graphs to a set of labels by a molecular property prediction neural network function to prognosticate the chemical properties of the molecular graph from amongst the plurality of molecular graphs, wherein predicting the properties of the molecular graph comprises computing a graph-level vector representation of the molecular graph using an Edge-Information Fused Message Passing Neural Network (EI-MPNN), and wherein computing the graph-level vector representation for the molecular graph comprises:
computing an incoming aggregated message vector for each node (i) of the plurality of nodes of the molecular graph,
wherein the incoming aggregated message vector for each node (i) is computed based on a plurality of encoded messages received from a set
(
h
j
t
)
of neighboring nodes (j) of each node (i),
wherein each encoded message vector is generated by fusing a node information and a connecting edge information of the set
(
h
j
t
)
of neighboring nodes (j) of the node (i),
wherein each of the plurality of encoded messages comprises a normalized neural-message vector,
wherein the normalized neural-message vector from each neighboring node of the set
(
h
j
t
)
of neighboring nodes (j) is determined by a ratio of a summation of hidden state vector of each node (i) in the set
(
h
j
t
)
of neighboring nodes (j), a linearly transformed static edge feature vector altered by a second trainable weight matrix, Θ 2 , a square-root of a product of a degree of each node (i), and the set
(
h
j
t
)
of neighboring nodes (j) with added self-loops,
wherein the added self-loops include a self-loop of each node (i) comprising an arbitrary edge that starts and terminates at a same node that is considered in calculating the degree of each node (i),
wherein an edge
e
j
,
i
ℳ
pertains to the self-loop of the node (i), and
a node-wise formulation is expressed as:
h
i
′
=
Γ
Θ
(
(
1
+
ϵ
)
W
0
h
i
+
∑
j
∈
N
(
i
)
1
d
^
j
d
^
i
(
h
j
+
W
1
e
j
,
i
ℳ
)
)
,
wherein h i is a representation vector of the node (i) at a previous layer, d i is the degree of the node (i) with the added self-loop, d j is the degree of the node (j),
∑
j
∈
N
(
i
)
is aggregation of neural-information embedded messages over a local one-hop neighborhood of the node, W 0 & W 1 are a trainable weight matrices that apply a linear transformation to feature and static edge feature vectors respectively, δ Θ denotes a neural network comprising a multilayer perceptron (MLP) parameterized by Θ, ϵ denotes an epsilon value, e −7 ;
computing iteratively an updated hidden state vector of each node in a plurality of pre-determined number of iterations from the incoming aggregated message vector and a hidden state of the node, wherein the hidden state of the node is obtained from a previous iteration; and
calculating a discriminative graph-level vector representation by pooling the updated hidden state vectors of the plurality of nodes, wherein the graph level vector representation is a characteristic representation of the molecular graph; and
applying a linear layer function on the discriminative graph-level vector representation to compute the properties of the molecular graph, via the one or more hardware processors, wherein the EI-MPNN comprises an Edge-Conditioned Identity Mapping Convolution Network (EC-IMCN) which aids in inductive learning tasks by incorporating edge-information of a graph topology, prevents over-smoothing of learnable low-level representations for nodes with valency and prevents diffusion of node embeddings to a corresponding local sizeable-graph neighborhood.
2 . The processor implemented method of claim 1 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) IS Computed by transforming the previous iteration step, hidden state vector
(
h
i
t
)
of each node (i) by using a reed-forward neural-network function Γ Θ , and wherein the input to the feed-forward neural-network function comprises a summation of a linear transformation of the node (i) hidden state vector
(
h
i
t
)
with a first trainable weight matrix, Θ 1 and the aggregated-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
3 . The processor implemented method of claim 1 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the previous hidden state vector of the node (i) by performing a summation operation on a linear transformation of the node (i) hidden state vector with the trainable weight matrix, Θ 1 and an aggregated neural-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
4 . The processor implemented method of claim 3 , wherein the aggregated neural-message vector is determined by computing a product of transformed strength of an identity mapping to allow a gated aggregated neural-information flow from the set
(
h
j
t
)
of neighboring nodes (j).
5 . The processor implemented method of claim 4 , wherein the gated aggregated neural-information flow is determined by a summation of a weighted product of a less-discriminative aggregated message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
ij
ℳ
)
with (1−α) and a weighted product of an initial residual aggregated neural-message vector
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
ij
ℳ
)
with α(a learnable gating scalar value),
wherein, a less-discriminative and the initial residual aggregated neural-message vector are determined by a sum-message pooling operation,
wherein a less-discriminative message-vector is determined by a product of the transformed edge-vector with the neighboring node (j), hidden state, and is described by
h
j
Ω
Λ
(
e
i
j
ℳ
)
,
wherein an initial residual neural-message vector is determined by a product of the transformed edge-vector with the neighboring node (j), feature vector, and is described by
h
j
0
Ω
Λ
(
e
i
j
ℳ
)
,
wherein, the transformed edge-vector comprises the output of a feed-forward neural network function, Ω Λ which takes as input the static-edge feature vector,
e
i
j
ℳ
,
wherein an aggregated message-vector is determined by the sum-message pooling operation on a local-graph neighborhood as,
m
𝒩
(
i
)
=
(
(
1
-
α
)
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
i
j
ℳ
)
+
α
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
i
j
ℳ
)
)
(
(
1
-
β
)
I
+
β
W
2
)
,
and
wherein W 1 and W 2 are the trainable weight matrices,
e
i
j
ℳ
denotes a static feature vector of an edge connecting an neighboring nodes, (j, i),
h
j
(
0
)
represents a feature information vector of the node (i), α models strength of the initial residual aggregated neural-message vector from local-graph neighbors,
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
i
j
ℳ
)
,
α & (1−α) serves as gating vectors by combining information from a less-discriminative aggregated single message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
i
j
ℳ
)
with the initial residual aggregated neural-message vector, β models strength of a identity mapping to a corresponding learnable weight matrix, W2, Ω Λ denotes a multi-layer perceptron, parameterized by Λ, and l is an identity matrix.
6 . The processor implemented method of claim 1 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the hidden state vector of the node (i), wherein transforming the hidden state vector of the node (i) comprises adding a weighted and sum-pooled initial hidden state-vector of the node (i) at each iteration step, and wherein the initial hidden state vector of node (i) is determined by each node (i) in the set
(
h
j
t
)
of neighboring nodes (j) by taking a product of the feature vector of node (i) with a linearly transformed edge-feature vector
e
i
j
ℳ
with a trainable weight parameter Θ 1 at each iteration step, and
wherein the gated recurrent neural network is weighted by a factor (1−α), and
wherein the gated recurrent neural network takes a previous hidden state of the node (i) and an aggregated normalized neural-message vector from the set
(
h
j
t
)
of neighboring nodes (i) as inputs, and
wherein the normalized message vector from each neighboring node is determined by a ratio of a product of hidden representation of each local-graph neighbor node (j) at previous iteration-step (t) and the linearly transformed static edge feature vector by the trainable weight matrix Θ 2 , and the square-root of the product of the degree of the node (i) and each neighboring node (j) with the added self-loops, and wherein a self-added loop for each node comprises an arbitrary edge starting and ending at the node.
7 . A system for molecular property prediction, comprising:
a memory storing instructions;
one or more communication interfaces; and
one or more hardware processors coupled to the memory via the one or more communication interfaces, wherein the one or more hardware processors are configured by the instructions to:
access a database comprising a plurality of molecular graphs associated with a plurality of molecules and a plurality of labels indicative of chemical properties of the plurality of the molecular graphs, wherein a molecular graph of the plurality of molecular graphs comprises a plurality of nodes and the plurality of edges connecting the plurality of neighboring nodes;
learn a mapping from the plurality of molecular graphs to the set of labels by a molecular property prediction neural network function to prognosticate the chemical properties of the molecular graph from amongst the plurality of molecular graphs, wherein predicting the properties of the molecular graph comprises computing a graph-level vector representation of the molecular graph using an Edge-Information Fused Message Passing Neural Network (EI-MPNN), and wherein to computing the graph-level vector representation for the molecular graph, the one or more hardware processors are configured by the instructions to:
compute an incoming aggregated message vector for each node (i) of the plurality of nodes of the molecular graph,
wherein the incoming aggregated message vector for each node (i) is computed based on a plurality of encoded messages received from a set
(
h
j
t
)
of neighboring nodes (j) of each node (i),
wherein each encoded message vector is generated by fusing a node information and a connecting edge information of the set
(
h
j
t
)
of neighboring nodes (j) of the node (i),
wherein each of the plurality of encoded messages comprises a normalized neural-message vector,
wherein the normalized neural-message vector from each neighboring node of the set
(
h
j
t
)
of neighboring nodes (j) is determined by a ratio of a summation of hidden state vector of each node (i) in the set
(
h
j
t
)
of neighboring nodes (j), a linearly transformed static edge feature vector altered by a second trainable weight matrix, Θ 2 , a square-root of a product of a degree of each node (i), and the set
(
h
j
t
)
of neighboring nodes (j) with added self-loops,
wherein the added self-loops include a self-loop of each node (i) comprising an arbitrary edge that starts and terminates at a same node that is considered in calculating the degree of each node (i),
wherein an edge
e
j
,
i
ℳ
pertains to the self-loop of the node (i), and
a node-wise formulation is expressed as:
h
i
′
=
Γ
Θ
(
(
1
+
ϵ
)
W
0
h
i
+
∑
j
∈
𝒩
(
i
)
1
d
^
j
d
^
i
(
h
j
+
W
1
e
j
,
i
ℳ
)
)
,
wherein h i is a representation vector of the node (i) at a previous layer, d i is the degree of the node (i) with the added self-loop, d j is the degree of the node (j),
∑
j
∈
N
(
i
)
is aggregation or neural-information embedded messages over a local one-hop neighborhood of the node, W 0 & W 1 are a trainable weight matrices that apply a linear transformation to feature and static edge feature vectors respectively, Γ Θ denotes a neural network comprising a multilayer perceptron (MLP) parameterized by Θ, ϵ denotes an epsilon value, e −7 ;
compute iteratively an updated hidden state vector of each node in a plurality of pre-determined number of iterations from the incoming aggregated message vector and a hidden state of the node, wherein the hidden state of the node is obtained from a previous iteration; and
calculate a discriminative graph-level vector representation by pooling the updated hidden state vectors of the plurality of nodes, wherein the graph level vector representation is a characteristic representation of the molecular graph; and
apply a linear layer function on the discriminative graph-level vector representation to compute the properties of the molecular graph, wherein the EI-MPNN comprises an Edge-Conditioned Identity Mapping Convolution Network (EC-IMCN) which aids in inductive learning tasks by incorporating edge-information of a graph topology, prevents over-smoothing of learnable low-level representations for nodes with valency and prevents diffusion of node embeddings to a corresponding local sizeable-graph neighborhood.
8 . The system of claim 7 , wherein the one or more hardware processors are configured by the instructions to compute the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) by transforming the previous iteration step, hidden state vector
(
h
i
t
)
of each node (i) by using a feed-forward neural-network function Γ Θ , and wherein the input to the feed-forward neural-network function comprises a summation of a linear transformation of the node (i) hidden state vector
(
h
i
t
)
with a first trainable weight matrix, Θ 1 and the aggregated-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
9 . The system of claim 7 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the previous hidden state vector of the node (i) by performing a summation operation on a linear transformation of the node (i) hidden state vector with the trainable weight matrix, Θ 1 and an aggregated neural-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
10 . The system of claim 9 , wherein to determine the aggregated neural-message vector, the one or more hardware processors are configured by the instructions to compute a product of transformed strength of an identity mapping to allow a gated aggregated neural-information flow from the set
(
h
j
t
)
of neighboring nodes (j).
11 . The system of claim 10 , wherein to determine the gated aggregated neural-information flow, the one or more hardware processors are configured by the instructions to perform a summation of a weighted product of a less-discriminative aggregated message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
ij
M
)
with (1−α) ana a weighted product of an initial residual aggregated neural-message vector
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
ij
M
)
with α(a learnable gating scalar value),
wherein, a less-discriminative and the initial residual aggregated neural-message vector are determined by a sum-message pooling operation,
wherein a less-discriminative message-vector is determined by a product of the transformed edge-vector with the neighboring node (j), hidden state, and is described by
h
j
Ω
Λ
(
e
ij
M
)
,
wherein an initial residual neural-message vector is determined by a product of the transformed edge-vector with the neighboring node (j), feature vector, and is described by
h
j
0
Ω
Λ
(
e
ij
M
)
,
wherein, the transformed edge-vector comprises the output of a feed-forward neural network function, Ω Λ which takes as input the static-edge feature vector,
e
ij
M
,
wherein an aggregated message-vector is determined by the sum-message pooling operation on a local-graph neighborhood as,
m
N
(
i
)
=
(
(
1
-
α
)
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
ij
M
)
+
α
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
ij
M
)
)
(
(
1
-
β
)
I
+
β
W
2
)
,
and
wherein W 1 and W 2 are the trainable weight matrices,
e
ij
M
denotes a static feature vector of an edge connecting an neighboring nodes,
(
j
,
i
)
,
h
j
(
0
)
represents a feature information vector of the node (i), α models strength of the initial residual aggregated neural-message vector from local-graph neighbors,
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
ij
M
)
,
α & (1−α) serves as gating vectors by combining information from a less-discriminative aggregated single message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
ij
ℳ
)
with the initial residual aggregated neural-message vector, β models strength of a identity mapping to a corresponding learnable weight matrix, W2, Ω Λ denotes a multi-layer perceptron, parameterized by Λ, and l is an identity matrix.
12 . The system of claim 7 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the hidden state vector of the node (i), wherein transforming the hidden state vector of the node (i) comprises adding a weighted and sum-pooled initial hidden state-vector of the node (i) at each iteration step, and wherein the initial hidden state vector of node (i) is determined by each node (i) in the set
h
j
t
of neighboring nodes (j) by taking a product of the feature vector of node (i) with a linearly transformed edge-feature vector
e
ij
ℳ
with a trainable weight parameter Θ 1 at each iteration step, and
wherein the gated recurrent neural network is weighted by a factor (1−α), and
wherein the gated recurrent neural network takes a previous hidden state of the node (i) and an aggregated normalized neural-message vector from the set
h
j
t
of neighboring nodes (j) as inputs, and
wherein the normalized message vector from each neighboring node is determined by a ratio of a product of hidden representation of each local-graph neighbor node (j) at previous iteration-step (t) and the linearly transformed static edge feature vector by the trainable weight matrix Θ 2 , and the square-root of the product of the degree of the node (i) and each neighboring node (j) with the added self-loops, and wherein a self-added loop for each node comprises an arbitrary edge starting and ending at the node.
13 . One or more non-transitory machine-readable information storage mediums comprising one or more instructions which when executed by one or more hardware processors cause:
accessing, via one or more hardware processors, a database comprising a plurality of molecular graphs associated with a plurality of molecules and a plurality of labels indicative of chemical properties of the plurality of the molecular graphs, wherein a molecular graph of the plurality of molecular graphs comprises a plurality of nodes and a plurality of edges connecting a plurality of neighboring nodes;
learning, via the one or more hardware processors, a mapping from the plurality of molecular graphs to a set of labels by a molecular property prediction neural network function to prognosticate the chemical properties of the molecular graph from amongst the plurality of molecular graphs, wherein predicting the properties of the molecular graph comprises computing a graph-level vector representation of the molecular graph using an Edge-Information Fused Message Passing Neural Network (EI-MPNN), and wherein computing the graph-level vector representation for the molecular graph comprises:
computing an incoming aggregated message vector for each node (i) of the plurality of nodes of the molecular graph,
wherein the incoming aggregated message vector for each node (i) is computed based on a plurality of encoded messages received from a set
h
j
t
of neighboring nodes (j) of each node (i),
wherein each encoded message vector is generated by fusing a node information and a connecting edge information of the set
h
j
t
of neighboring nodes (j) of the node (i),
wherein each of the plurality of encoded messages comprises a normalized neural-message vector,
wherein the normalized neural-message vector from each neighboring node of the set
h
j
t
of neighboring nodes (j) is determined by a ratio of a summation of hidden state vector of each node (i) in the set
h
j
t
of neighboring nodes (j), a linearly vector of each node (i) in the set transformed static edge feature vector altered by a second trainable weight matrix, Θ 2 , a square-root of a product of a degree of each node (i), and the set
h
j
t
of neighboring nodes (j) with added self-loops,
wherein the added self-loops include a self-loop of each node (i) comprising an arbitrary edge that starts and terminates at a same node that is considered in calculating the degree of each node (i),
wherein an edge
e
ij
ℳ
pertains to the self-loop of the node (i), and
a node-wise formulation is expressed as:
h
i
′
=
Γ
Θ
(
(
1
+
ϵ
)
W
0
h
i
+
∑
j
∈
N
(
i
)
1
d
^
j
d
^
i
(
h
j
+
W
1
e
j
,
i
ℳ
)
)
,
wherein h i is a representation vector of the node (i) at a previous layer, d i is the degree of the node (i) with the added self-loop, d j is the degree of the node (j),
∑
j
∈
N
(
i
)
aggregation of neural-information embedded messages over a local one-hop neighborhood of the node, W 0 & W 1 are a trainable weight matrices that apply a linear transformation to feature and static edge feature vectors respectively, δ Θ denotes a neural network comprising a multilayer perceptron (MLP) parameterized by Θ, ϵ denotes an epsilon value, e −7 ;
computing iteratively an updated hidden state vector of each node in a plurality of pre-determined number of iterations from the incoming aggregated message vector and a hidden state of the node, wherein the hidden state of the node is obtained from a previous iteration; and
calculating a discriminative graph-level vector representation by pooling the updated hidden state vectors of the plurality of nodes, wherein the graph level vector representation is a characteristic representation of the molecular graph; and
applying a linear layer function on the discriminative graph-level vector representation to compute the properties of the molecular graph, via the one or more hardware processors, wherein the EI-MPNN comprises an Edge-Conditioned Identity Mapping Convolution Network (EC-IMCN) which aids in inductive learning tasks by incorporating edge-information of a graph topology, prevents over-smoothing of learnable low-level representations for nodes with valency and prevents diffusion of node embeddings to a corresponding local sizeable-graph neighborhood.
14 . The one or more non-transitory machine readable information storage mediums of claim 13 , wherein the updated hidden state
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the previous iteration step, hidden state vector
(
h
i
t
)
of each node (i) by using a feed-forward neural-network function Γ Θ , and wherein the input to the feed-forward neural-network function comprises a summation of a linear transformation of the node (i) hidden state vector
(
h
i
t
)
with a list trainable weight matrix, Θ 1 and the aggregated-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
15 . The one or more non-transitory machine readable information storage mediums of claim 13 , wherein the updated hidden state vector
(
h
i
(
t
+
1
)
)
of each node (i) is computed by transforming the previous hidden state vector of the node (i) by performing a summation operation on a linear transformation of the node (i) hidden state vector with the trainable weight matrix, Θ 1 and an aggregated neural-message vector from the set
(
h
j
t
)
of neighboring nodes (j).
16 . The one or more non-transitory machine readable information storage mediums of claim 15 , wherein the aggregated neural-message vector is determined by computing a product of transformed strength of an identity mapping to allow a gated aggregated neural-information flow from the set
(
h
j
t
)
of neighboring nodes (j).
17 . The one or more non-transitory machine readable information storage mediums of claim 16 , wherein the gated aggregated neural-information flow is determined by a summation of a weighted product of a less-discriminative aggregated message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
ij
ℳ
)
with (1−α) and a weighted product of an initial residual aggregated neural-message vector
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
ij
ℳ
)
with α(a learnable gating scalar value),
wherein, a less-discriminative and the initial residual aggregated neural-message vector are determined by a sum-message pooling operation,
wherein a less-discriminative message-vector is determined by a product of the transformed edge-vector with the neighboring node (j), hidden state, and is described by
h
j
Ω
Λ
(
e
ij
ℳ
)
,
wherein an initial residual neural-message vector is determined by a product of the transformed edge-vector with the neighboring node (j), feature vector, and is described by
h
j
0
Ω
Λ
(
e
ij
ℳ
)
,
wherein, the transformed edge-vector comprises the output of a feed-forward neural network function, Ω Λ which takes as input the static-edge feature vector,
e
ij
ℳ
,
wherein an aggregated message-vector is determined by the sum-message pooling operation on a local-graph neighborhood as,
m
𝒩
(
i
)
=
(
(
1
-
α
)
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
i
j
ℳ
)
+
α
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
i
j
ℳ
)
)
(
(
1
-
β
)
I
+
β
W
2
)
,
and
wherein W 1 and W 2 are the trainable weight matrices,
e
ij
ℳ
denotes a static feature vector of an edge connecting an neighboring nodes, (j, i),
h
j
(
0
)
represents a feature information vector of the node (i), α models strength of the initial residual aggregated neural-message vector from local-graph neighbors,
∑
j
∈
N
(
i
)
h
j
(
0
)
Ω
Λ
(
e
i
j
ℳ
)
,
α & (1−α) serves as gating vectors by combining information from a less-discriminative aggregated single message-vector
∑
j
∈
N
(
i
)
h
j
t
Ω
Λ
(
e
i
j
ℳ
)
with the initial residual aggregated neural-message vector, β models strength of a identity mapping to a corresponding learnable weight matrix, W2, Ω Λ denotes a multi-layer perceptron, parameterized by Λ, and l is an identity matrix.