est ici une idée; et si quelqu'un l'écrit, ils doivent me donner un crédit de droits d'auteur! Automatique intégré dans des modèles matriciels arbitraires tels que ces matrices ne sont pas les types mathématiques mais plutôt d'un type de stockage ou de structure. Selon les paramètres du modèle, ces matrices peuvent être aussi simples qu'une valeur scalaire aussi complexe qu'une entité quasi infinie en théorie si l'ordinateur pouvait le permettre sans manquer de mémoire, mais dans la pratique cela se limiterait à l'architecture, au système d'exploitation et compilateurs détails intrinsèques de la taille de leur type entier ou intégral. On peut donc avoir une matrice volumétrique de faible dimension qui a 3 dimensions mais qui manque de mémoire car elle pourrait ressembler à ceci: Matrix<type, 1000000000,1000000000,1000000000> matOutOfBounds
avant une matrice dimensionnelle beaucoup plus élevée telle que Matrix<type, 2,2,2,2,2,2,2,2>
qui serait une matrice volumétrique 8D. La simplification peut être faite si ce sont des «matrices parfaites». C'est là que chaque dimension a exactement le même nombre d'éléments, quel que soit le nombre de dimensions. Par exemple: <3,3>
<3,3,3>
<3,3,3,3>
sont toutes des matrices parfaites. Simplification serait Matrix<type, 4^4>
même que Matrix<type, 4,4,4,4>
donnant une matrice volumétrique 4D 4x4x4x4 avec 96 éléments dans une structure 4D. Où `Matrix serait 3D Matrix Volumetric avec beaucoup d'éléments mais a une structure volumétrique 3D comme nos horloges et compas actuels fonctionnent de telle sorte que 360 degrés à cercle complet, 60 minutes, 60 secondes, sauf qu'il y a autant d'éléments de stockage de flotteurs.
Ce qui suit ressemble à une bibliothèque C++ que quelqu'un pourrait inclure dans ses projets; mais l'idée ici est de faire un type de langage intégré. Alors n'importe qui avec votre langue et compilateur peut les utiliser à volonté.Ils peuvent utiliser ces indicateurs avec un certain nombre de dimensions telles que ce que ce modèle représente:
// Header Declaration
template<typename ClassType, unsigned int...>
matrix{
}; // No need to show body just declaration for concept
// User Code Would Be
matrix<float,2,3,4,5,7> mat; // This would create a 2x3x4x5x7 matrix that is a 5th dimensional volumetric matrix
// Default type
matrix<int> mat2; // This creates a 1x1 matrix that would in essence be a scalar.
Maintenant que je l'ai montré est la syntaxe actuelle C++ pour les modèles variadique. L'idée ici serait que ces types de conteneurs matriciels seraient construits en types!
Voulez-vous les rendre mathématiques? Bien sûr, c'est bien, mais l'utilisateur devrait définir ses propres "algorithmes, méthodes, fonctions ou routines" pour le faire.
La raison pour laquelle ils devraient être définis indépendamment est fait pour cette raison:
mat<float, 3,3,3> mat1; 3x3x3 3D Volumetric Matrix - 27 elements
mat<float, 5,5> mat2; 5x5 2D Linear-Quadratic (Area) Matrix - 25 elements
mat<int, 6,7,8> mat3; 6x7x8 3D Volumetric Matrix - 336 elements
mat<bool, 8> mat4; 1x8 1D Linear Matrix (Array); transpose?
mat4::transpose; // built in - now 8x1 matrix
mat4::transpose; // back to 1x8.
class TheMotherLoad {// Many members and methods };
// ...
mat<TheMotherLoad*, 9,9,9,9,9,9,9,9,9> mat9;
// simplified version
mat<TheMotherLoad*, 9^9> mat9
// A 9 Dimensional Volumetric container So the first the would be a Cube
// with its sides having a length of 9 cells where the Volume 9^3 is the
// First Order of what a Volumetric Matrix is.
// Anything less is linear or quadratic either it being a scalar,
// translation, an array, a line, a point, a vector, rotation, quadratic and area)
// Now that we have a cube that has 729 elements and the next
// three 9s which are the 4th, 5th & 6th dimensions would act as another
// 9x9x9 matrix surrounding the first 3 dimensions respectively.
// Finally the 7th, 8th & 9th dimensions defines the "outer matrix"
// that also has "9x9x9" elements. So in total the number of elements
// in this matrix would be 729^3 and for every
En raison des propriétés de la façon dont les matrices sont est ce qui détermine ce que le type d'opérations mathématiques qui peut être fait pour eux afin Cela doit être fait de l'extérieur.
Ils l'ont déjà fait, dans COBOL je pense, était-ce? Oh .. nevermind –
De nos jours, il n'y a plus beaucoup de langues qui n'ont pas de fonctions lambda et d'ordre supérieur. – sepp2k
+1 pour DWIMNWIS –