Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: linear_map_def.pvs   Sprache: PVS

Original von: PVS©


% --------------------------------------------------------------
% Linear Algebra library
% Heber Herencia-Zapana NIA
% Gilberto Pérez        University of Coruña Spain
% Pablo Ascariz         University of Coruña Spain
% Felicidad Aguado      University of Coruña Spain
% Date: December, 2013
% ---------------------------------------------------------------
% This PVS theory defines a linear map on vector spaces. See [SA] Chapter 3 and 
%  Chapter 2 of [FIS] for an a detailed account of the concepts.  

% --------------------------------------------------------------
%  This file is a single component of a library of linear 
%  algebra theories. 
%

% ------------------------------------------------------------  

%  --------------------------------------------------------------
%  For the most part, we follow the treatmet in the following texts
%
% [FIS] Linear Algebra, S. Friedburg, A.  Insel, and L. Spense, 3rd edition, Prentice-Hall.
%
% [SA]  Linear Algebra Done Right,  S. Axler. 2nd Edition. Springer-Verlag. 
%
%   [D]  Topology,  J. Dungundji, Allen and Bacon Co.
%
%   [K]  Introductory Functional Analysis,  Kreysizg, Wiley.
%
%   [R]  Convex Analysis, R. Rockafellar, Princeton University Press
%
%   [J]   A Lecture or the S-Procedure, U. Jonsson
%
%-------------------------------------------------------------


linear_map_def: theory

 BEGIN


 IMPORTING sigma_vector,sigma_lemmas

 f,g,h,k: VAR Maping
 n,m,l,p: VAR posnat



% -------------------------------------------------------------------------------
% We define a base of an n-dimensionan vector space as a set of n vector which
% are unitary, orthogonal and which generate the whole vector space
% -------------------------------------------------------------------------------

 unit?(n)(e: [below[n] -> Vector[n]]): bool = FORALL (i: below[n]): e(i)*e(i)=1

 ortho?(n)(e: [below[n] -> Vector[n]]): bool = FORALL (i,j: below[n]): (i /= j IMPLIES e(i)*e(j)=0)

 vec_expan?(n)(e: [below[n] -> Vector[n]]): bool = FORALL (x: Vector[n]): x = SigmaV(0,n-1,x*e)


 base?(n)(e: [below[n] -> Vector[n]]): bool = unit?(n)(e) and ortho?(n)(e) and vec_expan?(n)(e)



% -------------------------------------------------------------------------------
% We now define the base of an n-dimensional vector space as the "standard 
% base", that is, each ith element of the base is a row of 0s with the exception
% that the ith entry is 1.
% So base e(i)(i) = 1 and e(i)(j) =0 if i /= j.
%
% We also prove that this is indeed a base, according to the previous definition.
% In order to do this we use the lemma which states that a vector can be 
% represented as a combination of itself and the "standar base"
% -------------------------------------------------------------------------------

 e(n): [below[n]->Vector[n]] = LAMBDA(j: below[n]): LAMBDA(i: below[n]): IF (i=j) THEN 1 ELSE ENDIF

 vec_repre_bases: LEMMA FORALL (x: Vector[n]): x = SigmaV(0,n-1,x*e(n))

 cano_base:LEMMA base?(n)(e(n))




%---------------------------------------------------------------------------
% Definition of linear maps, which is given with two different notations
%---------------------------------------------------------------------------
 
 linear_map_e?(h,l,n,m): bool = h`dom = n and h`codom = m and FORALL (x: Vector[l],F: [below[l]->Vector[n]]): 
 h`mp(SigmaV[below[l],n](0,l-1,x*F)) = SigmaV[below[l],m](0,l - 1,x*(h`mp o F));


 linear_map_e?(n,m)(h): bool = FORALL (l): linear_map_e?(h,l,n,m)


 Map_linear(n,m): TYPE = {h: Map(n,m) | linear_map_e?(n,m)(h)}



% ------------------------------------------------------------------------------------------- 
% If f and g are linear maps, then their compositon is a linear map.  
% -------------------------------------------------------------------------------------------  

 linear_map_e_comp: LEMMA FORALL (f: Map(m,p),g: Map(n,m)): linear_map_e?(m,p)(f)  AND linear_map_e?(n,m)(g) 
                      IMPLIES linear_map_e?(n,p)(f o g)



% --------------------------------------------------------------------------
% If functions k and j are equal and h is bijective, then k is bijective. 
% --------------------------------------------------------------------------
 
 bijecti_fun_equa: LEMMA FORALL (k,h:Map(n,n)):k=h AND bijective?(n)(h) 
                  IMPLIES 
                  bijective?(n)(k)



% --------------------------------------------------------------------------
% If two linear maps, h and k, coincide when applying them to the standard
% base, the maps are equal
% --------------------------------------------------------------------------

 equa_basis_n: LEMMA FORALL (h,k: Map_linear(n,m)): h`mp o e(n) = k`mp o e(n) 
                    IMPLIES h = k



%------------------------------------------------------------
% Classic linear map definition
%------------------------------------------------------------

 additive?(f): bool = FORALL (x,y: Vector[f`dom]): f`mp(x + y) = f`mp(x) + f`mp(y)

 homogeneous?(f): bool = FORALL (a: real, x: Vector[f`dom]): f`mp(a*x) = a*f`mp(x)

 linear_map?(f): bool = additive?(f) AND homogeneous?(f);



%------------------------------------------------------------
% Equivalence between the two linear map definitions
%------------------------------------------------------------

 linear_map_characterization: LEMMA FORALL (f: Map(n,n)): linear_map?(f) IFF linear_map_e?(n,n)(f);


end linear_map_def




¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff



                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik