Classes d'algèbres linéaire

Soyez le premier à donner votre avis sur cette source.

Vue 2 308 fois - Téléchargée 418 fois

Description

Voici trois classes vecteur, matrice, point pour faire de l'algèbre linéaire.
Les éléments présentés ici fonctionnent dans n'importe quel nombre de dimensions. Vous pouvez donc utiliser cette bibliothèque pour manier des matrices de dimension 35 et calculer leur déterminant; ou les inverser. ou pour calculer le produit scalaire de n-1 vecteurs de dimension n.

Voici quelques exemples d'utilisation :
Vector vector = new Vector(1, 1);
Vector vector1 = new Vector(1, 0, 0);
Vector vector2 = new Vector(0, 1, 0);
Vector vector3 = new Vector(2, 2, 0);

Vector vector4 = new Vector(50, 12, 3);
Vector vector5 = new Vector(82, 18, 14);

Matrix matrix1 = new Matrix(new double[][] { new[] {1.0, 2.0}, new[] {3.0, 1.0}});

Matrix matrix2 = new Matrix(new double[][] { new[] { 1.0, 2.0, 3.0 }, new[] { 1.0 } , new[] { 1.0, 0.0, 2.0 }});
Matrix matrix3 = new Matrix(new double[][] { new[] { 1.0, 2.0, 3.0 }, new[] { 0.0, 1.0, 2.0 }, new[] { 0.0, 0.0, 1.0 } });
Matrix matrix4 = new Matrix(new double[][] { new[] { 1.0, 2.0, 3.0 }, new[] { 2.0, 3.0, 1.0 }, new[] { 3.0, 1.0, 2.0 } });
Matrix matrix5 = matrix4.Invert();

Point point1 = new Point(10, 0, 0);
Matrix translation = Matrix.TranslationInNormalSpace(1, 1, 1);
Matrix rotation = Matrix.RotationInNormalSpace(0.5, 1, 1.5);
Matrix transformation = translation * rotation;
Point point2 = translation * point1;

Console.WriteLine(point1);
Console.WriteLine(point2);

Console.WriteLine(matrix4.Determinant);
Console.WriteLine(matrix1.ToString("S"));
Console.WriteLine(matrix3.IsDiagonalized);
Console.WriteLine(matrix3.IsTriangularised);
Console.WriteLine(matrix5);
Console.WriteLine(matrix4 * matrix5);

Console.WriteLine(Vector.Product(vector));
Console.WriteLine(Vector.Product(vector1, vector2));
Console.WriteLine(Vector.Product(vector2, vector1));
Console.WriteLine(Vector.Product(vector4, vector5));
Console.WriteLine(vector3.Normalize());

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.