maplev 2010/7/12 14:02 page 163 #165 Vectoren en matrices Definitie van vectoren en matrices; eenvoudige manipulaties met vectoren

Vergelijkbare documenten
3.2 Vectoren and matrices

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix

Lineaire Algebra voor ST

ONBETWIST ONderwijs verbeteren met WISkunde Toetsen Voorbeeldtoetsen Lineaire Algebra Deliverable 3.10 Henk van der Kooij ONBETWIST Deliverable 3.

WI1808TH1/CiTG - Lineaire algebra deel 1

maplev 2010/7/12 14:02 page 55 #57 lhs, rhs, assign, isolate, solve, identity, RootOf, allvalues, fsolve, avoid Module 3, 8, 14 en 25.

Linalg.nb 1. Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes!

Stelsels Vergelijkingen

Matrixoperaties. Definitie. Voorbeelden. Een matrix is een rechthoekig array van getallen, die kentallen of elementen heten.

Vragen, samenvattingen en uitwerkingen Lineaire algebra 1 - UvA

Kwantummechanica Donderdag, 13 oktober 2016 OPGAVEN SET HOOFDSTUK 4. Bestudeer Appendix A, bladzijden van het dictaat.

Matrixalgebra (het rekenen met matrices)

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

Basiskennis lineaire algebra

Vierde huiswerkopdracht Lineaire algebra 1

Lineaire Algebra (2DD12)

Meetkunde en lineaire algebra

Lineaire Algebra voor ST

Matrices en Stelsel Lineaire Vergelijkingen

Lineaire Algebra Een Samenvatting

Functies van vectoren

xxii Handleiding Maple 10

11.0 Voorkennis V

Inleiding in de lineaire algebra

Definities, stellingen en methoden uit David Poole s Linear Algebra A Modern Introduction - Second Edtion benodigd voor het tentamen Matrix Algebra 2

De inverse van een matrix

Kies voor i een willekeurige index tussen 1 en r. Neem het inproduct van v i met de relatie. We krijgen

TENTAMEN LINEAIRE ALGEBRA 1 donderdag 23 december 2004,

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

x = b 1 x 1 , b = x n b m i,j=1,1 en een vector [x j] n j=1 m n a i,j x j j=1 i=1

Lineaire Algebra. Bovendriehoeks- en onderdriehoeks vorm: onder (boven) elke leidende term staan enkel nullen

Coëfficiënten matrix = matrix waarin de rechterkolom geen oplossing van de vergelijking is. 1. Lineair systeem = Stelsel van lineaire vergelijkingen

WI1808TH1/CiTG - Lineaire algebra deel 1

Lineaire Algebra voor ST

Lineaire Algebra voor ST

