Bonjour,

Je viens chercher votre aide concernant un exercice.
On cherche à créer une fonction qui vérifie si une famille de vecteurs est libre et si c'est le cas de la compléter en une base de R^n.
J'ai un problème pour compléter ma famille en une base, j'utilise l'aléatoire pour cela. Mais j'aimerais vérifier que le ou les vecteurs tirés au hasard qui complètent ma famille en une base forment toujours avec l'ensemble des vecteurs (L) une famille libre.

Voici mon programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
complete:=proc(L)
local S;
S:=convert(L,matrix);
if rank (S) <> nops (L) then print (erreur)
else base (L)
fi 
end:
 
base:= proc(L)
local k,n,M,S;
S:=convert(L,matrix);
n:=nops (L[1]);
k= n- rank(S);
M:= matrix(n,n,[op(L),seq(convert(randvector(n),list),i=1..k)]);
convert(M,listlist);
end:
Il faut que je modifie ma fonction "base" pour faire en sorte qu'elle vérifie que les vecteurs qui vont compléter ma base vont former une famille libre.
Il faut que le programme continue à tirer un vecteur au hasard jusqu'à trouver un vecteur qui formera une famille libre avec les vecteurs de L. J'ai pensé à rajouter une condition qui calculera le rang jusqu'à trouver un vecteur qui rende le rang de la matrice maximale. (mais je ne vois pas comment faire en Maple).

Je ne sais pas si j'ai été claire sur ce que je cherche à faire, n'hésitez pas à me poser des questions.

Je vous remercie par avance.