# cppmat::tiny¶

## cppmat::tiny::array¶

[`fix_regular_array.h`

, `fix_regular_array.hpp`

]

Class for fixed size, small, n-d arrays. For example for a rank 3 array:

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::array<double,3,10,10,10> A;
A(0,0,0) = ...
...
return 0;
}
```

Note that the first ‘shape’ is the rank of the array, the rest are the shape along each axis.

Compared to cppmat::array the size of the array cannot be dynamically changed. Consequently there is no dynamic memory allocation, often resulting in faster behavior. For the rest, most methods are the same as for cppmat::array, though sometimes slightly more limited in use.

## cppmat::tiny::matrix¶

[`fix_regular_matrix.h`

, `fix_regular_matrix.hpp`

]

Class for fixed size, small, matrices. For example:

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::matrix<double,10,10> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::matrix.

## cppmat::tiny::vector¶

[`fix_regular_vector.h`

, `fix_regular_vector.hpp`

]

Class for fixed size, small, matrices. For example:

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::vector<double,10> A;
A(0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::vector.

## cppmat::tiny::symmetric::matrix¶

[`fix_symmetric_matrix.h`

, `fix_symmetric_matrix.hpp`

]

Class for fixed size, small, symmetric, matrices. For example:

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::symmetric::matrix<double,10,10> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::symmetric::matrix.

## cppmat::tiny::diagonal::matrix¶

[`fix_diagonal_matrix.h`

, `fix_diagonal_matrix.hpp`

]

Class for fixed size, small, symmetric, matrices. For example:

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::diagonal::matrix<double,10,10> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::diagonal::matrix.

## cppmat::tiny::cartesian¶

`cppmat::tiny::cartesian::tensor4`

¶

[`fix_cartesian_tensor4.h`

, `fix_cartesian_tensor4.hpp`

]

Class for fixed size, small, fourth order tensors. For a 3-d tensor

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::cartesian::tensor4<double,3> A;
A(0,0,0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::cartesian::tensor4.

`cppmat::tiny::cartesian::tensor2`

¶

[`fix_cartesian_tensor2.h`

, `fix_cartesian_tensor2.hpp`

]

Class for fixed size, small, second order tensors. For a 3-d tensor

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::cartesian::tensor2<double,3> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::cartesian::tensor2.

`cppmat::tiny::cartesian::tensor2s`

¶

[`fix_cartesian_tensor2s.h`

, `fix_cartesian_tensor2s.hpp`

]

Class for fixed size, small, symmetric, second order tensors. For a 3-d tensor

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::cartesian::tensor2s<double,3> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::cartesian::tensor2s.

`cppmat::tiny::cartesian::tensor2d`

¶

[`fix_cartesian_tensor2d.h`

, `fix_cartesian_tensor2d.hpp`

]

Class for fixed size, small, diagonal, second order tensors. For a 3-d tensor

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::cartesian::tensor2d<double,3> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::cartesian::tensor2d.

`cppmat::tiny::cartesian::vector`

¶

[`fix_cartesian_vector.h`

, `fix_cartesian_vector.hpp`

]

Class for fixed size, small, vector. For a 3-d vector

```
#include <cppmat/cppmat.h>
int main()
{
cppmat::tiny::cartesian::vector<double,3> A;
A(0,0) = ...
...
return 0;
}
```

Most methods are the same as for cppmat::cartesian::vector.