STIR 6.4.0
MatrixFunction.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2004- 2007, Hammersmith Imanet Ltd
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10*/
11#ifndef __stir_numerics_MatrixFunction_H__
12#define __stir_numerics_MatrixFunction_H__
23#include "stir/Array.h"
25
26START_NAMESPACE_STIR
27
28//----------------------------------------------------------------------
33
35
42template <class elemT>
43inline elemT inner_product(const Array<1, elemT>& v1, const Array<1, elemT>& v2);
44
46
48template <class elemT>
49inline double angle(const Array<1, elemT>& v1, const Array<1, elemT>& v2);
50
52
53//----------------------------------------------------------------------
58
60
62template <class elemT>
63inline Array<1, elemT> matrix_multiply(const Array<2, elemT>& m, const Array<1, elemT>& vec);
64
66
69template <int dimension, class elemT>
71
73
75template <class elemT>
77
79template <class elemT>
81
83
96template <class elemT>
97inline Array<2, elemT> diagonal_matrix(const unsigned dimension, const elemT value);
98
100
114template <int dimension, class elemT>
116
118
119END_NAMESPACE_STIR
120
122
123#endif
defines the stir::Array class for multi-dimensional (numeric) arrays
This file declares class stir::BasicCoordinate and some functions acting on stir::BasicCoordinate obj...
Implementation of functions for matrices.
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
coordT inner_product(const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2)
compute sum_i p1[i] * p2[i]
Definition BasicCoordinate.inl:408
double angle(const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2)
compute angle between 2 directions
Definition BasicCoordinate.inl:440
Array< 2, elemT > diagonal_matrix(const unsigned dimension, const elemT value)
construct a diagonal matrix with all elements on the diagonal equal
Definition MatrixFunction.inl:182
Array< 2, elemT > matrix_transpose(const Array< 2, elemT > &m)
matrix transposition
Definition MatrixFunction.inl:160
Array< 1, elemT > matrix_multiply(const Array< 2, elemT > &m, const Array< 1, elemT > &vec)
matrix with vector multiplication
Definition MatrixFunction.inl:106