-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDMA.h
More file actions
76 lines (72 loc) · 2.28 KB
/
DMA.h
File metadata and controls
76 lines (72 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
///////////////////////////////////////////////////////////
// DMA.h
// Implementation of the Class DMA
// Created on: 07-Lie-2013 20:07:30
// Original author: Povilas
///////////////////////////////////////////////////////////
/*! \file DMA class
\brief A class of methods and attributes for DMA algorithm.
*/
#if !defined(DMA_H)
#define DMA_H
#include "ObjectMatrix.h"
#include "MDS.h"
class DMA : public MDS
{
public:
/*! \fn DMA();
* \brief A default constructor.
*/
DMA();
/*! \fn ~DMA();
* \brief A default destructor.
*/
virtual ~DMA();
/*! \fn DMA(double eps, int maxIter, int d, int neighbours);
* \brief An overloaded constructor.
* \param double eps - erro between two subsequent projections
* \param int maxIter - maximum iterations to perform.
* \param int d - projection dimmension.
* \param int neighbours - quantity of neighbours to rely on.
*/
DMA(double eps, int maxIter, int d, int neighbours);
/*! \fn int getNeighbours();
* \brief Returns the number of neighbours.
* \return neighbourNumber - the number of neighbours.
*/
int getNeighbours();
/*! \fn setNeighbours(int neighbours);
* \brief Sets the number of neighbours.
* \param neighbours - the number of neighbours.
*/
void setNeighbours(int neighbours);
/*! \fn virtual ObjectMatrix getProjection();
* \brief Returns the projection Y of matrix X.
* \return ObjectMatrix - an object of projected matrix.
*/
virtual ObjectMatrix getProjection();
private:
/*! \var int neighbourNumber;
* \brief A number of neighbours.
*/
int neighbourNumber;
/*! \fn void shuffle();
* \brief Shuffles the initial matrix X and projection matrix Y.
*/
void shuffle();
/*! \fn int getV(int i);
* \brief Calculates the number of neighbours around a point [i][i].
* \param int i - The diagonal point index.
* \return neighbours - The number of neighbours.
*/
int getV(int i);
/*! \var int m;
* \brief The number of DataObjects in matrix X.
*/
int m;
/*! \var std::vector<unsigned int>;
* \brief Holds shuffling indices of an object matrix.
*/
std::vector<unsigned int> shufledIndexes;
};
#endif // !defined(DMA_H)