We have

Then with
definition (see Section New Optimized assembly algorithm (OptV2 version)) , we obtain

So the vectorized algorithm for
computation is simple and given in Algorithm 27.
Algorithm 27
Note
Computes all the element Mass matrices
for 
| Parameters: | volumes ( numpy array of floats) – volumes of all the mesh elements. |
|---|---|
| Returns: | a one dimensional numpy array of size ![]() |
We have 

Using vectorized algorithm function
given in Algorithm 26, we obtain
the vectorized algorithm 28 for
computation for the Stiffness matrix in 3d.
Algorithm 28
Note
Computes all the element stiffness matrices
for 
| Parameters: |
|
|---|---|
| Returns: | a one dimensional numpy array of size |
We define on the tetrahedron
the local alternate basis
by

where
With notations of Presentation,
we have 

with,
by

where
and
are the Lame coefficients and 
For example, we can explicitly compute the first two terms in the first column of
which are given by

and

Using vectorized algorithm function
given in Algorithm 26, we obtain
the vectorized algorithm 29 for
computation for the Elastic Stiffness matrix in 3d.
Algorithm 29
Note
Computes all the element elastic stiffness matrices
for
in local alternate basis.
| Parameters: | |
|---|---|
| Returns: | a (144*nme,) numpy array of floats. |
We define on
the local block basis
by

where 
For example, using formula (?), we can explicitly compute the first two terms in the first column of
which are given by

and

Using vectorized algorithm function
given in Algorithm 26, we obtain
the vectorized algorithm 30 for
computation for the Elastic Stiffness matrix in 3d.
Algorithm 30
Note
Compute all the element elastic stiffness matrices,
for
in local block basis.
| Parameters: | |
|---|---|
| Returns: | a (144*nme,) numpy array of floats. |