Bekijk nog een keer het stelsel van twee vergelijkingen met twee onbekenden x en y: { De tweede vergelijking van de eerste aftrekken geeft:

4.0 Voorkennis [1] Stap 1: Maak bij een van de vergelijkingen een variabele vrij.

Zomercursus Wiskunde. Module 16 Lineaire algebra B (versie 22 augustus 2011)

TENTAMEN LINEAIRE ALGEBRA 1A. maandag 16 december 2002, b. Bepaal een basis voor de rijruimte en voor de kolomruimte van A.

Zomercursus Wiskunde. Lineaire algebra (versie 15 september 2008)

Hints en antwoorden bij de vragen van de cursus Lineaire Algebra en Meetkunde

maplev 2010/12/22 15:57 page 413 #415

maplev 2010/7/12 14:02 page 149 #151

Aanvullingen bij Hoofdstuk 8

Tentamen lineaire algebra voor BWI maandag 15 december 2008, uur.

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014

maplev 2010/12/22 15:06 page 183 #185 Lineaire algebra.

Lineaire Algebra voor ST

UITWERKINGEN 1 2 C : 2 =

Vectorruimten en deelruimten

Bilineaire Vormen. Hoofdstuk 9

Beknopte handleiding voor Derive 5.0 for Windows

Lineaire Algebra voor ST

2. Transformaties en matrices

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

Derive in ons wiskundeonderwijs Christine Decraemer

Tentamen Lineaire Algebra 1 (Wiskundigen)

3 Wat is een stelsel lineaire vergelijkingen?

Geef niet alleen antwoorden, maar bewijs al je beweringen.

College WisCKI. Albert Visser. 16 januari, Department of Philosophy, Faculty Humanities, Utrecht University. Loodrechte Projectie

Supplement Wiskunde 2017/2018. Inhoudsopgave

compact weer te geven (ken ook een waarde toe aan n).

FACULTEIT ECONOMIE EN BEDRIJFSKUNDE Afdeling Kwantitatieve Economie

Matrices en Grafen (wi1110ee)

3 De duale vectorruimte

maplev 2010/9/8 17:01 page 349 #351

More points, lines, and planes

Tentamen lineaire algebra 2 18 januari 2019, 10:00 13:00 Uitwerkingen (schets)

Uitwerkingen tentamen Lineaire Algebra 2 16 januari, en B =

Samenvatting Lineaire Algebra, periode 4

Uitwerkingen Lineaire Algebra I (wiskundigen) 22 januari, 2015

Hoofdstuk 1. Inleiding. Lichamen

Korte handleiding Maple bij de cursus Meetkunde voor B

Toepassingen in de natuurkunde: snelheden, versnellingen, krachten.

Samenvatting. Lineaire Algebra 1 - Collegejaar Dictaat met verwijzing naar het boek. Disclaimer

Antwoorden op de theoretische vragen in de examen voorbereiding

maplev 2010/7/12 14:02 page 157 #159 Taylor-ontwikkelingen

Uitwerkingen tentamen Lineaire Algebra 2 16 januari, en B =

4 Positieve en niet-negatieve lineaire algebra

3. Structuren in de taal

Opgaven bij de cursus Relativiteitstheorie wiskunde voorkennis Najaar 2018 Docent: Dr. H. (Harm) van der Lek

Tentamen Lineaire Algebra 2

Uitwerkingen tentamen lineaire algebra 2 13 januari 2017, 10:00 13:00

Zomercursus Wiskunde. Module 3 Lineaire algebra A (versie 22 augustus 2011)

Lineaire algebra en kegelsneden. Cursus voor de vrije ruimte

Examenvragen Meetkunde en lineaire algebra Eerste examenperiode

1 Eigenwaarden en eigenvectoren

Tentamen Lineaire Algebra

Tentamen lineaire algebra voor BWI dinsdag 17 februari 2009, uur.

12. Uitwerkingen van de opgaven

Eigenwaarden en eigenvectoren

vandaag is Annie twee jaar jonger dan Ben en Cees samen

Praktische informatie m.b.t. College Lineaire Algebra en Beeldverwerking Bachelor Informatica en Economie 2 e jaar Voorjaar semester 2013 Docent:

Lineaire Algebra voor ST

Lineaire Algebra voor ST

TENTAMEN LINEAIRE ALGEBRA 2 dinsdag 3 april 2007,

6. Lineaire operatoren

Inwendig product, lengte en orthogonaliteit in R n

Lineaire Algebra voor W 2Y650

Transcriptie:

maplev 00// :0 page Module Vectoren en matrices Onderwerp Voorkennis Expressies Bibliotheken Zie ook Definitie van vectoren en matrices; eenvoudige manipulaties met vectoren en matrices Vectoren: optellen, norm, inproduct, vectorproduct; Matrices: vermenigvuldiging, elementaire operaties. Vector, Matrix, < >,, %T, Transpose, fill, shape, IdentityMatrix, UnitVector, DiagonalMatrix, RandomMatrix, Dimension,., RowOperation, ColumnOperation, inshape, Copy, Equal, Norm, Determinant, Trace, MatrixInverse, &x, Diagonal LinearAlgebra Module 8,. Invoeren van matrices en vectoren in Maple Vector Matrix Een lijst, dat wil zeggen: een geordende rij van bij elkaar horende elementen (zie Module 8), kan worden opgevat als een vector. Op dezelfde manier zou men een matrix kunnen representeren als een lijst van lijsten. Om gemakkelijker allerlei standaardbewerkingen met matrices en vectoren te kunnen verrichten (matrixvermenigvuldiging, inproduct berekenen, enzovoort) én om Maple in de gelegenheid te stellen die berekeningen zo efficiënt mogelijk uit te voeren, zijn de Maple-types Vector en Matrix gemaakt. > lijst := [,,]; > v := Vector(lijst); > whattype(v); > Vector[row](lijst); lijst := [,, ] v := Vector column [,, ]

maplev 00// :0 page Module > A := Matrix([[,,],[,,]]); A := > whattype(a); > op(a); Matrix > v[]; > A[,];,, {(, ) =, (, ) =, (, ) =, (, ) =, (, ) =, (, ) = }, datatype = anything, storage = rectangular, order = Fortran order, shape = [] > A[,] := : A; Met het commando Vector maakt men een kolomvector van een lijst; Een kolomvector is de normale vorm van een vector; een rij vector kan worden gemaakt met Vector[row]. Een matrix A wordt gemaakt van een lijst, met de rijen van A als lijsten. Het resultaat van op(a) laat zien wat er zoal wordt vastgelegd: de afmetingen ( rijen en kolommen), de inhoud (A =, A =, enzovoort. A ij, het (i, j) de element van A wordt verkregen met A[i,j]. De waarde van A ij kan op deze manier ook veranderd worden.! Pas op dat u Matrix en Vector gebruikt, dus met een hoofdletter. De types matrix en vector bestaan namelijk óók (nog), maar hebben een andere betekenis. Uiteraard kan men ook het palet, links van het werkblad, gebruiken om een matrix in te voeren; een kolomvector is een n -matrix. In het volgende voorbeeld laten we verschillende manieren zien, zodat u uw favoriete manier kunt kiezen.. > v := <,,>;

maplev 00// :0 page Vectoren en matrices > vt := < >; > v^%t; > LinearAlgebra:-Transpose(v); Matrix rij voor rij v := > A := Matrix[[,,],[,,]]): Dit kan worden afgekort tot > A := <,,;,,> Per kolom: > A := <<,> <,> <,>>; > A^%T; A := A := vt := [,, ] [,, ] [,, ] > LinearAlgebra:-Transpose(A); <... > %T Transpose In het algemeen geldt dat een expressie van de vorm<... > een Vector of Matrix is. De expressies op de puntjes worden gescheiden door komma s (betekenis: nieuwe regel ) of verticale streepjes (betekenis: nieuwe kolom ). De getransponeerde vector v T of matrix A T wordt verkregen met A %T of met Transpose uit de bibliotheek LinearAlgebra. Een andere manier om een matrix (of vector) in te voeren is vooral handig als hij veel nullen bevat. Maple-woorden zijn vaak nogal lang. Maar als u een paar letters getypt hebt, maakt Maple het meestal af met [Ctrl]-[Space] (in Windows) of [Ctrl]-[Shift]- [Space] (in Linux).

maplev 00// :0 page 8 Module > A := Matrix(,); A := > A[,] := : A[,] := 8: > A; > B := Matrix(,,fill=/); B := 0 0 0 0 0 0 0 0 0 0 8 > C := Matrix(,,[[,],[],[,]],fill=); C := fill Als we in het Matrix-commando alleen de afmeting aangeven, dan wordt het automatisch een nulmatrix. De waarden die van 0 verschillen, kunnen we dan later toevoegen. Met de optie fill kunnen we de matrix ook met andere waarden vullen. Als we wél de afmeting van een matrix geven, maar hem onvolledig vullen, dan vult Maple hem automatisch verder op met nullen, of met de waarde die we met een fill-optie meegeven.. Matrices samenstellen, submatrices Rijen of kolommen selecteren. Zoals MetA[i,j] het (i, j) de element van matrix A wordt geselecteerd, kan met A[i..j,k..l] een submatrix van A worden gemaakt, bestaande uit: van rij i t/m j, de k de t/m de l de kolom. Het nummer van het laatste element van een rij of kolom kunnen we altijd met aangeven, het één na laatste element met, enzovoort.

maplev 00// :0 page 9 Vectoren en matrices > A := <,-,,0; 0,,-8,; -,,9,->; A := De tweede kolom van A krijgen we met > A[..-, ]; en de derde rij: > A[,..-]; 0 0 8 9 [,, 9, ] Uiteraard hadden we ook A[..,], respectievelijk A[,..] kunnen doen. Samenstellen van matrices. Vaak zal men een aangevulde matrix willen maken: A a is de matrix A, met een vector b als laatste kolom toegevoegd. In het volgende voorbeeld is A dezelfde als in het vorige voorbeeld. > A := <,-,,0; 0,,-8,; -,,9,->: Een kolomvector: > b := <,-,>; > Aa := <A b>; Een rijvector > c := < >; > <A,c>; b := 0 0 8 9 c := [,,, ]

maplev 00// :0 page 8 0 8 Module Andere mogelijkheid > <A b A>; 0 0 8 9 0 0 0 8 0 8 9 9 Met behulp van <....> en <..,..> kunnen we willekeurig matrices en vectoren aan elkaar plakken, mits de afmetingen kloppen, natuurlijk.. Speciale matrices shape Indexfuncties. Soms kan van een matrix A het element a ij uit i en j worden berekend. We noemen het voorschrift f, zodat f(i, j) = a ij een indexfunctie. Hij kan als derde argument aan een Matrixcommando worden meegegeven. Een bestaat ook een aantal standaardindexfuncties. Deze worden in de vorm van een shape-optie aan Matrix doorgegeven. > A := Matrix(,, (i,j) -> x^abs(i-j) ); Diagonaalmatrix A := x x x x x x x x x > B := Matrix( <,,>, shape=diagonal ); 0 0 B := 0 0 0 0 > B[,] := 9; Error, attempt to assign non-zero to off-diagonal entry of a diagonal Matrix

maplev 00// :0 page 9 Vectoren en matrices 9 Eenheidsmatrix > I := Matrix(, shape=identity ); Een symmetrische matrix I := 0 0 0 0 0 0 > C := Matrix(, shape=symmetric ); C := > C[,] := : C[,] := -: C; 0 0 0 0 0 0 0 0 0 0 0 0 0 0 > S := Matrix( [[],[,],[,,]], shape=symmetric ); S := De -matrix A is gedefinieerd door a ij = x i j. Als we een diagonaalmatrix definiëren met shape=diagonal, dan is het niet zonder meer mogelijk er een ander soort matrix van te maken. Als men dat zou willen, dan zou er bijvoorbeeld een nulmatrix van de juiste afmetingen bij opgeteld kunnen worden. De symmetrische matrix C zonder verdere gegevens wordt uiteraard aanvankelijk een nulmatrix. Als c daarna een waarde krijgt, dan krijgt c automatisch dezelfde waarde. Als we hem in één keer willen vullen, dan hoeven we alleen de onderdriehoeksmatrix op te geven: van de eerste rij alleen het eerste element, van de tweede rij de eerste twee, enzovoort. Matrices maken met LinearAlgebra-commando s. De bibliotheek LinearAlgebra bevat een verontrustend groot aantal procedures. Informatie daarover krijgt u natuurlijk via?linearalgebra, maar het volgende is vaak ook handig. Als u de bibliotheek laadt, en with(linearalgebra) met een puntkomma afsluit (inplaats van de dubbele punt), dan krijgt u een lijst van alle beschikbare procedures. Als u de naam van de procedure waar u meer van wilt weten met de muis selekteert, dan krijgt u die informatie door op [F] te drukken. Met LinearAlgebra zijn onder andere de volgende soorten matrices gemakkelijk te maken:

maplev 00// :0 page 0 0 Module IdentityMatrix UnitVector DiagonalMatrix RandomMatrix Eenheidsmatrices met IdentityMatrix De eenheidsvector e i R n krijgt men met het commando UnitVector(i,n) als kolomvector. Net als een eenheidsmatrix kan deze niet zonder meer veranderd worden. Diagonaalmatrices met DiagonalMatrix. Van een met DiagonalMatrix gemaakte matrix kunnen wél de elementen buiten de diagonaal worden veranderd. Een willekeurige matrix (of vector) met RandomMatrix (of RandomVector), handig om iets uit te testen. > with(linearalgebra): Eenheidsmatrix: > I := IdentityMatrix(); I := > A := DiagonalMatrix([,,]); A := 0 0 0 0 0 0 0 0 0 0 0 0 Dit commando kan ook worden gebruikt om matrices te maken met blokken op de diagonaal (die niet per se vierkant hoeven te zijn), bijvoorbeeld > B := DiagonalMatrix([,,<,,;,8,9;0,,>,<,,>]); B := > C := RandomMatrix(,); 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C := 99 9 9 > RandomMatrix(,, generator=-..9 );

maplev 00// :0 page Vectoren en matrices Met de optie generator in RandomMatrix kan men aangeven tussen welke grenzen de elementen moeten worden gekozen.. Bewerkingen met matrices Dimension Afmetingen van matrices en vectoren. Met Dimension krijgen we de afmeting van een vector of matrix; als A een matrix is, dan geeft Dimension(A) twee getallen, namelijk respectievelijk het aantal rijen en kolommen. Desnoods kunt u met RowDimension of ColumnDimension afzonderlijk het aantal rijen of kolommen opvragen.! RowDimension(A) geeft dus niet de dimensie van de rijruimte van A, zie hiervoor Module. > with(linearalgebra): > A := <<,0,-> <-,,> <,-8,9> <0,,->>: > k,n := Dimension(A); De tweede rij van A: > b := A[,..-]: > Dimension(b); k, n :=,. Optelling, vermenigvuldiging. Voor het optellen van matrices of vectoren kunnen we de gewone + gebruiken. De scalaire vermenigvuldiging, dus vermenigvuldiging van een matrix of vector met een getal, gaat met het symbool *. Omdat de matrixvermenigvuldiging niet commutatief is (dat wil zeggen dat in het algemeen AB BA als A en B matrices zijn) wordt hiervoor een speciaal symbool gebruikt, namelijk de gewone punt (. ). De uitdrukking (A + B + CD)x, met A, B, C, D matrices en x een vector (alle van geschikte dimensies) wordt dan in Maple (A + *B + C. D). x;

maplev 00// :0 page Module Voorbeeldopgave Bereken (B + A)x met [ ] A =, B = [ ], x = [ ] > A,B := Matrix([[,],[,]]), Matrix([[,],[,]]); A, B :=, > x := <,>; > C := (B+*A).x; x := C := 8 Als A een vierkante matrix is, dan geeft A inplaats van A.A.A ook het gewenste resultaat. Elementaire rij- en kolomoperaties. Maple kent voor de elementaire rij- en kolomoperaties de procedures RowOperation en RowOperation ColumnOperation ColumnOperation. Ze werken als volgt (A is een matrix): inplace Optellen van p keer de k de rij bij de i de rij van A: RowOperation(A, [i,k], p ) Vermenigvuldiging van de k de rij met p: RowOperation(A, k, p ) Verwisseling van de k de rij met de i de rij RowOperation(A, [i,k] ) Iets dergelijks geldt uiteraard voor kolomoperaties. De procedure RowOperation kent nog een interessante extra optie, namelijk inplace. Met deze optie worden de wijzigingen direct in de matrix A doorgevoerd; als hij wordt weggelaten, dan verandert A niet door een RowOperation-opdracht. > with(linearalgebra): > A := <<0,,,,> <0,8,,,> <0,8,-,,> <,-,-,-,> <-,,9,,>>;

maplev 00// :0 page Vectoren en matrices > B := Copy(A): Verwissel rij met rij : A := > RowOperation(B, [,], inplace ); Deel rij door : 0 0 0 8 8 9 8 8 9 0 0 0 > RowOperation(B,, /, inplace ); Tel het -voud van rij op bij rij : 8 8 9 0 0 0 > RowOperation(B, [,], -, inplace ); > A,B; 0 0 0 8 8 9 8 8 9 0 0 0 0, 8 8 9 0 0 0 0 In. wordt uitgelegd waarom B:=Copy(A) nodig is, inplaats van B:=A om een nieuwe matrix B te maken, die gelijk is aan de (oorspronkelijke) matrix A. Door steeds inplace te kiezen, zorgen we ervoor dat alle veranderingen direct in B worden bijgehouden. Overigens kunnen elementaire rijoperaties ook mooi worden uitgevoerd met een tutor: Tools Tutors Linear Algebra Gaussian Elimination.

maplev 00// :0 page Module. Substitutie in matrices; vergelijken en kopiëren van matrices Een matrix (of vector) hoeft niet alleen getallen bevatten, er mogen nog allerlei variabelen in voorkomen. Omdat deze variabelen min of meer verborgen kunnen raken, kan dit aanleiding geven tot onverwachte complicaties. > A := <,;,>; > B := A: > B[,] := : > A; A := Nu is A, ook veranderd! > restart; > A := <,;,>: > B := LinearAlgebra:-Copy(A): > B[,] := : > A,B;, > restart; > A := <a,b;c,d>: > a := : A; b > a := 9: A; c d 9 b > B := subs( {b=}, A ); > A; is ongewijzigd c d 9 B := c d Vergelijkbaar met als f := x ->... gedefinieerde functies; zie..

maplev 00// :0 page Vectoren en matrices 9 b c d > b := : B; is nu onafhankelijk van de waarde van b 9 c d Copy Equal In de eerste plaats constateren we hier het merkwaardige verschijnsel, dat als we een nieuwe matrix B, gelijk aan A maken, dat de veranderingen die we in B aanbrengen, óók in A doorwerken. Dat komt omdat met B := A in feite helemaal geen nieuwe matrix wordt gemaakt! Maple onthoudt alleen dat het de matrix A moet gebruiken als om B wordt gevraagd. Met het Copy-commando (uit de LinearAlgebra-bibliotheek) wordt wél een geheel nieuwe matrix aangemaakt, met dezelfde inhoud als A. Als een matrix variabelen bevat, kunnen er vergelijkbare dingen gebeuren. Het veiligste is om altijd expliciet waarden voor de variabelen te substitueren. De oorspronkelijke matrix blijft dan in elk geval ook intact. Gelijkheid van matrices of vectoren. Een dergelijk probleem bestaat als we willen controleren of twee matrices (of vectoren) aan elkaar gelijk zijn. Het commando is(a=b) of evalb(a=b) geeft altijd false als A en B matrices of vectoren zijn. Speciaal voor vectoren en matrices bevat LinearAlgebra daarom de procedure Equal. Het moet worden gebruikt als (dus niet als Equal(A=B)). Equal(A,B) Vergelijkingen met matrices of vectoren. Als we bijvoorbeeld α en β zouden willen oplossen uit de vergelijking αv +βv = a, met v, v en a gegeven vectoren, dan kan dat niet (direct) met solve. Voorbeeldopgave Gegeven: v = [ ], v = [ ], a = Bepaal α en β uit de vergelijking αv + βv = a. [ ].

maplev 00// :0 page 8 Module > v := <,>: v := <,>: a := <,>: > vgl := alpha*v + beta*v = a; α + β vgl := = α + β > solve(vgl, {alpha,beta} ); Error, invalid input: solve expects its st argument, eqs, to be of type { and, not, or, algebraic, relation(algebraic), ({set, list})({ and, not, or, algebraic, relation(algebraic)})}, but received (Vector(, {() = *alpha+*beta, () = alpha+*beta})) = (Vector(, {() =, () = })) Op nul herleiden: > vgl := alpha*v + beta*v - a; α + β vgl := α + β > stelsel := convert(vgl,set); stelsel := {α + β,α + β } > s := solve( stelsel, {alpha,beta} ); j s := α =, β = ff Controle > subs( s, alpha*v + beta*v ); Alternatief: > vgl := zip( =, alpha*v + beta*v, a ); α + β = vgl := α + β = > solve( convert(vgl,set), {alpha,beta} ); j α = ff, β = Bij een vergelijking met vectoren moet u dus eerst alles op 0 (nulvector of -matrix) herleiden (zodat de vergelijkingen geen rechterlid meer nodig hebben), en daarna naar een verzameling converteren. Dat hoeft niet per se, met een zip-commando kun je ook van een vergelijking van vectoren een vector van vergelijkingen maken.

maplev 00// :0 page 9 Vectoren en matrices Zie verder Module voor een andere aanpak van dergelijke stelsels lineaire vergelijkingen.. Inproduct en norm Inproduct. Ook voor het inproduct v w van twee vectoren v en w kan de gewone punt worden gebruikt. > v,w := <,>, <,>; v, w := Het inproduct van twee vectoren: > v.w;, Nog eens inproduct: > v := <a,b>: w := <p,q>: > v.w; a p + b q Maple veronderstelt dat a, b, p en q complex zijn. Het gebruik van RealDomain helpt niet: > use RealDomain in v.w end use; maar de assume-faciliteit wel: > v.w assuming real; a p + b q p a + q b Andere mogelijkheid: matrixproduct van een rijvector en een kolomvector > v^%t.w; geeft inderdaad het reële inproduct. Andersom: > v.w^%t; > v*w; p a + q b p a b p a q q b Error, (in rtable/product) invalid arguments

maplev 00// :0 page 8 80 8 Module Norm Normalize Als in de vectoren namen voorkomen in plaats van getallen blijkt dat Maple een vector(n) niet als element van R n, maar als element van C n opvat. Als we ervan verzekerd willen zijn dat het reële inproduct wordt berekend, dan moeten we expliciet vermelden dat alle gebruikte variabelen reëel verondersteld worden. Een ander mogelijkheid is om het matrixproduct v T w te berekenen, waarbij de rijvector v T als n-matrix wordt opgevat. De gewone vermenigvuldigingsoperator * is uitsluitend bedoeld voor de gewone scalaire vermenigvuldiging: twee getallen, of een getal met een vector of matrix. Norm van een vector. Voor de (Euclidische) norm van vectoren kent Maple het commando Norm. Met Normalize kunnen we een vector normeren, dat wil zeggen dat alle coördinaten van v door v worden gedeeld. Normalize kan ook met de optie inplace worden gebruikt (zie blz. ). Aan het gebruik van Norm (en Normalize) zitten echter een paar haken en ogen: > with(linearalgebra): > v := <-,,>: w := <a,b,c>: > Norm(v); > Norm(w); > Norm(v,); > sqrt(v.v) - %; > vdak := Normalize(v,); Controle: vdak := max( a, b, c ) 0 / / Dit wordt gedaan om ervoor te zorgen dat ook de norm van een complexe vector een positief reëel getal blijft, zie verderop.

maplev 00// :0 page 9 8 Vectoren en matrices 9 > vdak.vdak; > w := Norm(w,); w := > w := Norm(w,,conjugate=false); q ( a ) + ( b ) + ( c ) w := p a + b + c > w := Norm(w,) assuming real; q w := ( a ) + ( b ) + ( c ) > simplify(w-w); p a + b + c q ( a ) + ( b ) + ( c ) > simplify(w-w) assuming real; 0 Bruikbaar is ook (vooral als alle w i 0): > Norm(w,); a + b + c Voor de gewone norm in R n hebben we Norm(v,) nodig. Zonder tweede argument berekent Norm(v) de grootste absolute waarde van de coördinaten. Ook in het complexe geval geldt v = v v. Om aan te geven dat eventueel gebruikte variabelen reëel verondersteld worden kunnen we de optie conjugate=false gebruiken; assuming real werkt hier niet. Met Norm(w,) wordt n i= w i berekend. Als alle elementen van w positief zijn, kun je dat gebruiken om w zó te schalen dat de som van de elementen gelijk aan wordt.. Overige berekeningen Determinant Trace Er is nog een aantal berekeningen met matrices en vectoren die iets minder toelichting behoeven. We sommen ze hier op (A is een vierkante matrix, en v en w zijn vectoren): De determinant van A: Determinant(A) Het spoor van A: Trace(A) (dit is de som van de diagonaalelementen) De als tweede argument slaat op het feit dat de tweedemachtswortel van de som van de kwadraten genomen moet worden.

maplev 00// :0 page 80 8 80 Module MatrixInverse &x De inverse matrix van A: MatrixInverse(A) De inverse kan ook met A (-) worden berekend. Het vectorproduct (of uitproduct) v v van de vectoren v en w R wordt berekend als v &x w. Diagonal Opgave. Als A een (vierkante) matrix is, dan geeft Diagonal(A) (in de bibliotheek LinearAlgebra) de kolomvector, bestaande uit de elementen van de hoofddiagonaal van A, dus a, a,..., a nn ). Gebruik dit om van een willekeurige vierkante matrix (gemaakt met RandomMatrix) een diagonaalmatrix te maken met dezelfde hoofddiagonaal als A. Opgave. De parametervoorstelling van een vlak is r = a + αu + βv, α, β R, x waarbij a,u en v gegeven vectoren zijn, en r = y de plaatsvector z van een punt in het vlak is. Elimineer α en β uit de parametervoorstelling om een vergelijking voor het vlak te vinden, als gegeven is: Opgave. a =, u =, v = Bepaal de afstand en de hoek tussen de vectoren v en w waarbij (a) v = (,,, ) en w = (,, 0, ); (b) v = (0,,,, 0) en w = (,, 0, 0, ). Opgave. Bepaal alle vectoren u = (u, u, u, u ) R die een hoek van π of π maken met de vector (0,, 0, ) door een vergelijking te geven in de componenten van u..

maplev 00// :0 page 8 8 Vectoren en matrices 8 Opgave. Gebruik Maple om te bewijzen dat voor alle u,v,w R geldt: (a) u (v w) = (u v) w ; (b) u (v w) = (u w)v (u v)w. Aanwijzing: Definieer u := <u,u,u>: enzovoort. Opgave. [ ] (a) A =. Bereken de matrix A A I. 0 (b) B = 0. Bepaal α zo dat (B I )(B B + I ) de 0 0 α nulmatrix is. Opgave. Gegeven is dat A een n n-matrix is. Bereken de determinant van de matrix A λi n en verifieer dat deze een polynoom van de graad n in λ is. (Maak voor verschillende waarden van n een aantal verschillende random-matrices A.) Opgave.8 C[0, π] is de verzameling van continue functies op het interval [0, π]. In C[0, π] is een inwendig product gedefinieerd door f g = π π 0 f(x)g(x) dx. Verder is gegeven de verzameling S van functies in C[0, π] door { } S =, sin(x), cos(x), sin(x), cos(x). Laat zien dat voor alle functies in S geldt dat f g = 0 als f g en f f =. Doe dit door een matrix te construeren met het (i, j)-de element het inproduct van de i de en j de functie uit S.

maplev 00// :0 page 8 8