CS 303 Lab 1 - Affine and Hill Cyphers Jeremy Johnson In this lab students will 1) familiarize themselves with Maple and the Maple programming language, 2) review simple substitution cyphers based on cyclic shift [Caesar cypher], and 3) introduce generalizations to the Caesar shift. In particular, we will introduce affine cyphers and an encryption technique due to the Mathematician Lester Hill which uses matrices. Students will implement encryption and decryption procedures using affine and Hill cyphers. After implementing these cyphers students will be given two challenges to break cyphers based on the Hill cypher. One challege is to decrypt a message given that the encryption device has been obtained. The second challenge is to decrypt a message given that several previous messages, both the plaintext and cyphertext, have been intercepted. In order to understand the encryption techniques in this lab, we need to review modular arithmetic and some linear algebra. Thus this lab has the further goal of reviewing some mathematics that are useful tools for cryptography and cryptanalysis and to illustrate a more mathematical approach to the subject. This lab is intended to help students learn the material covered in class, learn Maple, and is not intended to be handed in. Nonetheless, students should spend time going through the material and be prepared to ask and answer questions in class. Such discussion is required to obtain full credit for the participation component of the course grade. restart;
<Text-field style="Heading 1" layout="Heading 1">List Processing</Text-field> The following examples illustrate list processing in Maple. A Maple list is enclosed in square brackets and if the list is not empty, denoted by [], then it contains a sequence of elements separated by commas. Comma is also used for concatenation of sequences and op(L) is used to obtaine the sequence of elements in a non-empty list L. Lists can have arbitrary Maple objects as elements including lists themselves. restart; Checking if a Maple expression is a list. L := [1,2,3,4]; NyYiIiIiIiMiIiQiIiU= type(L,list); SSV0cnVlRyUqcHJvdGVjdGVkRw== type(1,list); SSZmYWxzZUclKnByb3RlY3RlZEc= Number of elements in a list. nops(L); IiIl nops([]); IiIh Obtaining the elements of a non-empty list. op(L); NiYiIiIiIiMiIiQiIiU= First element and the rest of the list. L[1]; IiIi L[2..nops(L)]; NyUiIiMiIiQiIiU= L[2..-1]; NyUiIiMiIiQiIiU= Constructing lists, prepend, append, and concatenation. S := seq(i,i=5..8); NiYiIiYiIiciIigiIik= M := [S]; NyYiIiYiIiciIigiIik= L := [0,op(L)]; NyciIiEiIiIiIiMiIiQiIiU= M := [op(M),9]; NyciIiYiIiciIigiIikiIio= LM := [op(L),op(M)]; NywiIiEiIiIiIiMiIiQiIiUiIiYiIiciIigiIikiIio= L := []; NyI= for i from 1 to 8 do L := [op(L),i]; end do; NyMiIiI= NyQiIiIiIiM= NyUiIiIiIiMiIiQ= NyYiIiIiIiMiIiQiIiU= NyciIiIiIiMiIiQiIiUiIiY= NygiIiIiIiMiIiQiIiUiIiYiIic= NykiIiIiIiMiIiQiIiUiIiYiIiciIig= NyoiIiIiIiMiIiQiIiUiIiYiIiciIigiIik= M := []; NyI= Higher order lists. for j from 1 to 8 do M := [L,op(M)]; end do; NyM3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKQ== NyQ3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYj NyU3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiM= NyY3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiNGIw== Nyc3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiNGI0Yj Nyg3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiNGI0YjRiM= Nyk3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiNGI0YjRiNGIw== Nyo3KiIiIiIiIyIiJCIiJSIiJiIiJyIiKCIiKUYjRiNGI0YjRiNGI0Yj nops(M); IiIp ListTools package. with(ListTools); NzpJLEJpbmFyeVBsYWNlRzYiSS1CaW5hcnlTZWFyY2hHRiRJK0NhdGVnb3JpemVHRiRJK0RvdFByb2R1Y3RHRiRJKkVudW1lcmF0ZUdGJEkwRmluZFJlcGV0aXRpb25zR0YkSShGbGF0dGVuR0YkSSxGbGF0dGVuT25jZUdGJEkmR3JvdXBHRiRJK0ludGVybGVhdmVHRiRJJUpvaW5HRiRJLUpvaW5TZXF1ZW5jZUdGJEksTGVuZ3RoU3BsaXRHRiRJK01ha2VVbmlxdWVHRiRJLE9jY3VycmVuY2VzR0YkSSRQYWRHRiRJLFBhcnRpYWxTdW1zR0YkSShSZXZlcnNlR0YkSSdSb3RhdGVHRiRJJ1NlYXJjaEdGJEkqU2VhcmNoQWxsR0YkSSdTb3J0ZWRHRiRJJlNwbGl0R0YkSSpUcmFuc3Bvc2VHRiQ= Reverse(L); NyoiIikiIigiIiciIiYiIiUiIiQiIiMiIiI= Flatten(M); N1xvIiIiIiIjIiIkIiIlIiImIiInIiIoIiIpRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKg== Recursive implementation of Flatten - recurse on first element and the rest of the list. MyFlatten := proc(L) local L1, M; if (not type(L,list)) then return L; elif (L = []) then return L; else L1 := L[1]; M := L[2..-1]; return [op(MyFlatten(L1)),op(MyFlatten(M))]; end if; end; Zio2I0kiTEc2IjYkSSNMMUdGJUkiTUdGJUYlRiVAJzQtSSV0eXBlRyUqcHJvdGVjdGVkRzYkRiRJJWxpc3RHRi1PRiQvRiQ3IkYwQyU+RicmRiQ2IyIiIj5GKCZGJDYjOyIiIyEiIk83JC1JI29wR0YtNiMtSSpNeUZsYXR0ZW5HRiU2I0YnLUZBNiMtRkQ2I0YoRiVGJUYl MyFlatten(M); N1xvIiIiIiIjIiIkIiIlIiImIiInIiIoIiIpRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKg== MyFlatten2 := proc(L) local i,F; if (not type(L,list)) then return L; else F := []; for i from 1 to nops(L) do F := [op(F),op(MyFlatten2(L[i]))]; end do; return ListTools:-Reverse(F); end if; end; Zio2I0kiTEc2IjYkSSJpR0YlSSJGR0YlRiVGJUAlNC1JJXR5cGVHJSpwcm90ZWN0ZWRHNiRGJEklbGlzdEdGLU9GJEMlPkYoNyI/KEYnIiIiRjUtSSVub3BzR0YtRiNJJXRydWVHRi0+Rig3JC1JI29wR0YtNiNGKC1GPDYjLUkrTXlGbGF0dGVuMkdGJTYjJkYkNiNGJ08tX0kqTGlzdFRvb2xzRzYkRi1JKF9zeXNsaWJHRiVJKFJldmVyc2VHRiVGPUYlRiVGJQ== MyFlatten2(M); N1xvIiIiIiIjIiIkIiIlIiImIiInIiIoIiIpRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKkYjRiRGJUYmRidGKEYpRipGI0YkRiVGJkYnRihGKUYqRiNGJEYlRiZGJ0YoRilGKg==
<Text-field style="Heading 1" layout="Heading 1">Encoding/Decoding</Text-field> The functions in this section can be used to numerically encode and decode strings. Letters are mapped to the index that they occur in the alphabet. with(StringTools): Letter2Number := proc(str,Convert) local i, L; L := []; for i from StringTools:-Length(str) by -1 to 1 do L := [Convert[str[i]],op(L)]; end do; return L; end; Zio2JEkkc3RyRzYiSShDb252ZXJ0R0YlNiRJImlHRiVJIkxHRiVGJUYlQyU+Rik3Ij8oRigtX0ksU3RyaW5nVG9vbHNHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiVJJ0xlbmd0aEdGJTYjRiQhIiIiIiJJJXRydWVHRjI+Rik3JCZGJjYjJkYkNiNGKC1JI29wR0YyNiNGKU9GKUYlRiVGJQ== Number2Letter := proc(L,alphabet) local i, str; str := ""; for i from 1 to nops(L) do str := cat(alphabet[L[i]+1],str); end do; return StringTools:-Reverse(str); end; Zio2JEkiTEc2IkkpYWxwaGFiZXRHRiU2JEkiaUdGJUkkc3RyR0YlRiVGJUMlPkYpUSFGJT8oRigiIiJGLi1JJW5vcHNHJSpwcm90ZWN0ZWRHNiNGJEkldHJ1ZUdGMT5GKS1JJGNhdEdGMTYkJkYmNiMsJiZGJDYjRihGLkYuRi5GKU8tX0ksU3RyaW5nVG9vbHNHNiRGMUkoX3N5c2xpYkdGJUkoUmV2ZXJzZUdGJTYjRilGJUYlRiU= alphabet := cat(Iota("a".."z")," "); UTxhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5en42Ig== Convert := table(); PTYiSSZmYWxzZUclKnByb3RlY3RlZEdFXFtsIQ== for i from 1 to Length(alphabet) do Convert[alphabet[i]] := i-1; end do: lstr := "once upon a time you dressed so fine you through the bums a dime in your prime didnt you"; UWRwb25jZX51cG9ufmF+dGltZX55b3V+ZHJlc3NlZH5zb35maW5lfn55b3V+dGhyb3VnaH50aGV+YnVtc35hfmRpbWV+aW5+eW91cn5wcmltZX5kaWRudH55b3U2Ig== L := Letter2Number(lstr,Convert); N2VwIiM5IiM4IiIjIiIlIiNFIiM/IiM6RiNGJEYnIiIhRiciIz4iIikiIzdGJkYnIiNDRiNGKEYnIiIkIiM8RiYiIz1GMUYmRi9GJ0YxRiNGJyIiJkYsRiRGJkYnRidGLkYjRihGJ0YrIiIoRjBGI0YoIiInRjNGJ0YrRjNGJkYnIiIiRihGLUYxRidGKkYnRi9GLEYtRiZGJ0YsRiRGJ0YuRiNGKEYwRidGKUYwRixGLUYmRidGL0YsRi9GJEYrRidGLkYjRig= Number2Letter(L,alphabet); UWRwb25jZX51cG9ufmF+dGltZX55b3V+ZHJlc3NlZH5zb35maW5lfn55b3V+dGhyb3VnaH50aGV+YnVtc35hfmRpbWV+aW5+eW91cn5wcmltZX5kaWRudH55b3U2Ig==
<Text-field style="Heading 1" layout="Heading 1">Question 1 [Blocking]</Text-field> Write a Maple function which takes as input a list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JKG1mZW5jZWRHRiQ2Ji1GIzYpLUklbXN1YkdGJDYlLUYsNiVRImxGJ0YvRjItRiM2JC1JI21uR0YkNiRRIjFGJ0Y5RjkvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZOUSwwLjMzMzMzMzNlbUYnLUY2Ni1RIy4uRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmJvLUY2Ni1RIi5GJ0Y5RjtGPkZARkJGREZGRkhGYW9Gam9GXW8tRlU2JUZXLUYjNiQtRiw2JVEibkYnRi9GMkY5RmpuRjlGOS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Y5 and a blocking factor LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5and returns a list of lists LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNiktSSVtc3ViR0YkNiUtSSNtaUdGJDYlUSJMRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiQtSSNtbkdGJDYkUSIxRicvRjtRJ25vcm1hbEYnRkMvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JI21vR0YkNi1RIixGJ0ZDLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y5LyUpc3RyZXRjaHlHRk4vJSpzeW1tZXRyaWNHRk4vJShsYXJnZW9wR0ZOLyUubW92YWJsZWxpbWl0c0dGTi8lJ2FjY2VudEdGTi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUZJNi1RIy4uRidGQ0ZML0ZQRk5GUUZTRlVGV0ZZL0ZmblEsMC4yMjIyMjIyZW1GJy9GaW5GZ24tRkk2LVEiLkYnRkNGTEZeb0ZRRlNGVUZXRllGZW5GYW9GSC1GMTYlRjMtRiM2JC1GNDYlUSJ0RidGN0Y6RkNGRUZDRkMvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGSEZD where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEidEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JKG1mZW5jZWRHRiQ2Ji1GIzYkLUkmbWZyYWNHRiQ2KC1GLDYlUSJuRidGL0YyLUYjNiQtRiw2JVEiYkYnRi9GMkY5LyUubGluZXRoaWNrbmVzc0dRIjFGJy8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0Zeby8lKWJldmVsbGVkR0Y9RjlGOS8lJW9wZW5HUSgmbGNlaWw7RicvJSZjbG9zZUdRKCZyY2VpbDtGJy1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZOUSwwLjMzMzMzMzNlbUYnRjk= the length of the list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== is LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= except for possibly the last list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRInRGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== whose length LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRInRGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== may be less than LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSJ+RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZPRjk=The elements in list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== are the first LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ== the elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== are the second LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ== and so on, with LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRInRGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== containing the last LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRInRGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSJ+RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZXRj0=elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5 For example, if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JKG1mZW5jZWRHRiQ2Ji1GIzY2LUkjbW5HRiQ2JFEiMUYnRjktRjY2LVEiLEYnRjlGOy9GP0YxRkBGQkZERkZGSC9GS1EmMC4wZW1GJy9GTlEsMC4zMzMzMzMzZW1GJy1GVTYkUSIyRidGOUZYLUZVNiRRIjNGJ0Y5RlgtRlU2JFEiNEYnRjlGWC1GVTYkUSI1RidGOUZYLUZVNiRRIjZGJ0Y5RlgtRlU2JFEiN0YnRjlGWC1GVTYkUSI4RidGOUZYLUZVNiRRIjlGJ0Y5RlgtRlU2JFEjMTBGJ0Y5RjlGOS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJy1GNjYtUSJ+RidGOUY7Rj5GQEZCRkRGRkZIRmZuL0ZORmduRjk=and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIjNGJ0Y5LUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkgvRktRJjAuMGVtRicvRk5RLDAuMzMzMzMzM2VtRictRjY2LVEifkYnRjlGO0Y+RkBGQkZERkZGSEZXL0ZORlhGOQ==theoutput should be M=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNiotRiw2Ji1GIzYoLUkjbW5HRiQ2JFEiMUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0Y4LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR1EldHJ1ZUYnLyUpc3RyZXRjaHlHRkEvJSpzeW1tZXRyaWNHRkEvJShsYXJnZW9wR0ZBLyUubW92YWJsZWxpbWl0c0dGQS8lJ2FjY2VudEdGQS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUY1NiRRIjJGJ0Y4RjstRjU2JFEiM0YnRjhGOEY4LyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRjstRiw2Ji1GIzYoLUY1NiRRIjRGJ0Y4RjstRjU2JFEiNUYnRjhGOy1GNTYkUSI2RidGOEY4RjhGZW5GaG5GOy1GLDYmLUYjNigtRjU2JFEiN0YnRjhGOy1GNTYkUSI4RidGOEY7LUY1NiRRIjlGJ0Y4RjhGOEZlbkZobkY7LUYsNiYtRiM2JC1GNTYkUSMxMEYnRjhGOEY4RmVuRmhuRjhGOEZlbkZobi1GPDYtUSIuRidGOEY/L0ZDRkFGRUZHRklGS0ZNRk8vRlNGUUY4 Write a second function which inverts this blocking. For example, if the input to this function is the list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ==then the output should be the list LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5 restart;
<Text-field style="Heading 1" layout="Heading 1">Extended Euclidean Algorithm</Text-field> It is always possible to find integersLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJ0YvLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDRi8=and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDRi8=such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImFGJ0YvRjItRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZWLUYsNiVRInlGJ0YvRjJGNS1GLDYlUSJiRidGL0YyLUY2Ni1RIj1GJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjc3Nzc3OGVtRicvRk5GXG8tRiw2JVEkZ2NkRicvRjBGPUY5LUkobWZlbmNlZEdGJDYkLUYjNiZGTy1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIRkovRk5RLDAuMzMzMzMzM2VtRidGZW5GOUY5LUY2Ni1RIi5GJ0Y5RjtGPkZARkJGREZGRkhGSkZNRjk= First we give a non-constructive proof, i.e. a proof that says it is possible to find LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ== but does not show how to find them. Then we show a simple modification to the Euclidean algorithm that computes them. Before giving the proofs, we show the Maple command to find LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYvUSRhbmRGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRlVGO0Y+RkBGQkZERkZGSEZKRk1GNS1GLDYlUSJ5RidGL0YyLUY2Ni1RIi5GJ0Y5RjtGPkZARkJGREZGRkhGSkZNRjk= restart; a := 4; b := 15; IiIl IiM6 igcd(a,b); IiIi x := 'x'; y := 'y'; SSJ4RzYi SSJ5RzYi igcdex(a,b,x,y); IiIi x;y; IiIl ISIi a*x+b*y; IiIi Let LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEnJiM5MjM7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIj1GJ0YyLyUmZmVuY2VHRjEvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGMS8lKnN5bW1ldHJpY0dGMS8lKGxhcmdlb3BHRjEvJS5tb3ZhYmxlbGltaXRzR0YxLyUnYWNjZW50R0YxLyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGSS1JKG1mZW5jZWRHRiQ2Ji1GIzYyLUYsNiVRInhGJy9GMFEldHJ1ZUYnL0YzUSdpdGFsaWNGJy1GNjYtUScmc2RvdDtGJ0YyRjlGO0Y9Rj9GQUZDRkUvRkhRJjAuMGVtRicvRktGZm4tRiw2JVEiYUYnRlRGVi1GNjYtUSIrRidGMkY5RjtGPUY/RkFGQ0ZFL0ZIUSwwLjIyMjIyMjJlbUYnL0ZLRl9vLUYsNiVRInlGJ0ZURlZGWC1GLDYlUSJiRidGVEZWLUY2Ni1RIn5GJ0YyRjlGO0Y9Rj9GQUZDRkVGZW5GZ24tRjY2LVEiOkYnRjJGOUY7Rj1GP0ZBRkNGRUZHRkpGUS1GNjYtUSIsRidGMkY5L0Y8RlVGPUY/RkFGQ0ZFRmVuL0ZLUSwwLjMzMzMzMzNlbUYnRmFvRmdvLUY2Ni1RJSZpbjtGJ0YyRjlGO0Y9Rj9GQUZDRkVGR0ZKLUYsNiVRKCYjODQ4NDtGJ0ZURlZGMkYyLyUlb3BlbkdRInxmckYnLyUmY2xvc2VHUSJ8aHJGJ0ZdcEYy and let LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5be the smallest postive element of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEnJiM5MjM7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIi5GJ0YyLyUmZmVuY2VHRjEvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGMS8lKnN5bW1ldHJpY0dGMS8lKGxhcmdlb3BHRjEvJS5tb3ZhYmxlbGltaXRzR0YxLyUnYWNjZW50R0YxLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGSS1GNjYtUSJ+RidGMkY5RjtGPUY/RkFGQ0ZFRkdGSkZMRjI=We claim that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RInxnckYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjExMTExMTFlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImFGJ0YvRjItRjY2LVEifkYnRjlGO0Y+L0ZBRj1GQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZXRjk=and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RInxnckYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjExMTExMTFlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImJGJ0YvRjItRjY2LVEiLkYnRjlGO0Y+L0ZBRj1GQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZXLUY2Ni1RIn5GJ0Y5RjtGPkZVRkJGREZGRkhGVkZYRllGOQ==Divide LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ==and if the remainder is non-trivial, we obtain a smaller element LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJhRidGL0YyLUY2Ni1RKCZtaW51cztGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GVi1GLDYlUSJxRidGL0YyLUY2Ni1RJyZzZG90O0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZpbi1GLDYlUSJkRidGL0YyLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkhGaG5Gam5GOQ==of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEnJiM5MjM7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIixGJ0YyLyUmZmVuY2VHRjEvJSpzZXBhcmF0b3JHUSV0cnVlRicvJSlzdHJldGNoeUdGMS8lKnN5bW1ldHJpY0dGMS8lKGxhcmdlb3BHRjEvJS5tb3ZhYmxlbGltaXRzR0YxLyUnYWNjZW50R0YxLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjY2LVEifkYnRjJGOS9GPEYxRj5GQEZCRkRGRkZIL0ZMRkpGMg==which is a contradiction, and hence LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEickYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JI21uR0YkNiRRIzAuRidGOUY5 Similarly for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSJ+RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZPRjk=If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RInxnckYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjExMTExMTFlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImFGJ0YvRjItRjY2LVEifkYnRjlGO0Y+L0ZBRj1GQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZXRjk=and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RInxnckYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjExMTExMTFlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImJGJ0YvRjItRjY2LVEiLEYnRjlGOy9GP0YxL0ZBRj1GQkZERkZGSC9GS1EmMC4wZW1GJy9GTlEsMC4zMzMzMzMzZW1GJ0Y5then LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY9LUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1GLDYlUSJ4RidGL0YyLUY2Ni1RJyZzZG90O0YnRjlGO0Y+RkBGQkZERkZGSEZKRk0tRiw2JVEiYUYnRi9GMi1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORlxvLUYsNiVRInlGJ0YvRjJGWC1GLDYlUSJiRidGL0YyRjVGT0Y1RlVGWC1JJW1zdWJHRiQ2JS1GLDYlUSJxRidGL0YyLUYjNiQtSSNtbkdGJDYkUSIxRidGOUY5LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGWEZlbkZobkZeb0ZYLUZlbzYlRmdvLUYjNiQtRl1wNiRRIjJGJ0Y5RjlGYHBGWEZhby1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIRkovRk5RLDAuMzMzMzMzM2VtRidGOQ==and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEiZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RInxnckYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0YxLyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjExMTExMTFlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImRGJ0YvRjJGOQ==, and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEiZEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSRnY2RGJy9GMEY9RjktSShtZmVuY2VkR0YkNiQtRiM2Ji1GLDYlUSJhRidGL0YyLUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkgvRktRJjAuMGVtRicvRk5RLDAuMzMzMzMzM2VtRictRiw2JVEiYkYnRi9GMkY5RjktRjY2LVEiLkYnRjlGO0Y+RkBGQkZERkZGSEZpbi9GTkZqbkY5 Let LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYLUYsNiUtRi82JVEicUYnRjJGNUY4RkAtRkQ2LVEnJnNkb3Q7RidGPkZHRkpGTEZORlBGUkZUL0ZXUSYwLjBlbUYnL0ZaRl5vLUYsNiVGLi1GIzYkLUY7NiRRIjJGJ0Y+Rj5GQC1GRDYtUSIrRidGPkZHRkpGTEZORlBGUkZUL0ZXUSwwLjIyMjIyMjJlbUYnL0ZaRltwLUYsNiVGLi1GIzYkLUY7NiRRIjNGJ0Y+Rj5GQC1GRDYtUSIsRidGPkZHL0ZLRjRGTEZORlBGUkZURl1vL0ZaUSwwLjMzMzMzMzNlbUYnLUZENi1RIn5GJ0Y+RkdGSkZMRk5GUEZSRlRGXW9GX29GanAtRjs2JFEiMEYnRj5GanAtRkQ2LVElJmxlO0YnRj5GR0ZKRkxGTkZQRlJGVEZWRllGanBGXXAtRkQ2LVEiPEYnRj5GR0ZKRkxGTkZQRlJGVEZWRllGYG9GPg== LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYLUYsNiUtRi82JVEicUYnRjJGNUY4RkAtRkQ2LVEnJnNkb3Q7RidGPkZHRkpGTEZORlBGUkZUL0ZXUSYwLjBlbUYnL0ZaRl5vLUYsNiVGLi1GIzYkLUY7NiRRIjNGJ0Y+Rj5GQC1GRDYtUSIrRidGPkZHRkpGTEZORlBGUkZUL0ZXUSwwLjIyMjIyMjJlbUYnL0ZaRltwLUYsNiVGLi1GIzYkLUY7NiRRIjRGJ0Y+Rj5GQC1GRDYtUSIsRidGPkZHL0ZLRjRGTEZORlBGUkZURl1vL0ZaUSwwLjMzMzMzMzNlbUYnLUZENi1RIn5GJ0Y+RkdGSkZMRk5GUEZSRlRGXW9GX29GanAtRjs2JFEiMEYnRj5GanAtRkQ2LVElJmxlO0YnRj5GR0ZKRkxGTkZQRlJGVEZWRllGanBGXXAtRkQ2LVEiPEYnRj5GR0ZKRkxGTkZQRlJGVEZWRllGYG9GPg== ... LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZXLUYsNiUtRi82JVEicUYnRjJGNUY4Rj8tRkM2LVEnJnNkb3Q7RidGPUZGRklGS0ZNRk9GUUZTL0ZWUSYwLjBlbUYnL0ZZRl1vLUYsNiVGLi1GIzYmRjotRkM2LVEiK0YnRj1GRkZJRktGTUZPRlFGUy9GVlEsMC4yMjIyMjIyZW1GJy9GWUZnby1JI21uR0YkNiRRIjFGJ0Y9Rj1GP0Zjby1GLDYlRi4tRiM2JkY6RmNvLUZqbzYkUSIyRidGPUY9Rj8tRkM2LVEiLEYnRj1GRi9GSkY0RktGTUZPRlFGU0Zcby9GWVEsMC4zMzMzMzMzZW1GJy1GQzYtUSJ+RidGPUZGRklGS0ZNRk9GUUZTRlxvRl5vRmpwLUZqbzYkUSIwRidGPUZqcC1GQzYtUSUmbGU7RidGPUZGRklGS0ZNRk9GUUZTRlVGWEZqcEZdcC1GQzYtUSI8RidGPUZGRklGS0ZNRk9GUUZTRlVGWEZfb0Y9 ... LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm5GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZXLUYsNiUtRi82JVEicUYnRjJGNUY4Rj8tRkM2LVEnJnNkb3Q7RidGPUZGRklGS0ZNRk9GUUZTL0ZWUSYwLjBlbUYnL0ZZRl1vLUYsNiVGLi1GIzYmRjotRkM2LVEiK0YnRj1GRkZJRktGTUZPRlFGUy9GVlEsMC4yMjIyMjIyZW1GJy9GWUZnby1JI21uR0YkNiRRIjFGJ0Y9Rj1GP0Y9 be the remainder sequence for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYRi5GPg== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMkYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYLUYvNiVRImJGJ0YyRjUtRkQ2LVEiLkYnRj5GR0ZKRkxGTkZQRlJGVC9GV1EmMC4wZW1GJy9GWkZcby1GRDYtUSJ+RidGPkZHRkpGTEZORlBGUkZURltvRl1vRl5vRj4=If we define the cosequences JSFHLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY1LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZXLUZDNi1RIn5GJ0Y9RkZGSUZLRk1GT0ZRRlMvRlZRJjAuMGVtRicvRllGaG4tRiw2JS1GLzYlUSJxRidGMkY1RjhGPy1GQzYtUScmc2RvdDtGJ0Y9RkZGSUZLRk1GT0ZRRlNGZ25GaW4tRiw2JUYuLUYjNiZGOi1GQzYtUSIrRidGPUZGRklGS0ZNRk9GUUZTL0ZWUSwwLjIyMjIyMjJlbUYnL0ZZRmpvLUkjbW5HRiQ2JFEiMUYnRj1GPUY/RmZvLUYsNiVGLi1GIzYmRjpGZm8tRl1wNiRRIjJGJ0Y9Rj1GPy1GQzYtUSIsRidGPUZGL0ZKRjRGS0ZNRk9GUUZTRmduL0ZZUSwwLjMzMzMzMzNlbUYnRlotRiw2JUYuLUYjNiQtRl1wNiRRIjBGJ0Y9Rj1GP0ZCRlxwRmdwRlotRiw2JUYuLUYjNiRGXHBGPUY/RkJGYXFGPQ== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY3LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZXLUZDNi1RIn5GJ0Y9RkZGSUZLRk1GT0ZRRlMvRlZRJjAuMGVtRicvRllGaG4tRiw2JS1GLzYlUSJxRidGMkY1RjhGPy1GQzYtUScmc2RvdDtGJ0Y9RkZGSUZLRk1GT0ZRRlNGZ25GaW4tRiw2JUYuLUYjNidGWkY6LUZDNi1RIitGJ0Y9RkZGSUZLRk1GT0ZRRlMvRlZRLDAuMjIyMjIyMmVtRicvRllGam8tSSNtbkdGJDYkUSIxRidGPUY9Rj9GZm8tRiw2JUYuLUYjNiZGOkZmby1GXXA2JFEiMkYnRj1GPUY/LUZDNi1RIixGJ0Y9RkYvRkpGNEZLRk1GT0ZRRlNGZ24vRllRLDAuMzMzMzMzM2VtRidGWi1GLDYlRi4tRiM2JC1GXXA2JFEiMEYnRj1GPUY/RkJGYXFGZ3BGWi1GLDYlRi4tRiM2JEZccEY9Rj9GQkZccEZncEZaRj0=then it is easy to show by induction the loop invariant: LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYvLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUklbXN1YkdGJDYlLUYsNiVRInhGJ0YvRjItRiM2JC1GLDYlUSJpRidGL0YyRjkvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1GNjYtUSIrRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORltvLUYsNiVRImJGJ0YvRjJGNS1GUDYlLUYsNiVRInlGJ0YvRjJGVUZaLUY2Ni1RIj1GJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjc3Nzc3OGVtRicvRk5GaW8tRlA2JUYrRlVGWi1GNjYtUSIuRidGOUY7Rj5GQEZCRkRGRkZIRkpGTS1GNjYtUSJ+RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZgcEY5 Setting LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEiaUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJuRidGL0YyLUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GVi1JI21uR0YkNiRRIjFGJ0Y5LUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5Gam5GOQ==in the invariant implies LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUklbXN1YkdGJDYlLUYsNiVRInhGJ0YvRjItRiM2Ji1GLDYlUSJuRidGL0YyLUY2Ni1RIitGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GaG4tSSNtbkdGJDYkUSIxRidGOUY5LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGWi1GLDYlUSJiRidGL0YyRjUtRlA2JS1GLDYlUSJ5RidGL0YyRlVGXm8tRjY2LVEiPUYnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yNzc3Nzc4ZW1GJy9GTkZdcC1GLDYlUSRnY2RGJy9GMEY9RjktSShtZmVuY2VkR0YkNiQtRiM2JkYrLUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkhGSi9GTlEsMC4zMzMzMzMzZW1GJ0Zhb0Y5RjktRjY2LVEiLkYnRjlGO0Y+RkBGQkZERkZGSEZKRk1GOQ== # Extended Euclidean Algorithm. mygcdex := proc(a::nonnegint,b::nonnegint,x::name,y::name) local a1,a2,a3,x1,x2,x3,y1,y2,y3,q; a1 := a; a2 := b; x1 := 1; y1 := 0; x2 := 0; y2 := 1; while (a2 <> 0) do a3 := a1 mod a2; q := floor(a1/a2); x3 := x1 - q*x2; y3 := y1 - q*y2; a1 := a2; a2 := a3; x1 := x2; x2 := x3; y1 := y2; y2 := y3; end do; x := x1; y := y1; return a1; end; Zio2JidJImFHNiJJKm5vbm5lZ2ludEclKnByb3RlY3RlZEcnSSJiR0YmRicnSSJ4R0YmSSVuYW1lR0YoJ0kieUdGJkYtNixJI2ExR0YmSSNhMkdGJkkjYTNHRiZJI3gxR0YmSSN4MkdGJkkjeDNHRiZJI3kxR0YmSSN5MkdGJkkjeTNHRiZJInFHRiZGJkYmQyw+RjFGJT5GMkYqPkY0IiIiPkY3IiIhPkY1RkE+RjhGPz8oRiZGP0Y/RiYwRjJGQUMsPkYzLUkkbW9kR0YmNiRGMUYyPkY6LUkmZmxvb3JHRiY2IyomRjFGP0YyISIiPkY2LCZGNEY/KiZGOkY/RjVGP0ZQPkY5LCZGN0Y/KiZGOkY/RjhGP0ZQPkYxRjI+RjJGMz5GNEY1PkY1RjY+RjdGOD5GOEY5PkYsRjQ+Ri9GN09GMUYmRiZGJg== mygcdex(24,15,'x','y'); IiIk x; y; IiIj ISIk 24*x + 15*y; IiIk
<Text-field style="Heading 1" layout="Heading 1">Modular Arithmetic</Text-field> Use mod function after every arithmetic operation to always get the representative equivalent to the result mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. By default the positive representatives are used. restart; 3 + 3 mod 5; IiIi 3*3 mod 5; IiIl 1/2 mod 5; # see section on modular inverses. IiIk 3 * 2 mod 5; IiIi For the symmetric form use mods. mods(4,5); ISIi The integers mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=, denoted by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ==, is the set of equivalence classes mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. Two numbers are equivalent mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= if they differ by a multiple of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= (alternatively they have the same remainder when divided by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=). The equivalence classes mod LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= are denoted by [0], [1],...,[LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=-1], where [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] is the set of integers that have the same remainder as the representative LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. Note that [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] and [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnLUYsNiVRImFGJ0YvRjItSSNtb0dGJDYtUSIrRicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZELyUpc3RyZXRjaHlHRkQvJSpzeW1tZXRyaWNHRkQvJShsYXJnZW9wR0ZELyUubW92YWJsZWxpbWl0c0dGRC8lJ2FjY2VudEdGRC8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlMtRiM2Ji1GLDYlUSJxRidGL0YyLUY9Ni1RMSZJbnZpc2libGVUaW1lcztGJ0ZARkJGRUZHRklGS0ZNRk8vRlJRJjAuMGVtRicvRlVGaW4tRiw2JVEibUYnRi9GMkZARitGQEYrRkBGK0ZA] denote the same equivalence class. The classes mod 3, are [0], [1], [2]. [0] is the set of all multiples of 3 = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbW9HRiQ2LVEifGZyRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUmZmVuY2VHUSV0cnVlRicvJSpzZXBhcmF0b3JHUSZmYWxzZUYnLyUpc3RyZXRjaHlHRjQvJSpzeW1tZXRyaWNHRjcvJShsYXJnZW9wR0Y3LyUubW92YWJsZWxpbWl0c0dGNy8lJ2FjY2VudEdGNy8lJ2xzcGFjZUdRLDAuMTY2NjY2N2VtRicvJSdyc3BhY2VHRkQtSSNtbkdGJDYkUSIzRidGLy1GLDYtUScmc2RvdDtGJ0YvL0YzRjdGNS9GOUY3RjpGPEY+RkAvRkNRJjAuMGVtRicvRkZGUS1JI21pR0YkNiVRInFGJy8lJ2l0YWxpY0dGNC9GMFEnaXRhbGljRidGLw==, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEicUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= an integer}, [1] is the set {3*q+1, an integer}, and [2] = {3*q+3, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEicUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= an integer}. seq(a mod 3,a=-9..9); NjUiIiEiIiIiIiNGI0YkRiVGI0YkRiVGI0YkRiVGI0YkRiVGI0YkRiVGIw== Arithmetic can be performed in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== by performing arithmetic on the representatives of the equivalence classes. I.E. [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] + [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] = [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIitGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJiRidGL0YyRjk=] [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] * [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=] = [LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImJGJ0YvRjJGOQ==] This defininition is well defined since you get the same answer no matter what representatives are chosen. E.G. in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiM0YnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPg== [1] + [1] = [2] = [4] + [7] = [11]. The mod function is a homomorphism from the integers LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= onto LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ==. I.E. you get the same result if you first perform an arithmetic operation and then compute the remainder, or if you first compute the remainders and then perform the arithmetic operation. 10*5 mod 3 = (10 mod 3) * (5 mod 3); LyIiI0Yj 10 + 5 mod 3 = ((10 mod 3) + (5 mod 3)) mod 3; LyIiIUYj Show addition and multiplication tables for integers mod 5. with(LinearAlgebra): m := 5; IiIm A := Matrix(m,m); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvRmduRmduRmduRmduRl5vRmFvRmNvRlpGWkZaRlovJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmJvUSZyaWdodEYnL0Zkb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZncC8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZicS8lJmZyYW1lR0ZicS8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0ZgcC8lMG1pbmxhYmVsc3BhY2luZ0dGX3FGOS9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmRyLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYwNjIzMzYwRic= for a from 0 to m-1 do for b from 0 to m-1 do A[a+1,b+1] := a+b mod m; end do; end do: print(A); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSi1GODYoLUY7NiRRIjFGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjJGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjNGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjRGJ0Y+RkFGREZGRkhGS0ZBRkRGRi1GNTYqRk1GUkZXRmZuRjdGQUZERkYtRjU2KkZSRldGZm5GN0ZNRkFGREZGLUY1NipGV0ZmbkY3Rk1GUkZBRkRGRi1GNTYqRmZuRjdGTUZSRldGQUZERkYvJSZhbGlnbkdRJWF4aXNGJy9GQlEpYmFzZWxpbmVGJy9GRVEmcmlnaHRGJy9GR1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZhcC8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZccS8lJmZyYW1lR0ZccS8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZmcS8lLWRpc3BsYXlzdHlsZUdGZnEvJSVzaWRlR0Zpby8lMG1pbmxhYmVsc3BhY2luZ0dGaXAvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRmZxRj5GPi9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmRyLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYwNjIzMzYwRic= M := Matrix(m,m); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiTUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvRmduRmduRmduRmduRl5vRmFvRmNvRlpGWkZaRlovJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmJvUSZyaWdodEYnL0Zkb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZncC8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZicS8lJmZyYW1lR0ZicS8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0ZgcC8lMG1pbmxhYmVsc3BhY2luZ0dGX3FGOS9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmRyLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYxMDcwNjgwRic= for a from 0 to m-1 do for b from 0 to m-1 do M[a+1,b+1] := a*b mod m; end do; end do: print(M); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkY3RjdGN0Y3RkFGREZGLUY1NipGNy1GODYoLUY7NiRRIjFGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjJGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjNGJ0Y+RkFGREZGRkhGSy1GODYoLUY7NiRRIjRGJ0Y+RkFGREZGRkhGS0ZBRkRGRi1GNTYqRjdGVEZobkZPRllGQUZERkYtRjU2KkY3RllGT0ZobkZURkFGREZGLUY1NipGN0ZobkZZRlRGT0ZBRkRGRi8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmFwLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRlxxLyUmZnJhbWVHRlxxLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmZxLyUtZGlzcGxheXN0eWxlR0ZmcS8lJXNpZGVHRmlvLyUwbWlubGFiZWxzcGFjaW5nR0ZpcC8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGZnFGPkY+L0krbXNlbWFudGljc0dGJFEnTWF0cml4RicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGZHIvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjEwNzA2ODBGJw==
<Text-field style="Heading 1" layout="Heading 1">Modular Inverses</Text-field> A modular inverse of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== is an element LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYsLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RJyZzZG90O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZMLUYsNiVRImJGJ0YvRjItRjY2LVEsJkNvbmdydWVudDtGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjc3Nzc3OGVtRicvRk5GVi1JI21uR0YkNiRRIjFGJ0Y5LUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkhGSkZNLUY2Ni9RJG1vZEYnLyUlYm9sZEdGMS9GM1ElYm9sZEYnLyUrZm9udHdlaWdodEdGX29GO0Y+RkBGQkZERkZGSEZKRk1GZm4tRiw2JVEibUYnRi9GMkY5. Not all elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== have inverses. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== has an inverse if and only if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2Ji1GLDYlUSRnY2RGJ0YvRjItSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkYvJSlzdHJldGNoeUdGRi8lKnN5bW1ldHJpY0dGRi8lKGxhcmdlb3BHRkYvJS5tb3ZhYmxlbGltaXRzR0ZGLyUnYWNjZW50R0ZGLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVS1JKG1mZW5jZWRHRiQ2JC1GIzYmLUYsNiVRImFGJ0YvRjItRj82LVEiLEYnRkJGRC9GSEYxRklGS0ZNRk9GUUZTL0ZXUSwwLjMzMzMzMzNlbUYnLUYsNiVRIm1GJ0YvRjJGQkZCRkItRj82LVEiPUYnRkJGREZHRklGS0ZNRk9GUS9GVFEsMC4yNzc3Nzc4ZW1GJy9GV0Znby1JI21uR0YkNiRRIjFGJ0ZCRkJGK0ZCRitGQg==. If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2Ji1GLDYlUSRnY2RGJ0YvRjItSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkYvJSlzdHJldGNoeUdGRi8lKnN5bW1ldHJpY0dGRi8lKGxhcmdlb3BHRkYvJS5tb3ZhYmxlbGltaXRzR0ZGLyUnYWNjZW50R0ZGLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVS1JKG1mZW5jZWRHRiQ2JC1GIzYmLUYsNiVRImFGJ0YvRjItRj82LVEiLEYnRkJGRC9GSEYxRklGS0ZNRk9GUUZTL0ZXUSwwLjMzMzMzMzNlbUYnLUYsNiVRIm1GJ0YvRjJGQkZCRkItRj82LVEiPUYnRkJGREZHRklGS0ZNRk9GUS9GVFEsMC4yNzc3Nzc4ZW1GJy9GV0Znby1JI21uR0YkNiRRIjFGJ0ZCRkJGK0ZCRitGQg==, then the inverse of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= can be found with the extended Euclidean algorithm, since LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= can be found such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2KEYrLUYjNiYtRiw2JVEiYUYnRi9GMi1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkgvJSlzdHJldGNoeUdGSC8lKnN5bW1ldHJpY0dGSC8lKGxhcmdlb3BHRkgvJS5tb3ZhYmxlbGltaXRzR0ZILyUnYWNjZW50R0ZILyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVy1GLDYlUSJ4RidGL0YyRkQtRkE2LVEiK0YnRkRGRkZJRktGTUZPRlFGUy9GVlEsMC4yMjIyMjIyZW1GJy9GWUZbby1GIzYmLUYsNiVRImJGJ0YvRjJGQC1GLDYlUSJ5RidGL0YyRkRGK0ZELUZBNi1RIj1GJ0ZERkZGSUZLRk1GT0ZRRlMvRlZRLDAuMjc3Nzc3OGVtRicvRllGaW8tSSNtbkdGJDYkUSIxRidGREZERitGREYrRkQ=. Taking the left and right sides mod m implies that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYoRistRiM2Ji1GLDYlUSJhRidGL0YyLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRi8lKXN0cmV0Y2h5R0ZGLyUqc3ltbWV0cmljR0ZGLyUobGFyZ2VvcEdGRi8lLm1vdmFibGVsaW1pdHNHRkYvJSdhY2NlbnRHRkYvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZVLUYsNiVRInhGJ0YvRjJGQi1GPzYtUSI9RidGQkZERkdGSUZLRk1GT0ZRL0ZUUSwwLjI3Nzc3NzhlbUYnL0ZXRmluLUYjNigtSSNtbkdGJDYkUSIxRidGQi1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC41ZW1GJy8lJmRlcHRoR0Zmby8lKmxpbmVicmVha0dRJWF1dG9GJy1GPzYvUSRtb2RGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRmVwRkRGR0ZJRktGTUZPRlFGU0ZWRmFvLUYsNiVRIm1GJ0YvRjJGQkYrRkJGK0ZCRitGQg==. If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is a prime, then all of the non-zero elements have inverses. In general the number of elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ==with inverses is equal to LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEnJiM5NjY7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRIm1GJy9GMFEldHJ1ZUYnL0YzUSdpdGFsaWNGJ0YyRjItSSNtb0dGJDYtUSIsRidGMi8lJmZlbmNlR0YxLyUqc2VwYXJhdG9yR0Y+LyUpc3RyZXRjaHlHRjEvJSpzeW1tZXRyaWNHRjEvJShsYXJnZW9wR0YxLyUubW92YWJsZWxpbWl0c0dGMS8lJ2FjY2VudEdGMS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUZCNi1RIn5GJ0YyRkUvRkhGMUZJRktGTUZPRlFGUy9GV0ZVRjI=the number of elements between 1 and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5that are relatively prime to LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=. Inverses can also be computed with Euler's identity. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY2LUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUYvNiVRJyYjOTY2O0YnL0YzUSZmYWxzZUYnL0Y2USdub3JtYWxGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYvNiVRIm1GJ0YyRjVGP0Y/Rj8vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEiPUYnRj8vJSZmZW5jZUdGPi8lKnNlcGFyYXRvckdGPi8lKXN0cmV0Y2h5R0Y+LyUqc3ltbWV0cmljR0Y+LyUobGFyZ2VvcEdGPi8lLm1vdmFibGVsaW1pdHNHRj4vJSdhY2NlbnRHRj4vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0Zqbi1JI21uR0YkNiRRIjFGJ0Y/LUZNNi1RIn5GJ0Y/RlBGUkZURlZGWEZaRmZuL0ZpblEmMC4wZW1GJy9GXG9GZW8tRk02L1EkbW9kRicvJSVib2xkR0Y0L0Y2USVib2xkRicvJStmb250d2VpZ2h0R0ZdcEZQRlJGVEZWRlhGWkZmbkZkb0Zmb0Zhb0ZGRmFvLUZNNi9RMyZEb3VibGVSaWdodEFycm93O0YnRmpvRlxwRl5wRlBGUi9GVUY0RlZGWEZaRmZuRmhuRltvLUYvNidGMUZqb0YyL0Y2USxib2xkLWl0YWxpY0YnRl5wLUZNNi9RJyZzZG90O0YnRmpvRlxwRl5wRlBGUkZURlZGWEZaRmZuRmRvRmZvLUYsNiVGZHAtRiM2J0Y6RkEtRk02LVEoJm1pbnVzO0YnRj9GUEZSRlRGVkZYRlpGZm4vRmluUSwwLjIyMjIyMjJlbUYnL0Zcb0ZjcUZdb0Y/RklGTEZdb0Zhb0Znb0Zhb0ZGLUZNNi1RIi5GJ0Y/RlBGUkZURlZGWEZaRmZuRmRvRmZvRj8= If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2Ji1GLDYlUSRnY2RGJ0YvRjItSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkYvJSlzdHJldGNoeUdGRi8lKnN5bW1ldHJpY0dGRi8lKGxhcmdlb3BHRkYvJS5tb3ZhYmxlbGltaXRzR0ZGLyUnYWNjZW50R0ZGLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVS1JKG1mZW5jZWRHRiQ2JC1GIzYmLUYsNiVRImFGJ0YvRjItRj82LVEiLEYnRkJGRC9GSEYxRklGS0ZNRk9GUUZTL0ZXUSwwLjMzMzMzMzNlbUYnLUYsNiVRIm1GJ0YvRjJGQkZCRkItRj82LVElJm5lO0YnRkJGREZHRklGS0ZNRk9GUS9GVFEsMC4yNzc3Nzc4ZW1GJy9GV0Znby1JI21uR0YkNiRRIjFGJ0ZCRkJGK0ZCRitGQg==, then there exists LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2KEYrLUYjNiYtRiw2JVEiYUYnRi9GMi1JI21vR0YkNi1RMSZJbnZpc2libGVUaW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkgvJSlzdHJldGNoeUdGSC8lKnN5bW1ldHJpY0dGSC8lKGxhcmdlb3BHRkgvJS5tb3ZhYmxlbGltaXRzR0ZILyUnYWNjZW50R0ZILyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVy1GLDYlUSJ4RidGL0YyRkQtRkE2LVEiK0YnRkRGRkZJRktGTUZPRlFGUy9GVlEsMC4yMjIyMjIyZW1GJy9GWUZbby1GIzYmLUYsNiVRIm1GJ0YvRjJGQC1GLDYlUSJ5RidGL0YyRkRGK0ZELUZBNi1RIj1GJ0ZERkZGSUZLRk1GT0ZRRlMvRlZRLDAuMjc3Nzc3OGVtRicvRllGaW8tRiw2JVEiZ0YnRi9GMkZERitGREYrRkQ= = LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYmLUYsNiVRJGdjZEYnRi9GMi1JI21vR0YkNi1RMCZBcHBseUZ1bmN0aW9uO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRC8lKXN0cmV0Y2h5R0ZELyUqc3ltbWV0cmljR0ZELyUobGFyZ2VvcEdGRC8lLm1vdmFibGVsaW1pdHNHRkQvJSdhY2NlbnRHRkQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZTLUkobWZlbmNlZEdGJDYkLUYjNiYtRiw2JVEiYUYnRi9GMi1GPTYtUSIsRidGQEZCL0ZGRjFGR0ZJRktGTUZPRlEvRlVRLDAuMzMzMzMzM2VtRictRiw2JVEibUYnRi9GMkZARkBGQEYrRkBGK0ZA, which implies that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYoRistRiM2KC1GLDYlUSJhRidGL0YyLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRi8lKXN0cmV0Y2h5R0ZGLyUqc3ltbWV0cmljR0ZGLyUobGFyZ2VvcEdGRi8lLm1vdmFibGVsaW1pdHNHRkYvJSdhY2NlbnRHRkYvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZVLUYsNiVRInhGJ0YvRjJGPi1JJm1mcmFjR0YkNigtRiM2JC1GLDYlUSJtRidGL0YyRkItRiM2JC1GLDYlUSJnRidGL0YyRkIvJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmdvLyUpYmV2ZWxsZWRHRkZGQi1GPzYtUSI9RidGQkZERkdGSUZLRk1GT0ZRL0ZUUSwwLjI3Nzc3NzhlbUYnL0ZXRmBwLUYjNigtSSNtbkdGJDYkUSIwRidGQi1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC41ZW1GJy8lJmRlcHRoR0ZdcS8lKmxpbmVicmVha0dRJWF1dG9GJy1GPzYvUSRtb2RGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRlxyRkRGR0ZJRktGTUZPRlFGU0ZWRmhwRmpuRkJGK0ZCRitGQkYrRkI= (i.e. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is a zero divisor - there exist a non-zero element LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYoRistRiM2Ji1GLDYlUSJhRidGL0YyLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRi8lKXN0cmV0Y2h5R0ZGLyUqc3ltbWV0cmljR0ZGLyUobGFyZ2VvcEdGRi8lLm1vdmFibGVsaW1pdHNHRkYvJSdhY2NlbnRHRkYvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZVLUYsNiVRImJGJ0YvRjJGQi1GPzYtUSI9RidGQkZERkdGSUZLRk1GT0ZRL0ZUUSwwLjI3Nzc3NzhlbUYnL0ZXRmluLUYjNigtSSNtbkdGJDYkUSIwRidGQi1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC41ZW1GJy8lJmRlcHRoR0Zmby8lKmxpbmVicmVha0dRJWF1dG9GJy1GPzYvUSRtb2RGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRmVwRkRGR0ZJRktGTUZPRlFGU0ZWRmFvLUYsNiVRIm1GJ0YvRjJGQkYrRkJGK0ZCRitGQg==). If a were to have an inverse, then multiplying both sides of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYoRistRiM2Ji1GLDYlUSJhRidGL0YyLUkjbW9HRiQ2LVExJkludmlzaWJsZVRpbWVzO0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRi8lKXN0cmV0Y2h5R0ZGLyUqc3ltbWV0cmljR0ZGLyUobGFyZ2VvcEdGRi8lLm1vdmFibGVsaW1pdHNHRkYvJSdhY2NlbnRHRkYvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZVLUYsNiVRImJGJ0YvRjJGQi1GPzYtUSI9RidGQkZERkdGSUZLRk1GT0ZRL0ZUUSwwLjI3Nzc3NzhlbUYnL0ZXRmluLUYjNigtSSNtbkdGJDYkUSIwRidGQi1JJ21zcGFjZUdGJDYmLyUnaGVpZ2h0R1EmMC4wZXhGJy8lJndpZHRoR1EmMC41ZW1GJy8lJmRlcHRoR0Zmby8lKmxpbmVicmVha0dRJWF1dG9GJy1GPzYvUSRtb2RGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRmVwRkRGR0ZJRktGTUZPRlFGU0ZWRmFvLUYsNiVRIm1GJ0YvRjJGQkYrRkJGK0ZCRitGQg==, implies LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYmLUYsNiVRImJGJ0YvRjItSSNtb0dGJDYtUSI9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZELyUpc3RyZXRjaHlHRkQvJSpzeW1tZXRyaWNHRkQvJShsYXJnZW9wR0ZELyUubW92YWJsZWxpbWl0c0dGRC8lJ2FjY2VudEdGRC8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRlMtSSNtbkdGJDYkUSIwRidGQEZARitGQEYrRkA= which is a contradiction). Therefore, the only elements of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiWkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm1GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== that have inverses are those elements LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYnRistRiM2Ji1GLDYlUSRnY2RGJ0YvRjItSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkYvJSlzdHJldGNoeUdGRi8lKnN5bW1ldHJpY0dGRi8lKGxhcmdlb3BHRkYvJS5tb3ZhYmxlbGltaXRzR0ZGLyUnYWNjZW50R0ZGLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGVS1JKG1mZW5jZWRHRiQ2JC1GIzYmLUYsNiVRImFGJ0YvRjItRj82LVEiLEYnRkJGRC9GSEYxRklGS0ZNRk9GUUZTL0ZXUSwwLjMzMzMzMzNlbUYnLUYsNiVRIm1GJ0YvRjJGQkZCRkItRj82LVEiPUYnRkJGREZHRklGS0ZNRk9GUS9GVFEsMC4yNzc3Nzc4ZW1GJy9GV0Znby1JI21uR0YkNiRRIjFGJ0ZCRkJGK0ZCRitGQg==. There are exactly LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUYjNiZGKy1GIzYmLUYsNiVRJyYjOTY2O0YnL0YwUSZmYWxzZUYnL0YzUSdub3JtYWxGJy1JI21vR0YkNi1RMCZBcHBseUZ1bmN0aW9uO0YnRj4vJSZmZW5jZUdGPS8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZULUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEibUYnRi9GMkY+Rj5GPkYrRj5GK0Y+ such elements. restart; with(numtheory): checkinv := proc(a,m) local i; for i from 1 to m-1 do if i*a mod m = 1 then return true; end if; end do; return false; end; Zio2JEkiYUc2IkkibUdGJTYjSSJpR0YlRiVGJUMkPyhGKCIiIkYrLCZGJkYrRishIiJJJXRydWVHJSpwcm90ZWN0ZWRHQCQvLUkkbW9kR0YlNiQqJkYoRitGJEYrRiZGK09GLk9JJmZhbHNlR0YvRiVGJUYl count := 0; m := 17; phi(m); IiIh IiM8 IiM7 for a from 0 to m-1 do print(a,checkinv(a,m),igcd(a,m)); if checkinv(a,m) then count := count + 1; fi; od: NiUiIiFJJmZhbHNlRyUqcHJvdGVjdGVkRyIjPA== NiUiIiJJJXRydWVHJSpwcm90ZWN0ZWRHRiM= NiUiIiNJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIiRJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIiVJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIiZJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIidJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIihJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIilJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIipJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzVJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzZJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzdJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzhJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzlJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzpJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIztJJXRydWVHJSpwcm90ZWN0ZWRHIiIi count = phi(m); LyIjO0Yj count := 0; m := 15; phi(m); IiIh IiM6 IiIp for a from 0 to m-1 do print(a,checkinv(a,m),igcd(a,m)); if checkinv(a,m) then count := count + 1; fi; od: NiUiIiFJJmZhbHNlRyUqcHJvdGVjdGVkRyIjOg== NiUiIiJJJXRydWVHJSpwcm90ZWN0ZWRHRiM= NiUiIiNJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIiRJJmZhbHNlRyUqcHJvdGVjdGVkR0Yj NiUiIiVJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIiZJJmZhbHNlRyUqcHJvdGVjdGVkR0Yj NiUiIidJJmZhbHNlRyUqcHJvdGVjdGVkRyIiJA== NiUiIihJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIilJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIipJJmZhbHNlRyUqcHJvdGVjdGVkRyIiJA== NiUiIzVJJmZhbHNlRyUqcHJvdGVjdGVkRyIiJg== NiUiIzZJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzdJJmZhbHNlRyUqcHJvdGVjdGVkRyIiJA== NiUiIzhJJXRydWVHJSpwcm90ZWN0ZWRHIiIi NiUiIzlJJXRydWVHJSpwcm90ZWN0ZWRHIiIi count = phi(m); LyIiKUYj igcdex(3, 17,'x','y'); IiIi x mod 17; IiIn 3 * x mod 17; IiIi Power(3,15) mod 17; IiIn
<Text-field style="Heading 1" layout="Heading 1">Question 2 [Modular arithmetic]</Text-field> restart; Use the Extended Euclidean algorithm (the maple command igcdex) to find the inverse of 5 in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEjMjdGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEiLkYnRj4vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkkvJSlzdHJldGNoeUdGSS8lKnN5bW1ldHJpY0dGSS8lKGxhcmdlb3BHRkkvJS5tb3ZhYmxlbGltaXRzR0ZJLyUnYWNjZW50R0ZJLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGWEY+ Verify your result. Use Euler's identity to compute the inverse of 5 in LUklbXN1Ykc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVErJmludGVnZXJzO0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JJW1yb3dHRiQ2JC1JI21uR0YkNiRRIzI3RicvRjNRJ25vcm1hbEYnRjwvJS9zdWJzY3JpcHRzaGlmdEdRIjBGJw== Find all elements that have inverses in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEoJiM4NDg0O0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEjMjdGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEiLkYnRj4vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkkvJSlzdHJldGNoeUdGSS8lKnN5bW1ldHJpY0dGSS8lKGxhcmdlb3BHRkkvJS5tb3ZhYmxlbGltaXRzR0ZJLyUnYWNjZW50R0ZJLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGWEY+ and show their inverse. How many are there?
<Text-field style="Heading 1" layout="Heading 1">Question 3 [Afine Cyphers]</Text-field> An affine cypher is a generalization of the Ceasar cypher. Assume that there are LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= letters in the plaintext alphabet. Recall that in the Ceasar cypher with key LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEia0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ== the plaintext letter LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5is encyphered by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiRUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImtGJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSShtZmVuY2VkR0YkNiQtRiM2JC1GLzYlUSJtRidGMkY1Rj1GPS1JI21vR0YkNi1RIj1GJ0Y9LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRmluRkctRks2LVEiK0YnRj1GTkZRRlNGVUZXRllGZW4vRmhuUSwwLjIyMjIyMjJlbUYnL0Zbb0Zgb0Y6LUZLNi1RIn5GJ0Y9Rk5GUUZTRlVGV0ZZRmVuL0ZoblEmMC4wZW1GJy9GW29GZm8tRks2L1EkbW9kRicvJSVib2xkR0Y0L0Y2USVib2xkRicvJStmb250d2VpZ2h0R0ZecEZORlFGU0ZVRldGWUZlbkZlb0Znb0Ziby1GLzYlUSJuRidGMkY1LUZLNi1RIi5GJ0Y9Rk5GUUZTRlVGV0ZZRmVuRmVvRmdvRj0= Assume LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEkZ2NkRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkobWZlbmNlZEdGJDYkLUYjNiYtRiw2JVEiYUYnRi9GMi1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGRS8lKnN5bW1ldHJpY0dGRS8lKGxhcmdlb3BHRkUvJS5tb3ZhYmxlbGltaXRzR0ZFLyUnYWNjZW50R0ZFLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRiw2JVEibkYnRi9GMkZBRkEtRj42LVEifkYnRkFGQy9GR0ZFRkhGSkZMRk5GUEZSL0ZWRlQtRj42LVEiPUYnRkFGQ0ZobkZIRkpGTEZORlAvRlNRLDAuMjc3Nzc3OGVtRicvRlZGXm9GZW4tSSNtbkdGJDYkUSMxLkYnRkFGQQ== Then the affince cypher with key LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYkLUYjNiYtSSNtaUdGJDYlUSJhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEiLEYnL0Y4USdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNi8lKXN0cmV0Y2h5R0ZCLyUqc3ltbWV0cmljR0ZCLyUobGFyZ2VvcEdGQi8lLm1vdmFibGVsaW1pdHNHRkIvJSdhY2NlbnRHRkIvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GMTYlUSJrRidGNEY3Rj5GPi1GOzYtUSJ+RidGPkZAL0ZERkJGRUZHRklGS0ZNRk8vRlNGUUY+encyphers the plaintext letter LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY0LUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiRUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkobWZlbmNlZEdGJDYkLUYjNiYtRi82JVEiYUYnRjJGNS1JI21vR0YkNi1RIixGJy9GNlEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjQvJSlzdHJldGNoeUdGSi8lKnN5bW1ldHJpY0dGSi8lKGxhcmdlb3BHRkovJS5tb3ZhYmxlbGltaXRzR0ZKLyUnYWNjZW50R0ZKLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRi82JVEia0YnRjJGNUZGRkZGRi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUY7NiQtRiM2JC1GLzYlUSJtRidGMkY1RkZGRi1GQzYtUSJ+RidGRkZIL0ZMRkpGTUZPRlFGU0ZVRlcvRmVuRlktRkM2LVEiPUYnRkZGSEZnb0ZNRk9GUUZTRlUvRlhRLDAuMjc3Nzc3OGVtRicvRmVuRl1wRmRvRj8tRkM2LVEnJnNkb3Q7RidGRkZIRmdvRk1GT0ZRRlNGVUZXRmhvRmFvLUZDNi1RIitGJ0ZGRkhGZ29GTUZPRlFGU0ZVL0ZYUSwwLjIyMjIyMjJlbUYnL0ZlbkZmcEZnbkZkby1GQzYvUSRtb2RGJy8lJWJvbGRHRjQvRjZRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRl5xRkhGZ29GTUZPRlFGU0ZVRldGaG9GZG8tRi82JVEibkYnRjJGNS1GQzYtUSIuRidGRkZIRmdvRk1GT0ZRRlNGVUZXRmhvRmRvRmRvRkY=Since LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1cEdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvRjZRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlEtSSNtbkdGJDYkUSIxRidGPkY+LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy1JKG1mZW5jZWRHRiQ2JC1GIzYnLUYvNiVRI2FtRidGMkY1LUY7Ni1RIn5GJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNGYW8tRjs2LVEiK0YnRj5GQEZDRkVGR0ZJRktGTUZPRlItRi82JVEia0YnRjJGNUY+Rj5GXW9GOkYrRmZvRl1vLUY7Ni1RIj1GJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjc3Nzc3OGVtRicvRlNGXXBGXW8tRi82JVEibUYnRjJGNS1GOzYtUSIsRidGPkZAL0ZERjRGRUZHRklGS0ZNRmBvL0ZTUSwwLjMzMzMzMzNlbUYnRj4=the decryption key is LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYwLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiRUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkobWZlbmNlZEdGJDYkLUYjNigtSSVtc3VwR0YkNiUtRi82JVEiYUYnRjJGNS1GIzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RicvRjZRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZPLyUpc3RyZXRjaHlHRk8vJSpzeW1tZXRyaWNHRk8vJShsYXJnZW9wR0ZPLyUubW92YWJsZWxpbWl0c0dGTy8lJ2FjY2VudEdGTy8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmhuLUkjbW5HRiQ2JFEiMUYnRktGSy8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRictRkg2LVEiLEYnRktGTS9GUUY0RlJGVEZWRlhGWi9GZ25RJjAuMGVtRicvRmpuUSwwLjMzMzMzMzNlbUYnRkdGPy1GLzYlUSJrRidGMkY1RktGS0ZLLyUvc3Vic2NyaXB0c2hpZnRHRmFvLUY7NiQtRiM2JC1GLzYlUSJjRidGMkY1RktGSy1GSDYtUSJ+RidGS0ZNRlBGUkZURlZGWEZaRmZvL0ZqbkZnby1GSDYtUSI9RidGS0ZNRlBGUkZURlZGWEZaL0ZnblEsMC4yNzc3Nzc4ZW1GJy9Gam5GXnFGZnBGPy1GSDYtUScmc2RvdDtGJ0ZLRk1GUEZSRlRGVkZYRlpGZm9GaXBGY3BGZnBGR0Y/RmpvLUZINi1RIi5GJ0ZLRk1GUEZSRlRGVkZYRlpGZm9GaXBGSw== Modify the procedure Ceasar to implement an affine cypher. Test your procedure by encyphering and decyphering the string lstr below. restart; with(StringTools): Letter2Number := proc(str,Convert) local i, L; L := []; for i from StringTools:-Length(str) by -1 to 1 do L := [Convert[str[i]],op(L)]; end do; return L; end; Zio2JEkkc3RyRzYiSShDb252ZXJ0R0YlNiRJImlHRiVJIkxHRiVGJUYlQyU+Rik3Ij8oRigtX0ksU3RyaW5nVG9vbHNHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiVJJ0xlbmd0aEdGJTYjRiQhIiIiIiJJJXRydWVHRjI+Rik3JCZGJjYjJkYkNiNGKC1JI29wR0YyNiNGKU9GKUYlRiVGJQ== Number2Letter := proc(L,alphabet) local i, str; str := ""; for i from 1 to nops(L) do str := cat(alphabet[L[i]+1],str); end do; return StringTools:-Reverse(str); end; Zio2JEkiTEc2IkkpYWxwaGFiZXRHRiU2JEkiaUdGJUkkc3RyR0YlRiVGJUMlPkYpUSFGJT8oRigiIiJGLi1JJW5vcHNHJSpwcm90ZWN0ZWRHNiNGJEkldHJ1ZUdGMT5GKS1JJGNhdEdGMTYkJkYmNiMsJiZGJDYjRihGLkYuRi5GKU8tX0ksU3RyaW5nVG9vbHNHNiRGMUkoX3N5c2xpYkdGJUkoUmV2ZXJzZUdGJTYjRilGJUYlRiU= alphabet := cat(Iota("a".."z")," "); UTxhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5en42Ig== Convert := table(); PTYiSSZmYWxzZUclKnByb3RlY3RlZEdFXFtsIQ== for i from 1 to Length(alphabet) do Convert[alphabet[i]] := i-1; end do: lstr := "once upon a time you dressed so fine you through the bums a dime in your prime didnt you"; UWRwb25jZX51cG9ufmF+dGltZX55b3V+ZHJlc3NlZH5zb35maW5lfn55b3V+dGhyb3VnaH50aGV+YnVtc35hfmRpbWV+aW5+eW91cn5wcmltZX5kaWRudH55b3U2Ig== Ceasar := proc(str,key,alphabet) local i, n, L, C, Convert, cypher; Convert := table(); n := StringTools:-Length(alphabet); for i from 1 to n do Convert[alphabet[i]] := i-1; end do; L := Letter2Number(str,Convert); C := []; for i from 1 to nops(L) do C := [op(C),L[i]+key mod n]; end do; cypher := Number2Letter(C,alphabet); return cypher; end; Zio2JUkkc3RyRzYiSSRrZXlHRiVJKWFscGhhYmV0R0YlNihJImlHRiVJIm5HRiVJIkxHRiVJIkNHRiVJKENvbnZlcnRHRiVJJ2N5cGhlckdGJUYlRiVDKj5GLS1JJnRhYmxlRyUqcHJvdGVjdGVkR0YlPkYqLV9JLFN0cmluZ1Rvb2xzRzYkRjNJKF9zeXNsaWJHRiVJJ0xlbmd0aEdGJTYjRic/KEYpIiIiRj1GKkkldHJ1ZUdGMz4mRi02IyZGJzYjRiksJkYpRj1GPSEiIj5GKy1JLkxldHRlcjJOdW1iZXJHRiU2JEYkRi0+Riw3Ij8oRilGPUY9LUklbm9wc0dGMzYjRitGPj5GLDckLUkjb3BHRjM2I0YsLUkkbW9kR0YlNiQsJiZGK0ZDRj1GJkY9Rio+Ri4tSS5OdW1iZXIyTGV0dGVyR0YlNiRGLEYnT0YuRiVGJUYl cypher := Ceasar(lstr,3,alphabet); UWRwcnFmaGN4c3JxY2Rjd2xwaGNhcnhjZ3VodnZoZ2N2cmNpbHFoY2Nhcnhjd2t1cnhqa2N3a2hjZXhwdmNkY2dscGhjbHFjYXJ4dWNzdWxwaGNnbGdxd2Nhcng2Ig== Ceasar(cypher,-3,alphabet); UWRwb25jZX51cG9ufmF+dGltZX55b3V+ZHJlc3NlZH5zb35maW5lfn55b3V+dGhyb3VnaH50aGV+YnVtc35hfmRpbWV+aW5+eW91cn5wcmltZX5kaWRudH55b3U2Ig==
<Text-field style="Heading 1" layout="Heading 1">Linear Systems, Matrices, Determinants, and Inverses</Text-field> This section briefly reviews some key concepts of linear algebra (linear systems, matrices, matrix equations, determinants, matrix multiplication and matrix inverses, bases, and linear transformations), that are useful in cryptography and cryptanalysis and are necessary for this lab. restart; with(LinearAlgebra): The following linear system of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5equations in LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5variables LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEjMTFGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUYsNiUtRi82JVEieEYnRjJGNS1GIzYkLUY7NiRRIjFGJ0Y+Rj5GQC1JI21vR0YkNi1RIitGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZTLyUpc3RyZXRjaHlHRlMvJSpzeW1tZXRyaWNHRlMvJShsYXJnZW9wR0ZTLyUubW92YWJsZWxpbWl0c0dGUy8lJ2FjY2VudEdGUy8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlxvLUZONi1RJyZzZG90O0YnRj5GUUZURlZGWEZaRmZuRmhuL0Zbb1EmMC4wZW1GJy9GXm9GY29GX29GX29GTS1GLDYlRi4tRiM2JUZKLUYvNiVRIm5GJ0YyRjVGPkZALUYsNiVGRS1GIzYkRmlvRj5GQC1GTjYtUSI9RidGPkZRRlRGVkZYRlpGZm5GaG4vRltvUSwwLjI3Nzc3NzhlbUYnL0Zeb0ZkcC1GLDYlLUYvNiVRInlGJ0YyRjVGSEZARj4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEjMjFGJy9GNlEnbm9ybWFsRidGPi8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUYsNiUtRi82JVEieEYnRjJGNS1GIzYkLUY7NiRRIjFGJ0Y+Rj5GQC1JI21vR0YkNi1RIitGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZTLyUpc3RyZXRjaHlHRlMvJSpzeW1tZXRyaWNHRlMvJShsYXJnZW9wR0ZTLyUubW92YWJsZWxpbWl0c0dGUy8lJ2FjY2VudEdGUy8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlxvLUZONi1RJyZzZG90O0YnRj5GUUZURlZGWEZaRmZuRmhuL0Zbb1EmMC4wZW1GJy9GXm9GY29GX29GX29GTS1GLDYlRi4tRiM2Ji1GOzYkUSIyRidGPi1GTjYtUSJ+RidGPkZRRlRGVkZYRlpGZm5GaG5GYm9GZG8tRi82JVEibkYnRjJGNUY+RkAtRiw2JUZFLUYjNiRGX3BGPkZALUZONi1RIj1GJ0Y+RlFGVEZWRlhGWkZmbkZobi9GW29RLDAuMjc3Nzc3OGVtRicvRl5vRmpwLUYsNiUtRi82JVEieUYnRjJGNS1GIzYkRmlvRj5GQEY+ LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYzLUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDRitGK0YrRitGK0YrRitGK0YrRitGK0YrLUYsNi1RJyZzZG90O0YnRi9GMkY1RjdGOUY7Rj1GP0ZBRkRGRkZGRi8= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRI20xRidGMkY1L0Y2USdub3JtYWxGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUYsNiUtRi82JVEieEYnRjJGNS1GIzYkLUkjbW5HRiQ2JFEiMUYnRj1GPUY/LUkjbW9HRiQ2LVEiK0YnRj0vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRlMvJSlzdHJldGNoeUdGUy8lKnN5bW1ldHJpY0dGUy8lKGxhcmdlb3BHRlMvJS5tb3ZhYmxlbGltaXRzR0ZTLyUnYWNjZW50R0ZTLyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGXG8tRk42LVEnJnNkb3Q7RidGPUZRRlRGVkZYRlpGZm5GaG4vRltvUSYwLjBlbUYnL0Zeb0Zjb0Zfb0Zfb0ZNLUYsNiVGLi1GIzYkLUYvNiVRI21uRidGMkY1Rj1GPy1GLDYlRkQtRiM2JC1GLzYlUSJuRidGMkY1Rj1GPy1GTjYtUSI9RidGPUZRRlRGVkZYRlpGZm5GaG4vRltvUSwwLjI3Nzc3NzhlbUYnL0Zeb0ZncC1GLDYlLUYvNiVRInlGJ0YyRjUtRiM2JC1GLzYlUSJtRidGMkY1Rj1GP0Y9 is equivalent to the following matrix equation. LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY7LUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1GLDYlUSNBeEYnRi9GMi1GNjYtUSIsRidGOUY7L0Y/RjFGQEZCRkRGRkZIRkovRk5RLDAuMzMzMzMzM2VtRidGNS1GLDYlUSJBRidGL0YyRk8tSShtYWN0aW9uR0YkNiQtSShtZmVuY2VkR0YkNigtRiM2Ji1GLDYlUSFGJ0YvRjItSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYoLUkkbXRkR0YkNigtRiM2JC1JJW1zdWJHRiQ2JS1GLDYlUSJhRicvRjBGPUY5LUYjNiQtSSNtbkdGJDYkUSMxMUYnRjlGOS8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRjkvJSlyb3dhbGlnbkdGZW8vJSxjb2x1bW5hbGlnbkdGZW8vJStncm91cGFsaWduR0Zlby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZpcS1GXXA2KC1GIzYmLUY2Ni1RJyZzZG90O0YnRjlGO0Y+RkBGQkZERkZGSEZKRk1GYHJGYHJGOUZhcUZjcUZlcUZncUZqcS1GXXA2KC1GIzYkLUZicDYlLUYsNiVGZnBGL0YyLUYjNiUtRltxNiRRIjFGJ0Y5LUYsNiVRIm5GJ0YvRjJGOUZecUY5RmFxRmNxRmVxRmdxRmpxRmFxRmNxRmVxLUZqbzYoLUZdcDYoRmNvRmFxRmNxRmVxRmdxRmpxRlxyRmVzRmFxRmNxRmVxLUZqbzYoLUZdcDYoLUYjNiQtRmJwNiVGZHAtRiM2JC1GLDYlUSNtMUYnRi9GMkY5Rl5xRjlGYXFGY3FGZXFGZ3FGanFGXHItRl1wNigtRiM2JC1GYnA2JUZpci1GIzYkLUYsNiVRI21uRidGL0YyRjlGXnFGOUZhcUZjcUZlcUZncUZqcUZhcUZjcUZlcS8lJmFsaWduR1ElYXhpc0YnL0ZicVEpYmFzZWxpbmVGJy9GZHFRJ2NlbnRlckYnL0ZmcVEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zcdi8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zndi8lJmZyYW1lR0Zndi8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGZHZGY29GOUY5L0krbXNlbWFudGljc0dGJFEnTWF0cml4RicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGancvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnRlhGNS1GLDYlUSJ4RidGL0YyRjVGT0Y1LUZcbzYkLUZfbzYoLUYjNiZGY28tRmdvNjctRmpvNiYtRl1wNigtRiM2JC1GYnA2JS1GLDYlRmh4RmdwRjktRiM2JEZdc0Y5Rl5xRjlGYXFGY3FGZXFGZ3FGanFGYXFGY3FGZXEtRmpvNiYtRl1wNigtRiM2JC1GNjYuUSkmdmVsbGlwO0YnLyUrZm9yZWdyb3VuZEdRLFsyMDAsMCwyMDBdRidGOUY7Rj5GQEZCRkRGRkZIRkpGTUY5RmFxRmNxRmVxRmdxRmpxRmFxRmNxRmVxLUZqbzYmLUZdcDYoLUYjNiQtRmJwNiVGaXktRiM2JEZgc0Y5Rl5xRjlGYXFGY3FGZXFGZ3FGanFGYXFGY3FGZXFGX3VGYnVGZHVGZnVGaHVGanVGXXZGX3ZGYnZGZXZGaHZGanZGXHdGX3dGYXdGY3dGZXdGaHdGY29GOUY5L0ZbeFEqQ29sVmVjdG9yRidGXXhGYHhGY1tsRmN4RjUtRjY2L1EkYW5kRicvJSVib2xkR0YxL0YzUSVib2xkRicvJStmb250d2VpZ2h0R0ZbXGxGO0Y+RkBGQkZERkZGSEZKRk1GNUYrRk8tRiM2JkZjby1GXG82JC1GX282KC1GIzYmRmNvLUZnbzY3LUZqbzYmLUZdcDYoLUYjNiQtRmJwNiUtRiw2JUYuRmdwRjlGW3pGXnFGOUZhcUZjcUZlcUZncUZqcUZhcUZjcUZlcUZdei1Gam82Ji1GXXA2KC1GIzYkLUZicDYlRmBdbC1GIzYkLUYsNiVRIm1GJ0YvRjJGOUZecUY5RmFxRmNxRmVxRmdxRmpxRmFxRmNxRmVxRl91RmJ1RmR1RmZ1Rmh1Rmp1Rl12Rl92RmJ2RmV2Rmh2Rmp2Rlx3Rl93RmF3RmN3RmV3Rmh3RmNvRjlGOUZjW2xGXXhGYHhGY1tsRmN4RmNvRjlGY29GOQ== If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJuRidGL0YyRjk= then the above equation has a solution for all possible right hand sides, LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRidGOQ==if and only if the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is invertible and the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5is invertible if and only if its determinant is not equal to zero. If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5is invertible then there is a unique solution equal to LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JJW1zdXBHRiQ2JS1GLDYlUSJBRidGL0YyLUYjNiUtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmVuLUkjbW5HRiQ2JFEiMUYnRjlGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRictRiw2JVEieUYnRi9GMi1GNjYtUSIuRidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZORmVvRjk= Let LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYwLUkjbW9HRiQ2LVEifkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZDLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJy1GLDYtUSI9RidGL0YyRjVGN0Y5RjtGPUY/L0ZCUSwwLjI3Nzc3NzhlbUYnL0ZFRlMtSShtYWN0aW9uR0YkNiQtSShtZmVuY2VkR0YkNigtRiM2Ji1GRzYlUSFGJ0ZKRk0tSSdtdGFibGVHRiQ2Ny1JJG10ckdGJDYoLUkkbXRkR0YkNigtRiM2JC1JJW1zdWJHRiQ2JS1GRzYlUSJhRicvRktGNEYvLUYjNiQtSSNtbkdGJDYkUSMxMUYnRi9GLy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRi8vJSlyb3dhbGlnbkdGaW4vJSxjb2x1bW5hbGlnbkdGaW4vJStncm91cGFsaWduR0Zpbi8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZdcS1GYW82KC1GIzYmLUYsNi1RJyZzZG90O0YnRi9GMkY1RjdGOUY7Rj1GP0ZBRkRGZHFGZHFGL0ZlcEZncEZpcEZbcUZecS1GYW82KC1GIzYkLUZmbzYlLUZHNiVGam9GSkZNLUYjNiUtRl9wNiRRIjFGJ0YvLUZHNiVRIm5GJ0ZKRk1GL0ZicEYvRmVwRmdwRmlwRltxRl5xRmVwRmdwRmlwLUZebzYoLUZhbzYoRmduRmVwRmdwRmlwRltxRl5xRmBxRmlyRmVwRmdwRmlwLUZebzYoLUZhbzYoLUYjNiQtRmZvNiVGaG8tRiM2JC1GRzYlUSNuMUYnRkpGTUYvRmJwRi9GZXBGZ3BGaXBGW3FGXnFGYHEtRmFvNigtRiM2JC1GZm82JUZdci1GIzYkLUZHNiVRI25uRidGSkZNRi9GYnBGL0ZlcEZncEZpcEZbcUZecUZlcEZncEZpcC8lJmFsaWduR1ElYXhpc0YnL0ZmcFEpYmFzZWxpbmVGJy9GaHBRJ2NlbnRlckYnL0ZqcFEnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRkwvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZgdS8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zbdi8lJmZyYW1lR0Zbdi8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRjQvJS1lcXVhbGNvbHVtbnNHRjQvJS1kaXNwbGF5c3R5bGVHRjQvJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGaHVGZ25GL0YvL0krbXNlbWFudGljc0dGJFEnTWF0cml4RicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGXncvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnRistRiw2L1EkYW5kRicvJSVib2xkR0ZML0YwUSVib2xkRicvJStmb250d2VpZ2h0R0ZgeEYyRjVGN0Y5RjtGPUY/RkFGREYrRistRkc2JVEiQkYnRkpGTUZPLUZWNiQtRlk2KC1GIzYmRmduLUZbbzY3LUZebzYoLUZhbzYoLUYjNiQtRmZvNiUtRkc2JVEiYkYnRltwRi9GXHBGYnBGL0ZlcEZncEZpcEZbcUZecUZgcS1GYW82KC1GIzYkLUZmbzYlLUZHNiVGaHlGSkZNRl9yRmJwRi9GZXBGZ3BGaXBGW3FGXnFGZXBGZ3BGaXBGZ3ItRl5vNigtRmFvNigtRiM2JC1GZm82JUZmeUZjc0ZicEYvRmVwRmdwRmlwRltxRl5xRmBxLUZhbzYoLUYjNiQtRmZvNiVGX3pGXnRGYnBGL0ZlcEZncEZpcEZbcUZecUZlcEZncEZpcEZjdEZmdEZodEZqdEZcdUZedUZhdUZjdUZmdUZpdUZcdkZedkZgdkZjdkZldkZndkZpdkZcd0ZnbkYvRi9GXndGYXdGZHdGXndGZ3ctRiw2LVEiLEYnRi9GMi9GNkZMRjdGOUY7Rj1GP0ZBL0ZFUSwwLjMzMzMzMzNlbUYnRitGLw==then the product LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEiQ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1GLDYlUSNBQkYnRi9GMkY1Rjk=(matrix multiplication) is the LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZ0aW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGTEYrLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5GU0Y5matrix defined by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEiQ0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JKG1hY3Rpb25HRiQ2JC1JKG1mZW5jZWRHRiQ2KC1GIzYmLUYsNiVRIUYnRi9GMi1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1GIzYkLUklbXN1YkdGJDYlLUYsNiVRImNGJy9GMEY9RjktRiM2JC1JI21uR0YkNiRRIzExRidGOUY5LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGOS8lKXJvd2FsaWduR0Zpbi8lLGNvbHVtbmFsaWduR0Zpbi8lK2dyb3VwYWxpZ25HRmluLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRl1xLUZhbzYoLUYjNiYtRjY2LVEnJnNkb3Q7RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZkcUZkcUY5RmVwRmdwRmlwRltxRl5xLUZhbzYoLUYjNiQtRmZvNiUtRiw2JUZqb0YvRjItRiM2JS1GX3A2JFEiMUYnRjktRiw2JVEibkYnRi9GMkY5RmJwRjlGZXBGZ3BGaXBGW3FGXnFGZXBGZ3BGaXAtRl5vNigtRmFvNihGZ25GZXBGZ3BGaXBGW3FGXnFGYHFGaXJGZXBGZ3BGaXAtRl5vNigtRmFvNigtRiM2JC1GZm82JUZoby1GIzYkLUYsNiVRI24xRidGL0YyRjlGYnBGOUZlcEZncEZpcEZbcUZecUZgcS1GYW82KC1GIzYkLUZmbzYlRl1yLUYjNiQtRiw2JVEjbm5GJ0YvRjJGOUZicEY5RmVwRmdwRmlwRltxRl5xRmVwRmdwRmlwLyUmYWxpZ25HUSVheGlzRicvRmZwUSliYXNlbGluZUYnL0ZocFEnY2VudGVyRicvRmpwUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmB1LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRlt2LyUmZnJhbWVHRlt2LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZodUZnbkY5RjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zedy8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRictRjY2LVEiLEYnRjlGOy9GP0YxRkBGQkZERkZGSEZKL0ZOUSwwLjMzMzMzMzNlbUYnRjk= where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiY0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRI2lqRidGMkY1L0Y2USdub3JtYWxGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUkjbW9HRiQ2LVEiPUYnRj0vJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkgvJSlzdHJldGNoeUdGSC8lKnN5bW1ldHJpY0dGSC8lKGxhcmdlb3BHRkgvJS5tb3ZhYmxlbGltaXRzR0ZILyUnYWNjZW50R0ZILyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGVy1JK211bmRlcm92ZXJHRiQ2Jy1GQzYtUSYmU3VtO0YnRj0vRkdRJnVuc2V0RicvRkpGW28vRkxGNC9GTkZbby9GUEY0L0ZSRjQvRlRGW28vRlZRJjAuMGVtRicvRllRLDAuMTY2NjY2N2VtRictRiM2Ji1GLzYlUSJrRidGMkY1RkItSSNtbkdGJDYkUSIxRidGPUY9LUYjNiQtRi82JVEibkYnRjJGNUY9LyUnYWNjZW50R0ZILyUsYWNjZW50dW5kZXJHRkgtRiw2JS1GLzYlUSJhRidGMkY1LUYjNiQtRi82JVEjaWtGJ0YyRjVGPUY/LUZDNi1RJyZzZG90O0YnRj1GRkZJRktGTUZPRlFGU0Ziby9GWUZjby1GLDYlLUYvNiVRImJGJ0YyRjUtRiM2JC1GLzYlUSNrakYnRjJGNUY9Rj8tRkM2LVEiLkYnRj1GRkZJRktGTUZPRlFGU0Zib0ZlcUY9 If the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is invertible then there exists a unique matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEiQkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JJW1zdXBHRiQ2JS1GLDYlUSJBRidGL0YyLUYjNiUtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORltvLUkjbW5HRiQ2JFEiMUYnRjlGOS8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRictRjY2LVEiLEYnRjlGOy9GP0YxRkBGQkZERkZGSEZKL0ZOUSwwLjMzMzMzMzNlbUYnRjk= such that LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbWlHRiQ2JVEjQUJGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSI9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSSVtc3ViR0YkNiUtRiw2JVEiSUYnRi9GMi1GIzYkLUYsNiVRIm5GJ0YvRjJGOS8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnLUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkgvRktRJjAuMGVtRicvRk5RLDAuMzMzMzMzM2VtRictRjY2LVEifkYnRjlGO0Y+RkBGQkZERkZGSEZbby9GTkZcb0Y5where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0Yn LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiSUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm5GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSC8lKXN0cmV0Y2h5R0ZILyUqc3ltbWV0cmljR0ZILyUobGFyZ2VvcEdGSC8lLm1vdmFibGVsaW1pdHNHRkgvJSdhY2NlbnRHRkgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZXLUkobWFjdGlvbkdGJDYkLUkobWZlbmNlZEdGJDYoLUYjNiYtRi82JVEhRidGMkY1LUknbXRhYmxlR0YkNjctSSRtdHJHRiQ2KC1JJG10ZEdGJDYoLUYjNiQtSSNtbkdGJDYkUSIxRidGPUY9LyUpcm93YWxpZ25HRl5vLyUsY29sdW1uYWxpZ25HRl5vLyUrZ3JvdXBhbGlnbkdGXm8vJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGZnAtRmZvNihGXG9GXnBGYHBGYnBGZHBGZ3AtRmZvNigtRiM2JC1GW3A2JFEiMEYnRj1GPUZecEZgcEZicEZkcEZncEZecEZgcEZicC1GY282KEZpcC1GZm82KC1GQzYtUSgmZHRkb3Q7RidGPUZGRklGS0ZNRk9GUUZTL0ZWUSYwLjBlbUYnL0ZZRmpxRl5wRmBwRmJwRmRwRmdwRmlwRl5wRmBwRmJwLUZjbzYoRltxRmlwRmVvRl5wRmBwRmJwLyUmYWxpZ25HUSVheGlzRicvRl9wUSliYXNlbGluZUYnL0ZhcFEnY2VudGVyRicvRmNwUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGNC8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRltzLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmZzLyUmZnJhbWVHRmZzLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGSC8lLWVxdWFsY29sdW1uc0dGSC8lLWRpc3BsYXlzdHlsZUdGSC8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0Zjc0Zcb0Y9Rj0vSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZpdC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRictRkM2LVEiLEYnRj1GRi9GSkY0RktGTUZPRlFGU0ZpcS9GWVEsMC4zMzMzMzMzZW1GJy1GQzYtUSJ+RidGPUZGRklGS0ZNRk9GUUZTRmlxRltyRj0=the LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZ0aW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGTEYrRjk= identity matrix (ones along the diagonal and zeros elsewhere). The determinant of an LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZ0aW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGTEYrLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5GU0Y5matrix is a number defined by LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYyLUkjbWlHRiQ2JVEkZGV0RicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkobWZlbmNlZEdGJDYkLUYjNiQtRiw2JVEiQUYnRi9GMi9GM1Enbm9ybWFsRidGPS1JI21vR0YkNi1RIn5GJ0Y9LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZFLyUpc3RyZXRjaHlHRkUvJSpzeW1tZXRyaWNHRkUvJShsYXJnZW9wR0ZFLyUubW92YWJsZWxpbWl0c0dGRS8lJ2FjY2VudEdGRS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlQtRkA2LVEiPUYnRj1GQ0ZGRkhGSkZMRk5GUC9GU1EsMC4yNzc3Nzc4ZW1GJy9GVkZlbkY/LUkrbXVuZGVyb3ZlckdGJDYnLUZANi1RJiZTdW07RidGPS9GRFEmdW5zZXRGJy9GR0Zeby9GSUYxL0ZLRl5vL0ZNRjEvRk9GMS9GUUZeb0ZSL0ZWUSwwLjE2NjY2NjdlbUYnLUYjNiYtRiw2JVEnJiM5NjM7RicvRjBGRUY9LUZANi1RKiZFbGVtZW50O0YnRj1GQ0ZGRkhGSkZMRk5GUEZaRmZuLUklbXN1YkdGJDYlLUYsNiVRIlNGJ0YvRjItRiM2JC1GLDYlUSJuRidGL0YyRj0vJS9zdWJzY3JpcHRzaGlmdEdRIjBGJ0Y9LUYsNiVRIUYnRi9GMi8lJ2FjY2VudEdGRS8lLGFjY2VudHVuZGVyR0ZFLUYsNiVRJXNpZ25GJ0YvRjItRjY2JC1GIzYkRmlvRj1GPS1GYXA2JS1GLDYlUSJhRidGL0YyLUYjNictSSNtbkdGJDYkUSIxRidGPUY/RmlvLUY2NiQtRiM2JEZjckY9Rj1GPUZbcS1GQDYtUScmc2RvdDtGJ0Y9RkNGRkZIRkpGTEZORlBGUkZVRltzRltzLUZhcDYlRl5yLUYjNiUtRiw2JVEobiYjOTYzO0YnRi9GMi1GNjYkRmZwRj1GPUZbcS1GQDYtUSIsRidGPUZDL0ZHRjFGSEZKRkxGTkZQRlIvRlZRLDAuMzMzMzMzM2VtRidGP0Y9where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiU0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRIm5GJ0YyRjUvRjZRJ25vcm1hbEYnLyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGPQ== is the set of permutations of the numbers LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobWZlbmNlZEdGJDYmLUYjNistSSNtbkdGJDYkUSIxRicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUkjbW9HRiQ2LVEiLEYnRjQvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHUSV0cnVlRicvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjE2JFEiMkYnRjRGNy1GODYtUSMuLkYnRjRGOy9GP0Y9RkFGQ0ZFRkdGSS9GTFEsMC4yMjIyMjIyZW1GJy9GT0ZNLUY4Ni1RIi5GJ0Y0RjtGV0ZBRkNGRUZHRklGS0ZaRjctSSNtaUdGJDYlUSJuRicvJSdpdGFsaWNHRkAvRjVRJ2l0YWxpY0YnRjRGNC8lJW9wZW5HUSJ8ZnJGJy8lJmNsb3NlR1EifGhyRidGNA== and LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVElc2lnbkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRJyYjOTYzO0YnL0YwUSZmYWxzZUYnL0YzUSdub3JtYWxGJ0Y/Rj9GPw== is the sign of the permutation LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEnJiM5NjM7RicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJ0Yy, i.e. the parity of the number of transpositions required to obtain the permutation. For example, A := <<a11,a21,a31>|<a12,a22,a32>|<a13,a23,a33>>; LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1GLDYlUSRhMTFGJ0YvRjIvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRl9vLyUrZ3JvdXBhbGlnbkdGX28vJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGZm8tRmhuNigtRiw2JVEkYTEyRidGL0YyRl1vRmBvRmJvRmRvRmdvLUZobjYoLUYsNiVRJGExM0YnRi9GMkZdb0Zgb0Zib0Zkb0Znb0Zdb0Zgb0Ziby1GZW42KC1GaG42KC1GLDYlUSRhMjFGJ0YvRjJGXW9GYG9GYm9GZG9GZ28tRmhuNigtRiw2JVEkYTIyRidGL0YyRl1vRmBvRmJvRmRvRmdvLUZobjYoLUYsNiVRJGEyM0YnRi9GMkZdb0Zgb0Zib0Zkb0Znb0Zdb0Zgb0Ziby1GZW42KC1GaG42KC1GLDYlUSRhMzFGJ0YvRjJGXW9GYG9GYm9GZG9GZ28tRmhuNigtRiw2JVEkYTMyRidGL0YyRl1vRmBvRmJvRmRvRmdvLUZobjYoLUYsNiVRJGEzM0YnRi9GMkZdb0Zgb0Zib0Zkb0Znb0Zdb0Zgb0Ziby8lJmFsaWduR1ElYXhpc0YnL0Zeb1EpYmFzZWxpbmVGJy9GYW9RJ2NlbnRlckYnL0Zjb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zicy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZddC8lJmZyYW1lR0ZddC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGanNGOS9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmB1LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYwNjY1NzcyRic= Determinant(A); LC4qKEkkYTExRzYiIiIiSSRhMjJHRiVGJkkkYTMzR0YlRiZGJiooRiRGJkkkYTIzR0YlRiZJJGEzMkdGJUYmISIiKihJJGEyMUdGJUYmRitGJkkkYTEzR0YlRiZGJiooRi5GJkkkYTEyR0YlRiZGKEYmRiwqKEkkYTMxR0YlRiZGMUYmRipGJkYmKihGM0YmRidGJkYvRiZGLA== The matrix equation LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1GLDYlUSNBeEYnRi9GMkY1Rjk=can also be interpreted as the vector equation LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYyLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRi82JVEhRidGMkY1LUkobWFjdGlvbkdGJDYkLUkobWZlbmNlZEdGJDYoLUYjNiZGQy1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1GIzYkLUYsNiUtRi82JVEiYUYnL0YzUSZmYWxzZUYnRj4tRiM2JC1GOzYkUSMxMUYnRj5GPkZARj4vJSlyb3dhbGlnbkdGRS8lLGNvbHVtbmFsaWduR0ZFLyUrZ3JvdXBhbGlnbkdGRS8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Znb0Zfb0Zhb0Zjby1GUjYmLUZVNigtRiM2JC1JI21vR0YkNi5RKSZ2ZWxsaXA7RicvJStmb3JlZ3JvdW5kR1EsWzIwMCwwLDIwMF1GJ0Y+LyUmZmVuY2VHRmluLyUqc2VwYXJhdG9yR0Zpbi8lKXN0cmV0Y2h5R0Zpbi8lKnN5bW1ldHJpY0dGaW4vJShsYXJnZW9wR0Zpbi8lLm1vdmFibGVsaW1pdHNHRmluLyUnYWNjZW50R0Zpbi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmdxRj5GX29GYW9GY29GZW9GaG9GX29GYW9GY28tRlI2Ji1GVTYoLUYjNiQtRiw2JS1GLzYlRmduRjJGNS1GIzYkLUYvNiVRI20xRidGMkY1Rj5GQEY+Rl9vRmFvRmNvRmVvRmhvRl9vRmFvRmNvLyUmYWxpZ25HUSVheGlzRicvRmBvUSliYXNlbGluZUYnL0Zib1EnY2VudGVyRicvRmRvUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGNC8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmZzLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmF0LyUmZnJhbWVHRmF0LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGaW4vJS1lcXVhbGNvbHVtbnNHRmluLyUtZGlzcGxheXN0eWxlR0Zpbi8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZedEZDRj5GPi9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmR1LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy1GYXA2LVEiK0YnRj5GZ3BGaXBGW3FGXXFGX3FGYXFGY3EvRmZxUSwwLjIyMjIyMjJlbUYnL0ZpcUZkdi1GYXA2LVEnJnNkb3Q7RidGPkZncEZpcEZbcUZdcUZfcUZhcUZjcUZlcUZocUZmdkZmdkZgdi1GLDYlRi4tRiM2JC1GLzYlUSJuRidGMkY1Rj5GQEZDLUZHNiQtRko2KC1GIzYmRkMtRk82Ny1GUjYmLUZVNigtRiM2JC1GLDYlRmVuLUYjNiZGOi1GYXA2LVEifkYnRj5GZ3BGaXBGW3FGXXFGX3FGYXFGY3FGZXFGaHFGXXdGPkZARj5GX29GYW9GY29GZW9GaG9GX29GYW9GY29Gam8tRlI2Ji1GVTYoLUYjNiQtRiw2JUZici1GIzYkLUYvNiVRI21uRidGMkY1Rj5GQEY+Rl9vRmFvRmNvRmVvRmhvRl9vRmFvRmNvRmlyRlxzRl5zRmBzRmJzRmRzRmdzRmlzRlx0Rl90RmJ0RmR0RmZ0Rml0Rlt1Rl11Rl91RmJ1RkNGPkY+RmR1Rmd1Rmp1RmR1Rl12LUZhcDYtUSI9RidGPkZncEZpcEZbcUZdcUZfcUZhcUZjcS9GZnFRLDAuMjc3Nzc3OGVtRicvRmlxRmZ5LUZHNiQtRko2KC1GIzYmRkMtRk82Ny1GUjYmLUZVNigtRiM2JC1GLDYlLUYvNiVRInlGJ0ZobkY+RjhGQEY+Rl9vRmFvRmNvRmVvRmhvRl9vRmFvRmNvRmpvLUZSNiYtRlU2KC1GIzYkLUYsNiVGaHpGW3dGQEY+Rl9vRmFvRmNvRmVvRmhvRl9vRmFvRmNvRmlyRlxzRl5zRmBzRmJzRmRzRmdzRmlzRlx0Rl90RmJ0RmR0RmZ0Rml0Rlt1Rl11Rl91RmJ1RkNGPkY+RmR1Rmd1Rmp1RmR1Rl12LUZhcDYtUSIsRidGPkZncC9GanBGNEZbcUZdcUZfcUZhcUZjcUZlcS9GaXFRLDAuMzMzMzMzM2VtRidGYnhGPg==i.e. find a linear combination of the columns of the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= that is equal to the vector LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5 If LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEibUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1GLDYlUSJuRidGL0YyLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5GVkY5and the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= is invertible then there is a unique solution. In particular, if LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEieUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5is the vector of zeros, then the only solution is LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYvLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSI9RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGSS8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZYLUY7NiRRIjBGJ0Y+LUZENi1RIixGJ0Y+RkcvRktGNEZMRk5GUEZSRlQvRldRJjAuMGVtRicvRlpRLDAuMzMzMzMzM2VtRictRkQ2LVEjLi5GJ0Y+RkdGSkZMRk5GUEZSRlQvRldRLDAuMjIyMjIyMmVtRicvRlpGXW8tRkQ2LVEiLkYnRj5GR0ZKRkxGTkZQRlJGVEZcb0Zlb0Zobi1GLDYlRi4tRiM2JC1GLzYlUSJuRidGMkY1Rj5GQEZDLUY7NiRRIzAuRidGPi1GRDYtUSJ+RidGPkZHRkpGTEZORlBGUkZURlxvRmVvRmNwRj4=I.E. the columns of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5are linearly independent. Conversely if the columns of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= are linearly independent, then the matrix is invertible. This observation is useful when checking to see if a set of vectors form a basis. Recall that a basis for the vector space must span and be linearly independent. Given a set of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= vectors LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEidkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSIsRidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GRDYtUSMuLkYnRj5GRy9GS0ZJRkxGTkZQRlJGVC9GV1EsMC4yMjIyMjIyZW1GJy9GWkZYLUZENi1RIi5GJ0Y+RkdGaW5GTEZORlBGUkZURlZGXG9GQy1GLDYlRi4tRiM2JC1GLzYlUSJuRidGMkY1Rj5GQC1GRDYtUSJ+RidGPkZHRmluRkxGTkZQRlJGVEZWRlxvRj4=of size LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIixGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRjEvJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdRLDAuMzMzMzMzM2VtRictRjY2LVEifkYnRjlGOy9GP0Y9RkBGQkZERkZGSEZKL0ZORkxGOQ==they form a basis for the vector space of vectors of size LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5if and only if the matrix whose columns are the vector LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEidkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSIsRidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GRDYtUSMuLkYnRj5GRy9GS0ZJRkxGTkZQRlJGVC9GV1EsMC4yMjIyMjIyZW1GJy9GWkZYLUZENi1RIi5GJ0Y+RkdGaW5GTEZORlBGUkZURlZGXG9GQy1GLDYlRi4tRiM2JC1GLzYlUSJuRidGMkY1Rj5GQC1GRDYtUSJ+RidGPkZHRmluRkxGTkZQRlJGVEZWRlxvRj4=is invertible, which is true if and only if its determinant is not equal to zero. A := RandomMatrix(5,5,density=.5); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvRmduRmduRmduLUZobjYoLUYjNiQtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmJwLUZbbzYkUSIyRidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby1GZW42Ki1GaG42KC1GW282JFEjMjJGJ0Y5Rl5vRmFvRmNvRmVvRmhvLUZobjYoLUZbbzYkUSMyNEYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRltvNiRRIzI1RidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRl5wLUZbbzYkUSMxOEYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JEZecC1GW282JFEiNEYnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiotRmhuNigtRltvNiRRIjlGJ0Y5Rl5vRmFvRmNvRmVvRmhvLUZobjYoLUZbbzYkUSMyMEYnRjlGXm9GYW9GY29GZW9GaG9Gam9GZ24tRmhuNigtRltvNiRRIzY5RidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby1GZW42KkZnbkZnbkZnbkZnbkZnbkZeb0Zhb0Zjby1GZW42KkZnbkZnbi1GaG42KC1GIzYkRl5wLUZbbzYkUSM1MEYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JEZecC1GW282JFEjOTNGJ0Y5Rl5vRmFvRmNvRmVvRmhvRmduRl5vRmFvRmNvLyUmYWxpZ25HUSVheGlzRicvRl9vUSliYXNlbGluZUYnL0Zib1EmcmlnaHRGJy9GZG9RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0YxLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZnUvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYXYvJSZmcmFtZUdGYXYvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Y9LyUtZXF1YWxjb2x1bW5zR0Y9LyUtZGlzcGxheXN0eWxlR0Y9LyUlc2lkZUdGX3UvJTBtaW5sYWJlbHNwYWNpbmdHRl52RjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zjdy8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MTE5NzY0OEYn Determinant(A); IiIh while (Determinant(A) = 0) do A := RandomMatrix(5,5,density=.5); end do; LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvRmduRmduRmduRmduRl5vRmFvRmNvLUZlbjYqLUZobjYoLUYjNiQtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmRwLUZbbzYkUSMxNUYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRltvNiRRIzk1RidGOUZeb0Zhb0Zjb0Zlb0Zob0Znbi1GaG42KC1GIzYkRmBwLUZbbzYkUSMzNUYnRjlGXm9GYW9GY29GZW9GaG9GZ25GXm9GYW9GY28tRmVuNiotRmhuNigtRltvNiRRIzk5RidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmBwLUZbbzYkUSM2MUYnRjlGXm9GYW9GY29GZW9GaG9GZ24tRmhuNigtRltvNiRRIzgwRidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GW282JFEjODJGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYqRmduLUZobjYoLUYjNiRGYHAtRltvNiRRIzc4RidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmBwLUZbbzYkUSMyNkYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JEZgcEZqckZeb0Zhb0Zjb0Zlb0Zob0ZnbkZeb0Zhb0Zjby1GZW42Ki1GaG42KC1GIzYkRmBwLUZbbzYkUSIzRidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmBwLUZbbzYkUSM5MUYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRltvNiRRIzIyRidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KEZedUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GW282JFEjMTJGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLyUmYWxpZ25HUSVheGlzRicvRl9vUSliYXNlbGluZUYnL0Zib1EmcmlnaHRGJy9GZG9RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0YxLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGanYvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZXcvJSZmcmFtZUdGZXcvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Y9LyUtZXF1YWxjb2x1bW5zR0Y9LyUtZGlzcGxheXN0eWxlR0Y9LyUlc2lkZUdGY3YvJTBtaW5sYWJlbHNwYWNpbmdHRmJ3RjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZneC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MTIyNzUxNkYn LUknTWF0cml4RzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliRzYiNiMvSSQlaWRHRiciKltcTGgi Determinant(A); IishPURgPiI= B := MatrixInverse(A); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvRmduLUZobjYoLUkmbWZyYWNHRiQ2KC1GW282JFEiMUYnRjktRltvNiRRIzg5RidGOS8lLmxpbmV0aGlja25lc3NHRmdvLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmlwLyUpYmV2ZWxsZWRHRj1GXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JC1GNjYtUSomdW1pbnVzMDtGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GZnEtRl1wNigtRltvNiRRIjlGJ0Y5LUZbbzYkUSUzODI3RidGOUZlcEZncEZqcEZccUZeb0Zhb0Zjb0Zlb0Zob0ZnbkZeb0Zhb0Zjby1GZW42KkZnbi1GaG42KC1GIzYkRmJxLUZdcDYoRl9wLUZbbzYkUSMzNUYnRjlGZXBGZ3BGanBGXHFGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JEZicS1GXXA2KC1GW282JFEjOTBGJ0Y5LUZbbzYkUSY2MDQzMUYnRjlGZXBGZ3BGanBGXHFGXm9GYW9GY29GZW9GaG8tRmhuNigtRl1wNigtRltvNiRRJDgxMEYnRjktRltvNiRRKDI1OTg1MzNGJ0Y5RmVwRmdwRmpwRlxxRl5vRmFvRmNvRmVvRmhvLUZobjYoLUZdcDYoLUZbbzYkUSMxMEYnRjktRltvNiRRJDY3OUYnRjlGZXBGZ3BGanBGXHFGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiotRmhuNigtRiM2JEZicS1GXXA2KEZfcC1GW282JFEjNDZGJ0Y5RmVwRmdwRmpwRlxxRl5vRmFvRmNvRmVvRmhvLUZobjYoLUYjNiRGYnEtRl1wNigtRltvNiRRIjhGJ0Y5LUZbbzYkUSQxNjFGJ0Y5RmVwRmdwRmpwRlxxRl5vRmFvRmNvRmVvRmhvLUZobjYoLUYjNiRGYnEtRl1wNigtRltvNiRRJTgzOTdGJ0Y5LUZbbzYkUSgyNzc5ODI2RidGOUZlcEZncEZqcEZccUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmJxLUZdcDYoLUZbbzYkUSgyNTgzMzkxRidGOS1GW282JFEqMTE5NTMyNTE4RidGOUZlcEZncEZqcEZccUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GXXA2KC1GW282JFEkOTMzRidGOS1GW282JFEmMzEyMzRGJ0Y5RmVwRmdwRmpwRlxxRl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYqRmduRmduRmduLUZobjYoLUZdcDYoRl9wLUZbbzYkUSM4NkYnRjlGZXBGZ3BGanBGXHFGXm9GYW9GY29GZW9GaG9GZ25GXm9GYW9GY28tRmVuNipGZ25GZ24tRmhuNigtRl1wNihGanEtRltvNiRRJTg2MzNGJ0Y5RmVwRmdwRmpwRlxxRl5vRmFvRmNvRmVvRmhvLUZobjYoLUYjNiRGYnEtRl1wNigtRltvNiRRIzgxRidGOS1GW282JFEnMzcxMjE5RidGOUZlcEZncEZqcEZccUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmJxLUZdcDYoRl9wLUZbbzYkUSM5N0YnRjlGZXBGZ3BGanBGXHFGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28vJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmJvRmlwL0Zkb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZnW2wvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYlxsLyUmZnJhbWVHRmJcbC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGX1xsRjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZlXWwvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjExOTkxOTJGJw== MatrixMatrixMultiply(A,B); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSi1GODYoLUY7NiRRIjBGJ0Y+RkFGREZGRkhGS0ZNRk1GTUZBRkRGRi1GNTYqRk1GN0ZNRk1GTUZBRkRGRi1GNTYqRk1GTUY3Rk1GTUZBRkRGRi1GNTYqRk1GTUZNRjdGTUZBRkRGRi1GNTYqRk1GTUZNRk1GN0ZBRkRGRi8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmJvLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl1wLyUmZnJhbWVHRl1wLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmdwLyUtZGlzcGxheXN0eWxlR0ZncC8lJXNpZGVHRmpuLyUwbWlubGFiZWxzcGFjaW5nR0Zqby8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGZ3BGPkY+L0krbXNlbWFudGljc0dGJFEnTWF0cml4RicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGZXEvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjEyMDI5ODRGJw== u := RandomVector(5); v := RandomVector(5); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEidUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1GIzYkLUY2Ni1RKiZ1bWludXMwO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZgby1JI21uR0YkNiRRIzg1RidGOS8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGaG8vJStncm91cGFsaWduR0Zoby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZfcEZmb0Zpb0ZbcC1GZW42Ji1GaG42KC1GIzYkRlxvLUZjbzYkUSMxOUYnRjlGZm9GaW9GW3BGXXBGYHBGZm9GaW9GW3AtRmVuNiYtRmhuNigtRmNvNiRRIzU3RidGOUZmb0Zpb0ZbcEZdcEZgcEZmb0Zpb0ZbcC1GZW42Ji1GaG42KC1GY282JFEjODNGJ0Y5RmZvRmlvRltwRl1wRmBwRmZvRmlvRltwLUZlbjYmLUZobjYoLUYjNiRGXG8tRmNvNiRRIzQ1RidGOUZmb0Zpb0ZbcEZdcEZgcEZmb0Zpb0ZbcC8lJmFsaWduR1ElYXhpc0YnL0Znb1EpYmFzZWxpbmVGJy9Gam9RJnJpZ2h0RicvRlxwUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl9zLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmpzLyUmZnJhbWVHRmpzLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHRmhyLyUwbWlubGFiZWxzcGFjaW5nR0Znc0Y5L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGXHUvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjQzMTk0NzZGJw== LSZJJ1ZlY3Rvckc2JCUqcHJvdGVjdGVkR0koX3N5c2xpYkc2IjYjSSdjb2x1bW5HRig2Iy9JJCVpZEdGKCIqWzxMayI= c := MatrixVectorMultiply(A,u); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiY0YnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRJjE1NzEzRidGOS8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGYG8vJStncm91cGFsaWduR0Zgby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Znb0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GW282JFElMjIyMEYnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiYtRmhuNigtRltvNiRRJTQ1MjJGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYmLUZobjYoLUYjNiQtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORmJxLUZbbzYkUSU3MzEwRidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GW282JFElODg1N0YnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28vJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmJvUSZyaWdodEYnL0Zkb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zbcy8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zmcy8lJmZyYW1lR0Zmcy8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0Zkci8lMG1pbmxhYmVsc3BhY2luZ0dGY3NGOS9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmh0LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYxNTk4NDQ4Ric= MatrixVectorMultiply(B,c); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEjNjhGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkMvJStncm91cGFsaWduR0ZDLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRkpGQUZERkYtRjU2Ji1GODYoLUY7NiRRIzU4RidGPkZBRkRGRkZIRktGQUZERkYtRjU2Ji1GODYoLUYvNiUtSSNtb0dGJDYtUSomdW1pbnVzMDtGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Zqbi8lKXN0cmV0Y2h5R0Zqbi8lKnN5bW1ldHJpY0dGam4vJShsYXJnZW9wR0Zqbi8lLm1vdmFibGVsaW1pdHNHRmpuLyUnYWNjZW50R0Zqbi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmlvLUY7NiRRIzQzRidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRi82JUZaLUY7NiRRIzg1RidGPkY+RkFGREZGRkhGS0ZBRkRGRkZfcC8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmZxLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmFyLyUmZnJhbWVHRmFyLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGam4vJS1lcXVhbGNvbHVtbnNHRmpuLyUtZGlzcGxheXN0eWxlR0Zqbi8lJXNpZGVHRl5xLyUwbWlubGFiZWxzcGFjaW5nR0Zeci8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGam5GPkY+L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGaHMvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjE2MjI3MzZGJw== A; LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSi1GODYoLUY7NiRRIzgwRidGPkZBRkRGRkZIRkstRjg2KC1GLzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGZm4vJSlzdHJldGNoeUdGZm4vJSpzeW1tZXRyaWNHRmZuLyUobGFyZ2VvcEdGZm4vJS5tb3ZhYmxlbGltaXRzR0Zmbi8lJ2FjY2VudEdGZm4vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0Zlby1GOzYkUSM0NkYnRj5GPkZBRkRGRkZIRkstRjg2KC1GLzYlRlYtRjs2JFEjODhGJ0Y+Rj5GQUZERkZGSEZLLUY4NigtRi82JUZWLUY7NiRRIzE5RidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYqRjctRjg2KC1GLzYlRlYtRjs2JFEjMzVGJ0Y+Rj5GQUZERkZGSEZLRjdGNy1GODYoLUYvNiVGVi1GOzYkUSM1MEYnRj5GPkZBRkRGRkZIRktGQUZERkYtRjU2Ki1GODYoLUY7NiRRIzg5RidGPkZBRkRGRkZIRktGN0Y3LUY4NigtRjs2JFEjMThGJ0Y+RkFGREZGRkhGS0Y3RkFGREZGLUY1NipGN0Y3RjctRjg2KC1GOzYkUSM4NkYnRj5GQUZERkZGSEZLRjdGQUZERkYtRjU2Ki1GODYoLUY7NiRRIjlGJ0Y+RkFGREZGRkhGS0Y3RjdGNy1GODYoLUYvNiVGVi1GOzYkUSM5N0YnRj5GPkZBRkRGRkZIRktGQUZERkYvJSZhbGlnbkdRJWF4aXNGJy9GQlEpYmFzZWxpbmVGJy9GRVEmcmlnaHRGJy9GR1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZodC8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZjdS8lJmZyYW1lR0ZjdS8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRmZuLyUtZXF1YWxjb2x1bW5zR0Zmbi8lLWRpc3BsYXlzdHlsZUdGZm4vJSVzaWRlR0ZgdC8lMG1pbmxhYmVsc3BhY2luZ0dGYHUvJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRmZuRj5GPi9JK21zZW1hbnRpY3NHRiRRJ01hdHJpeEYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmp2LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYxMzM0OTQ4Ric= A[1..5,1]; LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkZBRkRGRkY0LUY1NiYtRjg2KC1GOzYkUSM4OUYnRj5GQUZERkZGSEZLRkFGREZGRjQtRjU2Ji1GODYoLUY7NiRRIjlGJ0Y+RkFGREZGRkhGS0ZBRkRGRi8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmNvLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl5wLyUmZnJhbWVHRl5wLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmhwLyUtZGlzcGxheXN0eWxlR0ZocC8lJXNpZGVHRltvLyUwbWlubGFiZWxzcGFjaW5nR0ZbcC8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGaHBGPkY+L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGZnEvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjE2MjI2NjRGJw== Basis([A[1..5,1],A[1..5,2],A[1..5,3],A[1..5,4],A[1..5,5]]); LUkobWZlbmNlZEc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUklbXJvd0dGJDYrLUkobWFjdGlvbkdGJDYlLUYjNigtRiw2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkcvJStncm91cGFsaWduR0ZHLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRk5GRUZIRkpGOC1GOTYmLUY8NigtRj82JFEjODlGJ0ZCRkVGSEZKRkxGT0ZFRkhGSkY4LUY5NiYtRjw2KC1GPzYkUSI5RidGQkZFRkhGSkZMRk9GRUZIRkovJSZhbGlnbkdRJWF4aXNGJy9GRlEpYmFzZWxpbmVGJy9GSVEmcmlnaHRGJy9GS1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHUSV0cnVlRicvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Znby8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZicC8lJmZyYW1lR0ZicC8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHUSZmYWxzZUYnLyUtZXF1YWxjb2x1bW5zR0ZccS8lLWRpc3BsYXlzdHlsZUdGXHEvJSVzaWRlR0Zfby8lMG1pbmxhYmVsc3BhY2luZ0dGX3BGQi9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmVxLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYxNjQyNDQ0RictSSNtb0dGJDYtUSIsRidGQi8lJmZlbmNlR0ZccS8lKnNlcGFyYXRvckdGZG8vJSlzdHJldGNoeUdGXHEvJSpzeW1tZXRyaWNHRlxxLyUobGFyZ2VvcEdGXHEvJS5tb3ZhYmxlbGltaXRzR0ZccS8lJ2FjY2VudEdGXHEvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GLzYlLUYjNigtRiw2Iy1GNjY5LUY5NiYtRjw2KC1GPzYkUSM4MEYnRkJGRUZIRkpGTEZPRkVGSEZKLUY5NiYtRjw2KC1GLDYkLUZlcjYtUSomdW1pbnVzMDtGJ0ZCRmhyL0Zbc0ZccUZcc0Zec0Zgc0Zic0Zkcy9GZ3NRLDAuMjIyMjIyMmVtRicvRmpzRmZ1LUY/NiRRIzM1RidGQkZFRkhGSkZMRk9GRUZIRkpGOEY4RjhGaW5GXG9GXm9GYG9GYm9GZW9GaG9Gam9GXXBGYHBGY3BGZXBGZ3BGanBGXXFGX3FGYXFGY3FGQkZlcUZocUZbckZlcUZeci9GYnJRKjE2MTYyMDI5NkYnRmRyLUYvNiUtRiM2KC1GLDYjLUY2NjktRjk2Ji1GPDYoLUYsNiRGYXUtRj82JFEjNDZGJ0ZCRkVGSEZKRkxGT0ZFRkhGSkY4RjhGOEY4RmluRlxvRl5vRmBvRmJvRmVvRmhvRmpvRl1wRmBwRmNwRmVwRmdwRmpwRl1xRl9xRmFxRmNxRkJGZXFGaHFGW3JGZXFGXnIvRmJyUSoxNjE2NDQ0NDRGJ0Zkci1GLzYlLUYjNigtRiw2Iy1GNjY5LUY5NiYtRjw2KC1GLDYkRmF1LUY/NiRRIzg4RidGQkZFRkhGSkZMRk9GRUZIRkpGOC1GOTYmLUY8NigtRj82JFEjMThGJ0ZCRkVGSEZKRkxGT0ZFRkhGSi1GOTYmLUY8NigtRj82JFEjODZGJ0ZCRkVGSEZKRkxGT0ZFRkhGSkY4RmluRlxvRl5vRmBvRmJvRmVvRmhvRmpvRl1wRmBwRmNwRmVwRmdwRmpwRl1xRl9xRmFxRmNxRkJGZXFGaHFGW3JGZXFGXnIvRmJyUSoxNjE2MTgwMDhGJ0Zkci1GLzYlLUYjNigtRiw2Iy1GNjY5LUY5NiYtRjw2KC1GLDYkRmF1LUY/NiRRIzE5RidGQkZFRkhGSkZMRk9GRUZIRkotRjk2Ji1GPDYoLUYsNiRGYXUtRj82JFEjNTBGJ0ZCRkVGSEZKRkxGT0ZFRkhGSkY4RjgtRjk2Ji1GPDYoLUYsNiRGYXUtRj82JFEjOTdGJ0ZCRkVGSEZKRkxGT0ZFRkhGSkZpbkZcb0Zeb0Zgb0Zib0Zlb0Zob0Zqb0ZdcEZgcEZjcEZlcEZncEZqcEZdcUZfcUZhcUZjcUZCRmVxRmhxRltyRmVxRl5yL0ZiclEqMTYxNDk4NzQwRidGQkZocUZbcg==
<Text-field style="Heading 1" layout="Heading 1">Linear Transformations</Text-field> A linear transformation LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5is a mapping from one vector space LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiVUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= to a vector space LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiVkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5such that for any LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYuLUkjbWlHRiQ2JVEidUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKiZFbGVtZW50O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUYsNiVRIlVGJ0YvRjItRjY2LVEifkYnRjlGO0Y+RkBGQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZWLUY2Ni9RJGFuZEYnLyUlYm9sZEdGMS9GM1ElYm9sZEYnLyUrZm9udHdlaWdodEdGaG5GO0Y+RkBGQkZERkZGSEZVRldGUi1GLDYlUSJ2RidGL0YyRlJGNS1GLDYlUSJWRidGL0YyLUY2Ni1RIixGJ0Y5RjsvRj9GMUZARkJGREZGRkhGVS9GTlEsMC4zMzMzMzMzZW1GJ0Y5 LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY6LUkjbWlHRiQ2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYmLUYsNiVRInVGJ0YvRjItSSNtb0dGJDYtUSIrRicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZFLyUpc3RyZXRjaHlHRkUvJSpzeW1tZXRyaWNHRkUvJShsYXJnZW9wR0ZFLyUubW92YWJsZWxpbWl0c0dGRS8lJ2FjY2VudEdGRS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRlQtRiw2JVEidkYnRi9GMkZBRkEtRj42LVEifkYnRkFGQ0ZGRkhGSkZMRk5GUC9GU1EmMC4wZW1GJy9GVkZobi1GPjYtUSI9RidGQUZDRkZGSEZKRkxGTkZQL0ZTUSwwLjI3Nzc3NzhlbUYnL0ZWRl5vRlpGKy1GNjYkLUYjNiRGOkZBRkFGPUYrLUY2NiQtRiM2JEZXRkFGQUZaLUY+Ni9RJGFuZEYnLyUlYm9sZEdGMS9GM1ElYm9sZEYnLyUrZm9udHdlaWdodEdGXnBGQ0ZGRkhGSkZMRk5GUEZnbkZpbkZaRistRjY2JC1GIzYmLUYsNiVRImFGJ0YvRjItRj42LVEnJnNkb3Q7RidGQUZDRkZGSEZKRkxGTkZQRmduRmluRjpGQUZBRlpGam5GWkZlcEZocEYrRmBvRlpGQQ==for any vector LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYtLUkjbWlHRiQ2JVEidUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKiZFbGVtZW50O0YnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUYsNiVRIlVGJ0YvRjItRjY2LVEifkYnRjlGO0Y+RkBGQkZERkZGSC9GS1EmMC4wZW1GJy9GTkZWLUY2Ni9RJGFuZEYnLyUlYm9sZEdGMS9GM1ElYm9sZEYnLyUrZm9udHdlaWdodEdGaG5GO0Y+RkBGQkZERkZGSEZVRldGUi1GLDYlUSdzY2FsYXJGJ0YvRjJGUi1GLDYlUSJhRidGL0YyLUY2Ni1RIi5GJ0Y5RjtGPkZARkJGREZGRkhGVUZXRjk= Matrices are linear transformations and given a basis LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYrLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEidkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEiMUYnL0Y2USdub3JtYWxGJ0Y+LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictSSNtb0dGJDYtUSIsRidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0ZJLyUqc3ltbWV0cmljR0ZJLyUobGFyZ2VvcEdGSS8lLm1vdmFibGVsaW1pdHNHRkkvJSdhY2NlbnRHRkkvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GRDYtUSMuLkYnRj5GRy9GS0ZJRkxGTkZQRlJGVC9GV1EsMC4yMjIyMjIyZW1GJy9GWkZYLUZENi1RIi5GJ0Y+RkdGaW5GTEZORlBGUkZURlZGXG9GQy1GLDYlRi4tRiM2JC1GLzYlUSJuRidGMkY1Rj5GQEZDLUZENi1RIn5GJ0Y+RkdGaW5GTEZORlBGUkZURlZGXG9GPg==the computation LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRInhGJ0YvRjIvRjNRJ25vcm1hbEYnRj0tSSNtb0dGJDYtUSIsRidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGMS8lKXN0cmV0Y2h5R0ZFLyUqc3ltbWV0cmljR0ZFLyUobGFyZ2VvcEdGRS8lLm1vdmFibGVsaW1pdHNHRkUvJSdhY2NlbnRHRkUvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR1EsMC4zMzMzMzMzZW1GJy1GQDYtUSJ+RidGPUZDL0ZHRkVGSEZKRkxGTkZQRlIvRlZGVEY9where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYwLUkjbWlHRiQ2JVEieEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JJW1zdWJHRiQ2JUYrLUYjNiQtSSNtbkdGJDYkUSIxRidGOUY5LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRlY2JS1GLDYlUSJ2RidGL0YyRlhGaG4tRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZkby1GNjYtUScmc2RvdDtGJ0Y5RjtGPkZARkJGREZGRkhGSkZNRmZvRmZvRmBvLUZWNiVGKy1GIzYkLUYsNiVRIm5GJ0YvRjJGOUZobi1GVjYlRl1vLUYjNiVGXXBGNUY5RmhuRjk=corresponds to the matrix vector product LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYmLUkjbWlHRiQ2JVEjQXhGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSIsRicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUY2Ni1RIn5GJ0Y5RjsvRj9GPUZARkJGREZGRkhGSi9GTkZMRjk=where LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYyLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTC1GNjYtUSI9RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjI3Nzc3NzhlbUYnL0ZORlNGNS1JKG1hY3Rpb25HRiQ2JC1JKG1mZW5jZWRHRiQ2KC1GIzYmLUYsNiVRIUYnRi9GMi1JJ210YWJsZUdGJDY3LUkkbXRyR0YkNigtSSRtdGRHRiQ2KC1GIzYkLUklbXN1YkdGJDYlLUYsNiVRImFGJy9GMEY9RjktRiM2JC1JI21uR0YkNiRRIzExRidGOUY5LyUvc3Vic2NyaXB0c2hpZnRHUSIwRidGOS8lKXJvd2FsaWduR0Zpbi8lLGNvbHVtbmFsaWduR0Zpbi8lK2dyb3VwYWxpZ25HRmluLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRl1xLUZhbzYoLUYjNiYtRjY2LVEnJnNkb3Q7RidGOUY7Rj5GQEZCRkRGRkZIRkpGTUZkcUZkcUY5RmVwRmdwRmlwRltxRl5xLUZhbzYoLUYjNiQtRmZvNiUtRiw2JUZqb0YvRjItRiM2JS1GX3A2JFEiMUYnRjktRiw2JVEibkYnRi9GMkY5RmJwRjlGZXBGZ3BGaXBGW3FGXnFGZXBGZ3BGaXAtRl5vNigtRmFvNihGZ25GZXBGZ3BGaXBGW3FGXnFGYHFGaXJGZXBGZ3BGaXAtRl5vNigtRmFvNigtRiM2JC1GZm82JUZoby1GIzYkLUYsNiVRI24xRidGL0YyRjlGYnBGOUZlcEZncEZpcEZbcUZecUZgcS1GYW82KC1GIzYkLUZmbzYlRl1yLUYjNiQtRiw2JVEjbm5GJ0YvRjJGOUZicEY5RmVwRmdwRmlwRltxRl5xRmVwRmdwRmlwLyUmYWxpZ25HUSVheGlzRicvRmZwUSliYXNlbGluZUYnL0ZocFEnY2VudGVyRicvRmpwUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmB1LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRlt2LyUmZnJhbWVHRlt2LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZodUZnbkY5RjkvSSttc2VtYW50aWNzR0YkUSdNYXRyaXhGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zedy8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRidGNS1GNjYvUSRhbmRGJy8lJWJvbGRHRjEvRjNRJWJvbGRGJy8lK2ZvbnR3ZWlnaHRHRmB4RjtGPkZARkJGREZGRkhGSkZNRjUtRiw2JVEieEYnRi9GMkY1Rk9GNUY1LUZWNiQtRlk2KC1GIzYmRmduLUZbbzY3LUZebzYmLUZhbzYoLUYjNiQtRmZvNiUtRiw2JUZleEZbcEY5LUYjNiRGYXJGOUZicEY5RmVwRmdwRmlwRltxRl5xRmVwRmdwRmlwLUZebzYmLUZhbzYoLUYjNiQtRjY2LlEpJnZlbGxpcDtGJy8lK2ZvcmVncm91bmRHUSxbMjAwLDAsMjAwXUYnRjlGO0Y+RkBGQkZERkZGSEZKRk1GOUZlcEZncEZpcEZbcUZecUZlcEZncEZpcC1GXm82Ji1GYW82KC1GIzYkLUZmbzYlRmZ5LUYjNiRGZHJGOUZicEY5RmVwRmdwRmlwRltxRl5xRmVwRmdwRmlwRmN0RmZ0Rmh0Rmp0Rlx1Rl51RmF1RmN1RmZ1Rml1Rlx2Rl52RmB2RmN2RmV2Rmd2Rml2Rlx3RmduRjlGOS9GX3dRKkNvbFZlY3RvckYnRmF3RmR3RmBbbEZnd0Y1Rjk= with LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYxLUkjbWlHRiQ2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUklbXN1YkdGJDYlLUYsNiVRInZGJ0YvRjItRiM2JC1GLDYlUSJpRidGL0YyL0YzUSdub3JtYWxGJy8lL3N1YnNjcmlwdHNoaWZ0R1EiMEYnRkVGRS1JI21vR0YkNi1RIn5GJ0ZFLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZQLyUpc3RyZXRjaHlHRlAvJSpzeW1tZXRyaWNHRlAvJShsYXJnZW9wR0ZQLyUubW92YWJsZWxpbWl0c0dGUC8lJ2FjY2VudEdGUC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRmluLUZLNi1RIj1GJ0ZFRk5GUUZTRlVGV0ZZRmVuL0ZoblEsMC4yNzc3Nzc4ZW1GJy9GW29GYG9GSi1GOzYlLUYsNiVRImFGJ0YvRjItRiM2Ji1JI21uR0YkNiRRIjFGJ0ZFRkpGQkZFRkctRjs2JUY9LUYjNiRGaW9GRUZHLUZLNi1RIitGJ0ZFRk5GUUZTRlVGV0ZZRmVuL0ZoblEsMC4yMjIyMjIyZW1GJy9GW29GZXAtRks2LVEnJnNkb3Q7RidGRUZORlFGU0ZVRldGWUZlbkZnbkZqbkZncEZncEZhcC1GOzYlRmRvLUYjNiQtRiw2JVEjbmlGJ0YvRjJGRUZHLUY7NiVGPS1GIzYkLUYsNiVRIm5GJ0YvRjJGRUZHRkU= To see this LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzY2LUkjbWlHRiQ2JVEiVEYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUYsNiVRInhGJ0YvRjIvRjNRJ25vcm1hbEYnRj0tSSNtb0dGJDYtUSJ+RidGPS8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGRS8lKXN0cmV0Y2h5R0ZFLyUqc3ltbWV0cmljR0ZFLyUobGFyZ2VvcEdGRS8lLm1vdmFibGVsaW1pdHNHRkUvJSdhY2NlbnRHRkUvJSdsc3BhY2VHUSYwLjBlbUYnLyUncnNwYWNlR0ZULUZANi1RIj1GJ0Y9RkNGRkZIRkpGTEZORlAvRlNRLDAuMjc3Nzc3OGVtRicvRlZGZW5GP0YrLUY2NiQtRiM2LC1JJW1zdWJHRiQ2JUY6LUYjNiQtSSNtbkdGJDYkUSIxRidGPUY9LyUvc3Vic2NyaXB0c2hpZnRHUSIwRictRlxvNiUtRiw2JVEidkYnRi9GMkZeb0Zkby1GQDYtUSIrRidGPUZDRkZGSEZKRkxGTkZQL0ZTUSwwLjIyMjIyMjJlbUYnL0ZWRmBwLUZANi1RJyZzZG90O0YnRj1GQ0ZGRkhGSkZMRk5GUEZSRlVGYnBGYnBGXHAtRlxvNiVGOi1GIzYkLUYsNiVRIm5GJ0YvRjJGPUZkby1GXG82JUZpb0ZncEZkb0Y9Rj1GV0Zbb0YrLUY2NiQtRiM2JEZnb0Y9Rj1GXHBGYnBGYnBGYnBGXHBGZXBGKy1GNjYkLUYjNiRGXHFGPUY9Rj0= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYvLUkjbW9HRiQ2LVEiPUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZDLUYsNi1RIn5GJ0YvRjJGNUY3RjlGO0Y9Rj8vRkJRJjAuMGVtRicvRkVGSi1JJW1zdWJHRiQ2JS1JI21pR0YkNiVRInhGJy8lJ2l0YWxpY0dRJXRydWVGJy9GMFEnaXRhbGljRictRiM2JC1JI21uR0YkNiRRIjFGJ0YvRi8vJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1JKG1mZW5jZWRHRiQ2JC1GIzYsLUZNNiUtRlA2JVEiYUYnRlNGVi1GIzYkLUZlbjYkUSMxMUYnRi9GL0Zobi1GTTYlLUZQNiVRInZGJ0ZTRlZGWEZobi1GLDYtUSIrRidGL0YyRjVGN0Y5RjtGPUY/L0ZCUSwwLjIyMjIyMjJlbUYnL0ZFRmNwLUYsNi1RJyZzZG90O0YnRi9GMkY1RjdGOUY7Rj1GP0ZJRktGZXBGZXBGX3AtRk02JUZiby1GIzYmRlpGRi1GUDYlUSJuRidGU0ZWRi9GaG4tRk02JUZccC1GIzYkRlxxRi9GaG5GL0YvRl9wRmVwRmVwRmVwRl9wLUZNNiVGT0ZhcUZobi1GXG82JC1GIzYsRmhwRmpvRl9wRmVwRmVwRmVwRl9wLUZNNiVGYm8tRiM2JC1GUDYlUSNubkYnRlNGVkYvRmhuRl9xRi9GL0ZGRi8= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYyLUkjbW9HRiQ2LVEiPUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZDLUYsNi1RIn5GJ0YvRjJGNUY3RjlGO0Y9Rj8vRkJRJjAuMGVtRicvRkVGSi1JKG1mZW5jZWRHRiQ2JC1GIzYsLUklbXN1YkdGJDYlLUkjbWlHRiQ2JVEiYUYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJy1GIzYkLUkjbW5HRiQ2JFEjMTFGJ0YvRi8vJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1GUjYlLUZVNiVRInhGJ0ZYRmVuLUYjNiQtRmpuNiRRIjFGJ0YvRi9GXW8tRiw2LVEiK0YnRi9GMkY1RjdGOUY7Rj1GPy9GQlEsMC4yMjIyMjIyZW1GJy9GRUZecC1GLDYtUScmc2RvdDtGJ0YvRjJGNUY3RjlGO0Y9Rj9GSUZLRmBwRmBwRmpvLUZSNiVGVC1GIzYmRmdvRkYtRlU2JVEibkYnRlhGZW5GL0Zdby1GUjYlRmJvLUYjNiRGZ3BGL0Zdb0YvRi8tRlI2JS1GVTYlUSJ2RidGWEZlbkZlb0Zdb0ZGRmpvRkZGYHBGYHBGYHBGRkZqb0ZGLUZNNiQtRiM2LEZjcEZgb0Zqb0ZgcEZgcEZgcEZqby1GUjYlRlQtRiM2JC1GVTYlUSNubkYnRlhGZW5GL0Zdb0ZqcEYvRi8tRlI2JUZgcUZccUZdb0Yv LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYqLUkjbW9HRiQ2LVEiPUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGNC8lKXN0cmV0Y2h5R0Y0LyUqc3ltbWV0cmljR0Y0LyUobGFyZ2VvcEdGNC8lLm1vdmFibGVsaW1pdHNHRjQvJSdhY2NlbnRHRjQvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZDLUYsNi1RIn5GJ0YvRjJGNUY3RjlGO0Y9Rj8vRkJRJjAuMGVtRicvRkVGSi1JKG1hY3Rpb25HRiQ2JC1JKG1mZW5jZWRHRiQ2KC1GIzYmLUkjbWlHRiQ2JVEhRicvJSdpdGFsaWNHUSV0cnVlRicvRjBRJ2l0YWxpY0YnLUknbXRhYmxlR0YkNjctSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUYjNictSSttdW5kZXJvdmVyR0YkNictRiw2LVEmJlN1bTtGJ0YvL0YzUSZ1bnNldEYnL0Y2RmlvL0Y4RlovRjpGaW8vRjxGWi9GPkZaL0ZARmlvRkkvRkVRLDAuMTY2NjY2N2VtRictRiM2Ji1GVTYlUSJrRidGWEZlbkYrLUkjbW5HRiQ2JFEiMUYnRi9GLy1GIzYkLUZVNiVRIm5GJ0ZYRmVuRi8vJSdhY2NlbnRHRjQvJSxhY2NlbnR1bmRlckdGNEZULUYjNiUtSSVtc3ViR0YkNiUtRlU2JVEiYUYnL0ZZRjRGLy1GIzYlRmdwRmRwRi8vJS9zdWJzY3JpcHRzaGlmdEdRIjBGJy1GZ3E2JS1GVTYlUSJ4RidGXHJGLy1GIzYkRmRwRi9GX3JGL0ZURi8vJSlyb3dhbGlnbkdGVy8lLGNvbHVtbmFsaWduR0ZXLyUrZ3JvdXBhbGlnbkdGVy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Zhc0ZpckZbc0Zdcy1GW282Ji1GXm82KC1GIzYkLUYsNi5RKSZ2ZWxsaXA7RicvJStmb3JlZ3JvdW5kR1EsWzIwMCwwLDIwMF1GJ0YvRjJGNUY3RjlGO0Y9Rj9GSUZLRi9GaXJGW3NGXXNGX3NGYnNGaXJGW3NGXXMtRltvNiYtRl5vNigtRiM2JkZULUYjNidGYm9GVC1GIzYlLUZncTYlRmlxLUYjNiQtRlU2JVEjbmtGJ0ZYRmVuRi9GX3JGYnJGL0ZURi9GVEYvRmlyRltzRl1zRl9zRmJzRmlyRltzRl1zLyUmYWxpZ25HUSVheGlzRicvRmpyUSliYXNlbGluZUYnL0Zcc1EnY2VudGVyRicvRl5zUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGWi8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl52LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRml2LyUmZnJhbWVHRml2LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGNC8lLWVxdWFsY29sdW1uc0dGNC8lLWRpc3BsYXlzdHlsZUdGNC8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZmdkZURi9GLy9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRlx4LyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJ0ZGRitGRi1GVTYlUSNBeEYnRlhGZW5GLw== restart; with(LinearAlgebra): Verify that matrix-vector multiplication is a linear transformation. A := Matrix(5, 5, {(1, 1) = 0, (1, 2) = 80, (1, 3) = -46, (1, 4) = -88, (1, 5) = -19, (2, 1) = 0, (2, 2) = -35, (2, 3) = 0, (2, 4) = 0, (2, 5) = -50, (3, 1) = 89, (3, 2) = 0, (3, 3) = 0, (3, 4) = 18, (3, 5) = 0, (4, 1) = 0, (4, 2) = 0, (4, 3) = 0, (4, 4) = 86, (4, 5) = 0, (5, 1) = 9, (5, 2) = 0, (5, 3) = 0, (5, 4) = 0, (5, 5) = -97}); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiotSSRtdGRHRiQ2KC1JI21uR0YkNiRRIjBGJ0Y5LyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0Zgby8lK2dyb3VwYWxpZ25HRmBvLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRmdvLUZobjYoLUZbbzYkUSM4MEYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JC1GNjYtUSomdW1pbnVzMDtGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GZ3AtRltvNiRRIzQ2RidGOUZeb0Zhb0Zjb0Zlb0Zoby1GaG42KC1GIzYkRmNwLUZbbzYkUSM4OEYnRjlGXm9GYW9GY29GZW9GaG8tRmhuNigtRiM2JEZjcC1GW282JFEjMTlGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYqRmduLUZobjYoLUYjNiRGY3AtRltvNiRRIzM1RidGOUZeb0Zhb0Zjb0Zlb0Zob0ZnbkZnbi1GaG42KC1GIzYkRmNwLUZbbzYkUSM1MEYnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiotRmhuNigtRltvNiRRIzg5RidGOUZeb0Zhb0Zjb0Zlb0Zob0ZnbkZnbi1GaG42KC1GW282JFEjMThGJ0Y5Rl5vRmFvRmNvRmVvRmhvRmduRl5vRmFvRmNvLUZlbjYqRmduRmduRmduLUZobjYoLUZbbzYkUSM4NkYnRjlGXm9GYW9GY29GZW9GaG9GZ25GXm9GYW9GY28tRmVuNiotRmhuNigtRltvNiRRIjlGJ0Y5Rl5vRmFvRmNvRmVvRmhvRmduRmduRmduLUZobjYoLUYjNiRGY3AtRltvNiRRIzk3RidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby8lJmFsaWduR1ElYXhpc0YnL0Zfb1EpYmFzZWxpbmVGJy9GYm9RJnJpZ2h0RicvRmRvUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmh1LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmN2LyUmZnJhbWVHRmN2LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHRmF1LyUwbWlubGFiZWxzcGFjaW5nR0ZgdkY5L0krbXNlbWFudGljc0dGJFEnTWF0cml4RicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGZXcvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjE1OTExMjRGJw== u := Vector(5, {(1) = 68, (2) = 58, (3) = -43, (4) = -85, (5) = -85}); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEidUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzY4RidGOS8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGYG8vJStncm91cGFsaWduR0Zgby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Znb0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GW282JFEjNThGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYmLUZobjYoLUYjNiQtRjY2LVEqJnVtaW51czA7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSwwLjIyMjIyMjJlbUYnL0ZORltxLUZbbzYkUSM0M0YnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiYtRmhuNigtRiM2JEZncC1GW282JFEjODVGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvRmBxLyUmYWxpZ25HUSVheGlzRicvRl9vUSliYXNlbGluZUYnL0Zib1EmcmlnaHRGJy9GZG9RJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR0YxLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZnIvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYXMvJSZmcmFtZUdGYXMvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Y9LyUtZXF1YWxjb2x1bW5zR0Y9LyUtZGlzcGxheXN0eWxlR0Y9LyUlc2lkZUdGX3IvJTBtaW5sYWJlbHNwYWNpbmdHRl5zRjkvSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZjdC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MDk2Mjc2NEYn v := Vector(5, {(1) = 47, (2) = -54, (3) = -72, (4) = -79, (5) = 75}); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEidkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtYWN0aW9uR0YkNiUtSShtZmVuY2VkR0YkNigtRiM2Iy1JJ210YWJsZUdGJDY5LUkkbXRyR0YkNiYtSSRtdGRHRiQ2KC1JI21uR0YkNiRRIzQ3RidGOS8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGYG8vJStncm91cGFsaWduR0Zgby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Znb0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GIzYkLUY2Ni1RKiZ1bWludXMwO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZkcC1GW282JFEjNTRGJ0Y5Rl5vRmFvRmNvRmVvRmhvRl5vRmFvRmNvLUZlbjYmLUZobjYoLUYjNiRGYHAtRltvNiRRIzcyRidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GIzYkRmBwLUZbbzYkUSM3OUYnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY28tRmVuNiYtRmhuNigtRltvNiRRIzc1RidGOUZeb0Zhb0Zjb0Zlb0Zob0Zeb0Zhb0Zjby8lJmFsaWduR1ElYXhpc0YnL0Zfb1EpYmFzZWxpbmVGJy9GYm9RJnJpZ2h0RicvRmRvUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl9zLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmpzLyUmZnJhbWVHRmpzLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHRmhyLyUwbWlubGFiZWxzcGFjaW5nR0Znc0Y5L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGXHUvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjA5NjI4ODRGJw== u+v; LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEkMTE1RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0ZDLyUrZ3JvdXBhbGlnbkdGQy8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZKRkFGREZGLUY1NiYtRjg2KC1GOzYkUSI0RidGPkZBRkRGRkZIRktGQUZERkYtRjU2Ji1GODYoLUYvNiUtSSNtb0dGJDYtUSomdW1pbnVzMDtGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Zqbi8lKXN0cmV0Y2h5R0Zqbi8lKnN5bW1ldHJpY0dGam4vJShsYXJnZW9wR0Zqbi8lLm1vdmFibGVsaW1pdHNHRmpuLyUnYWNjZW50R0Zqbi8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmlvRjpGPkZBRkRGRkZIRktGQUZERkYtRjU2Ji1GODYoLUYvNiVGWi1GOzYkUSQxNjRGJ0Y+Rj5GQUZERkZGSEZLRkFGREZGLUY1NiYtRjg2KC1GLzYlRlotRjs2JFEjMTBGJ0Y+Rj5GQUZERkZGSEZLRkFGREZGLyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGXHIvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZ3IvJSZmcmFtZUdGZ3IvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zqbi8lLWVxdWFsY29sdW1uc0dGam4vJS1kaXNwbGF5c3R5bGVHRmpuLyUlc2lkZUdGZHEvJTBtaW5sYWJlbHNwYWNpbmdHRmRyLyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0ZqbkY+Rj4vSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZedC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MTg5NzkxNkYn MatrixVectorMultiply(A,u); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEmMTU3MTNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkMvJStncm91cGFsaWduR0ZDLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRkpGQUZERkYtRjU2Ji1GODYoLUY7NiRRJTIyMjBGJ0Y+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRjs2JFElNDUyMkYnRj5GQUZERkZGSEZLRkFGREZGLUY1NiYtRjg2KC1GLzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGYW8vJSlzdHJldGNoeUdGYW8vJSpzeW1tZXRyaWNHRmFvLyUobGFyZ2VvcEdGYW8vJS5tb3ZhYmxlbGltaXRzR0Zhby8lJ2FjY2VudEdGYW8vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZgcC1GOzYkUSU3MzEwRidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRjs2JFElODg1N0YnRj5GQUZERkZGSEZLRkFGREZGLyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGW3IvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZnIvJSZmcmFtZUdGZnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zhby8lLWVxdWFsY29sdW1uc0dGYW8vJS1kaXNwbGF5c3R5bGVHRmFvLyUlc2lkZUdGY3EvJTBtaW5sYWJlbHNwYWNpbmdHRmNyLyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0Zhb0Y+Rj4vSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZddC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MjI0NjIyNEYn MatrixVectorMultiply(A,u) + MatrixVectorMultiply(A,v) - MatrixVectorMultiply(A,u+v); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkZBRkRGRkY0RjRGNEY0LyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZW4vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYG8vJSZmcmFtZUdGYG8vJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGam8vJS1kaXNwbGF5c3R5bGVHRmpvLyUlc2lkZUdGUy8lMG1pbmxhYmVsc3BhY2luZ0dGXW8vJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRmpvRj5GPi9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmhwLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYyNjkzMzk2Ric= 1/3*u; LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkmbWZyYWNHRiQ2KC1JI21uR0YkNiRRIzY4RicvJSxtYXRodmFyaWFudEdRJ25vcm1hbEYnLUY+NiRRIjNGJ0ZBLyUubGluZXRoaWNrbmVzc0dRIjFGJy8lK2Rlbm9tYWxpZ25HUSdjZW50ZXJGJy8lKW51bWFsaWduR0ZMLyUpYmV2ZWxsZWRHUSZmYWxzZUYnLyUpcm93YWxpZ25HUSFGJy8lLGNvbHVtbmFsaWduR0ZULyUrZ3JvdXBhbGlnbkdGVC8lKHJvd3NwYW5HRkkvJStjb2x1bW5zcGFuR0ZJRlJGVUZXLUY1NiYtRjg2KC1GOzYoLUY+NiRRIzU4RidGQUZERkdGSkZNRk9GUkZVRldGWUZlbkZSRlVGVy1GNTYmLUY4NigtRi82Jy1JI21vR0YkNi1RKiZ1bWludXMwO0YnRkEvJSZmZW5jZUdGUS8lKnNlcGFyYXRvckdGUS8lKXN0cmV0Y2h5R0ZRLyUqc3ltbWV0cmljR0ZRLyUobGFyZ2VvcEdGUS8lLm1vdmFibGVsaW1pdHNHRlEvJSdhY2NlbnRHRlEvJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZqcC1GOzYoLUY+NiRRIzQzRidGQUZERkdGSkZNRk8vJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRlFGQUZSRlVGV0ZZRmVuRlJGVUZXLUY1NiYtRjg2KC1GLzYnRmZvLUY7NigtRj42JFEjODVGJ0ZBRkRGR0ZKRk1GT0ZicUZlcUZBRlJGVUZXRllGZW5GUkZVRldGZ3EvJSZhbGlnbkdRJWF4aXNGJy9GU1EpYmFzZWxpbmVGJy9GVkZML0ZYUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl9zLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmpzLyUmZnJhbWVHRmpzLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGUS8lLWVxdWFsY29sdW1uc0dGUS8lLWRpc3BsYXlzdHlsZUdGUS8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0Znc0ZicUZlcUZBRkEvSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZddS8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MjcwMTg5NkYn MatrixVectorMultiply(A,1/3*u) - 1/3*MatrixVectorMultiply(A,u); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkZBRkRGRkY0RjRGNEY0LyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGZW4vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGYG8vJSZmcmFtZUdGYG8vJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGam8vJS1kaXNwbGF5c3R5bGVHRmpvLyUlc2lkZUdGUy8lMG1pbmxhYmVsc3BhY2luZ0dGXW8vJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRmpvRj5GPi9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRmhwLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYyODEwNTIwRic= A linear transformation may be given as a black box, i.e. a procedure that takes vectors as input and returns vectors as output. We first construct a procedure that evaluates the matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5 We show how to construct the matrix from a linear procedure. c := 'c'; SSJjRzYi Eqs := MatrixVectorMultiply(A,Vector([a,b,c,d,e])); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEkRXFzRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEjOj1GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGTC1JKG1hY3Rpb25HRiQ2JS1JKG1mZW5jZWRHRiQ2KC1GIzYjLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUYjNiktRiM2JS1JI21uR0YkNiRRIzgwRidGOS1GNjYtUTEmSW52aXNpYmxlVGltZXM7RidGOUY7Rj5GQEZCRkRGRkZIL0ZLUSYwLjBlbUYnL0ZORmZvLUYsNiVRImJGJ0YvRjItRjY2LVEoJm1pbnVzO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZfcC1GIzYlLUZfbzYkUSM0NkYnRjlGYm8tRiw2JVEiY0YnRi9GMkZbcC1GIzYlLUZfbzYkUSM4OEYnRjlGYm8tRiw2JVEiZEYnRi9GMkZbcC1GIzYlLUZfbzYkUSMxOUYnRjlGYm8tRiw2JVEiZUYnRi9GMi8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGW3IvJStncm91cGFsaWduR0Zbci8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0ZickZpcUZcckZeci1GZW42Ji1GaG42KC1GIzYmLUY2Ni1RKiZ1bWludXMwO0YnRjlGO0Y+RkBGQkZERkZGSEZecEZgcC1GIzYlLUZfbzYkUSMzNUYnRjlGYm9GaG9GW3AtRiM2JS1GX282JFEjNTBGJ0Y5RmJvRmZxRmlxRlxyRl5yRmByRmNyRmlxRlxyRl5yLUZlbjYmLUZobjYoLUYjNiUtRiM2JS1GX282JFEjODlGJ0Y5RmJvLUYsNiVRImFGJ0YvRjItRjY2LVEiK0YnRjlGO0Y+RkBGQkZERkZGSEZecEZgcC1GIzYlLUZfbzYkUSMxOEYnRjlGYm9GXnFGaXFGXHJGXnJGYHJGY3JGaXFGXHJGXnItRmVuNiYtRmhuNigtRiM2JS1GX282JFEjODZGJ0Y5RmJvRl5xRmlxRlxyRl5yRmByRmNyRmlxRlxyRl5yLUZlbjYmLUZobjYoLUYjNiUtRiM2JS1GX282JFEiOUYnRjlGYm9GY3RGW3AtRiM2JS1GX282JFEjOTdGJ0Y5RmJvRmZxRmlxRlxyRl5yRmByRmNyRmlxRlxyRl5yLyUmYWxpZ25HUSVheGlzRicvRmpxUSliYXNlbGluZUYnL0ZdclEnY2VudGVyRicvRl9yUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdGMS8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmR3LyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl94LyUmZnJhbWVHRl94LyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGPS8lLWVxdWFsY29sdW1uc0dGPS8lLWRpc3BsYXlzdHlsZUdGPS8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0ZceEY5L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGYnkvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjI4MzQ1MjBGJw== with(codegen); Nz1JIkNHNiJJJUdSQURHRiRJKUdSQURJRU5UR0YkSShIRVNTSUFOR0YkSSlKQUNPQklBTkdGJEknTWF0aE1MR0YkSSVjb3N0R0YkSShkZWNsYXJlR0YkSStkb250cmV0dXJuR0YkSSRlcW5HRiRJKGZvcnRyYW5HRiRJJ2hvcm5lckdGJEktaW50cmVwMm1hcGxlR0YkSSpqb2lucHJvY3NHRiRJK21ha2VnbG9iYWxHRiRJKm1ha2VwYXJhbUdGJEkpbWFrZXByb2NHRiRJKW1ha2V2b2lkR0YkSS1tYXBsZTJpbnRyZXBHRiRJKW9wdGltaXplR0YkSSlwYWNrYXJnc0dGJEkrcGFja2xvY2Fsc0dGJEkrcGFja3BhcmFtc0dGJEkrcHJlcDJ0cmFuc0dGJEkqcmVuYW1ldmFyR0YkSSZzcGxpdEdGJEkpc3dhcGFyZ3NHRiQ= Aproc := makeproc(Eqs,[a,b,c,d,e]); Zio2J0kiYUc2IkkiYkdGJUkiY0dGJUkiZEdGJUkiZUdGJTYjSSJBR0YlRiVGJUMpPkYrLUkmQXJyYXlHJSpwcm90ZWN0ZWRHNiM7IiIiIiImPiZGKzYjRjMsKiomIiMhKUYzRiZGM0YzKiYiI1lGM0YnRjMhIiIqJiIjKSlGM0YoRjNGPSomIiM+RjNGKUYzRj0+JkYrNiMiIiMsJiomIiNORjNGJkYzRj0qJiIjXUYzRilGM0Y9PiZGKzYjIiIkLCYqJiIjKilGM0YkRjNGMyomIiM9RjNGKEYzRjM+JkYrNiMiIiUsJComIiMnKUYzRihGM0YzPiZGKzYjRjQsJiomIiIqRjNGJEYzRjMqJiIjKCpGM0YpRjNGPUYrRiVGJUYl optimize(x^4); NiQvSSN0MUc2IiokKUkieEdGJSIiIyIiIi9JI3QyR0YlKiQpRiRGKUYq Aproc := packparams(Aproc,[a,b,c,d,e],U); Zio2IydJIlVHNiItSSZhcnJheUclKnByb3RlY3RlZEc2IzsiIiIiIiY2I0kiQUdGJkYmRiZDKT5GLy1JJkFycmF5R0YpRio+JkYvNiNGLCwqKiYiIyEpRiwmRiU2IyIiI0YsRiwqJiIjWUYsJkYlNiMiIiRGLCEiIiomIiMpKUYsJkYlNiMiIiVGLEZCKiYiIz5GLCZGJTYjRi1GLEZCPiZGL0Y7LCYqJiIjTkYsRjpGLEZCKiYiI11GLEZKRixGQj4mRi9GQCwmKiYiIyopRiwmRiVGNkYsRiwqJiIjPUYsRkVGLEYsPiZGL0ZGLCQqJiIjJylGLEZFRixGLD4mRi9GSywmKiYiIipGLEZYRixGLComIiMoKkYsRkpGLEZCRi9GJkYmRiY= MatrixVectorMultiply(A,u); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEmMTU3MTNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkMvJStncm91cGFsaWduR0ZDLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRkpGQUZERkYtRjU2Ji1GODYoLUY7NiRRJTIyMjBGJ0Y+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRjs2JFElNDUyMkYnRj5GQUZERkZGSEZLRkFGREZGLUY1NiYtRjg2KC1GLzYlLUkjbW9HRiQ2LVEqJnVtaW51czA7RidGPi8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGYW8vJSlzdHJldGNoeUdGYW8vJSpzeW1tZXRyaWNHRmFvLyUobGFyZ2VvcEdGYW8vJS5tb3ZhYmxlbGltaXRzR0Zhby8lJ2FjY2VudEdGYW8vJSdsc3BhY2VHUSwwLjIyMjIyMjJlbUYnLyUncnNwYWNlR0ZgcC1GOzYkUSU3MzEwRidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRjs2JFElODg1N0YnRj5GQUZERkZGSEZLRkFGREZGLyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGW3IvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZnIvJSZmcmFtZUdGZnIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zhby8lLWVxdWFsY29sdW1uc0dGYW8vJS1kaXNwbGF5c3R5bGVHRmFvLyUlc2lkZUdGY3EvJTBtaW5sYWJlbHNwYWNpbmdHRmNyLyUrZm9yZWdyb3VuZEdRKFswLDAsMF1GJy8lKXJlYWRvbmx5R0Zhb0Y+Rj4vSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZddC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MzEwNTc1MkYn U := convert(u,array); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiVUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtZmVuY2VkR0YkNiYtSSdtdGFibGVHRiQ2NS1JJG10ckdGJDYqLUkkbXRkR0YkNigtSSNtbkdGJDYkUSM2OEYnRjkvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRltvLyUrZ3JvdXBhbGlnbkdGW28vJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGYm8tRlk2KC1GZm42JFEjNThGJ0Y5RmluRlxvRl5vRmBvRmNvLUZZNigtRiM2JC1GNjYtUSomdW1pbnVzMDtGJ0Y5RjtGPkZARkJGREZGRkgvRktRLDAuMjIyMjIyMmVtRicvRk5GYnAtRmZuNiRRIzQzRidGOUZpbkZcb0Zeb0Zgb0Zjby1GWTYoLUYjNiRGXnAtRmZuNiRRIzg1RidGOUZpbkZcb0Zeb0Zgb0Zjb0ZncEZpbkZcb0Zeby8lJmFsaWduR1ElYXhpc0YnL0ZqblEpYmFzZWxpbmVGJy9GXW9RJ2NlbnRlckYnL0Zfb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zbci8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zmci8lJmZyYW1lR0Zmci8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGY3JGOS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJw== v; LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEjNDdGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkMvJStncm91cGFsaWduR0ZDLyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRkpGQUZERkYtRjU2Ji1GODYoLUYvNiUtSSNtb0dGJDYtUSomdW1pbnVzMDtGJ0Y+LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZZLyUpc3RyZXRjaHlHRlkvJSpzeW1tZXRyaWNHRlkvJShsYXJnZW9wR0ZZLyUubW92YWJsZWxpbWl0c0dGWS8lJ2FjY2VudEdGWS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmJvLUY7NiRRIzU0RidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRi82JUZTLUY7NiRRIzcyRidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRi82JUZTLUY7NiRRIzc5RidGPkY+RkFGREZGRkhGS0ZBRkRGRi1GNTYmLUY4NigtRjs2JFEjNzVGJ0Y+RkFGREZGRkhGS0ZBRkRGRi8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRl9yLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmpyLyUmZnJhbWVHRmpyLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dGWS8lLWVxdWFsY29sdW1uc0dGWS8lLWRpc3BsYXlzdHlsZUdGWS8lJXNpZGVHRmdxLyUwbWlubGFiZWxzcGFjaW5nR0Znci8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGWUY+Rj4vSSttc2VtYW50aWNzR0YkUSpDb2xWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0ZhdC8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MDk2Mjg4NEYn V := convert(v,array); LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiVkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIzo9RicvRjNRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y9LyUpc3RyZXRjaHlHRj0vJSpzeW1tZXRyaWNHRj0vJShsYXJnZW9wR0Y9LyUubW92YWJsZWxpbWl0c0dGPS8lJ2FjY2VudEdGPS8lJ2xzcGFjZUdRLDAuMjc3Nzc3OGVtRicvJSdyc3BhY2VHRkwtSShtZmVuY2VkR0YkNiYtSSdtdGFibGVHRiQ2NS1JJG10ckdGJDYqLUkkbXRkR0YkNigtSSNtbkdGJDYkUSM0N0YnRjkvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRltvLyUrZ3JvdXBhbGlnbkdGW28vJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGYm8tRlk2KC1GIzYkLUY2Ni1RKiZ1bWludXMwO0YnRjlGO0Y+RkBGQkZERkZGSC9GS1EsMC4yMjIyMjIyZW1GJy9GTkZdcC1GZm42JFEjNTRGJ0Y5RmluRlxvRl5vRmBvRmNvLUZZNigtRiM2JEZpby1GZm42JFEjNzJGJ0Y5RmluRlxvRl5vRmBvRmNvLUZZNigtRiM2JEZpby1GZm42JFEjNzlGJ0Y5RmluRlxvRl5vRmBvRmNvLUZZNigtRmZuNiRRIzc1RidGOUZpbkZcb0Zeb0Zgb0Zjb0ZpbkZcb0Zeby8lJmFsaWduR1ElYXhpc0YnL0ZqblEpYmFzZWxpbmVGJy9GXW9RJ2NlbnRlckYnL0Zfb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0Zici8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0Zdcy8lJmZyYW1lR0Zdcy8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR1EmcmlnaHRGJy8lMG1pbmxhYmVsc3BhY2luZ0dGanJGOS8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJw== Aproc(U); Aproc(V); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUknbXRhYmxlR0YkNjUtSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEmMTU3MTNGJy8lLG1hdGh2YXJpYW50R1Enbm9ybWFsRicvJSlyb3dhbGlnbkdRIUYnLyUsY29sdW1uYWxpZ25HRkAvJStncm91cGFsaWduR0ZALyUocm93c3BhbkdRIjFGJy8lK2NvbHVtbnNwYW5HRkctRjU2KC1GODYkUSUyMjIwRidGO0Y+RkFGQ0ZFRkgtRjU2KC1GODYkUSU0NTIyRidGO0Y+RkFGQ0ZFRkgtRjU2KC1JJW1yb3dHRiQ2JS1JI21vR0YkNi1RKiZ1bWludXMwO0YnRjsvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRmluLyUpc3RyZXRjaHlHRmluLyUqc3ltbWV0cmljR0Zpbi8lKGxhcmdlb3BHRmluLyUubW92YWJsZWxpbWl0c0dGaW4vJSdhY2NlbnRHRmluLyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGaG8tRjg2JFElNzMxMEYnRjtGO0Y+RkFGQ0ZFRkgtRjU2KC1GODYkUSU4ODU3RidGO0Y+RkFGQ0ZFRkhGPkZBRkMvJSZhbGlnbkdRJWF4aXNGJy9GP1EpYmFzZWxpbmVGJy9GQlEnY2VudGVyRicvRkRRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGYXEvJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGXHIvJSZmcmFtZUdGXHIvJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR0Zpbi8lLWVxdWFsY29sdW1uc0dGaW4vJS1kaXNwbGF5c3R5bGVHRmluLyUlc2lkZUdRJnJpZ2h0RicvJTBtaW5sYWJlbHNwYWNpbmdHRmlxRjsvSSttc2VtYW50aWNzR0YkUSdWZWN0b3JGJy8lJW9wZW5HUSJbRicvJSZjbG9zZUdRIl1GJ0Zfcy8lK2FjdGlvbnR5cGVHUS5ydGFibGVhZGRyZXNzRicvJSlydGFibGVpZEdRKjE2MzA5OTU4NEYn LUkmQXJyYXlHJSpwcm90ZWN0ZWRHNiMvSSQlaWRHNiIiKnMqcD07 Multiplying an LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2JVEibkYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RKCZ0aW1lcztGJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EsMC4yMjIyMjIyZW1GJy8lJ3JzcGFjZUdGTEYrLUY2Ni1RIn5GJ0Y5RjtGPkZARkJGREZGRkgvRktRJjAuMGVtRicvRk5GU0Y5matrix LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic= be the vector LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYtLUkobXN1YnN1cEdGJDYoLUkjbWlHRiQ2JVEiZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLUYjNiQtRi82JVEibkYnRjJGNUY9LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZGL0krbXNlbWFudGljc0dGJFEsW25vbmUsbm9uZV1GJy1JI21vR0YkNi1RIixGJ0Y9LyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y0LyUpc3RyZXRjaHlHRlIvJSpzeW1tZXRyaWNHRlIvJShsYXJnZW9wR0ZSLyUubW92YWJsZWxpbWl0c0dGUi8lJ2FjY2VudEdGUi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHUSwwLjMzMzMzMzNlbUYnLUZNNi1RIn5GJ0Y9RlAvRlRGUkZVRldGWUZlbkZnbkZpbi9GXW9GW28tSSNtbkdGJDYkUSIxRidGPS1GTTYtUSYmbGVxO0YnRj1GUEZib0ZVRldGWUZlbkZnbi9Gam5RLDAuMjc3Nzc3OGVtRicvRl1vRlxwRjpGaG9GQUZMRl9vRj0=the vector with a one in the LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkjbWlHRiQ2JVEiaUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy9GM1Enbm9ybWFsRic=th position and zeros elsewhere produces a vector equal to the ith column of LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIi5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5 If we do not know LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5but have a procedure to evaluate LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5on input vectors, we can recover LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEiQUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1JI21vR0YkNi1RIn5GJy9GM1Enbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRj0vJSlzdHJldGNoeUdGPS8lKnN5bW1ldHJpY0dGPS8lKGxhcmdlb3BHRj0vJS5tb3ZhYmxlbGltaXRzR0Y9LyUnYWNjZW50R0Y9LyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGTEY5by evaluating the procedure on the vectors LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYkLUkobXN1YnN1cEdGJDYoLUkjbWlHRiQ2JVEiZUYnLyUnaXRhbGljR1EldHJ1ZUYnLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWNGJy1GIzYkLUYvNiVRImlGJ0YyRjUvRjZRJ25vcm1hbEYnLUYjNiQtRi82JVEibkYnRjJGNUY9LyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJy8lL3N1YnNjcmlwdHNoaWZ0R0ZGL0krbXNlbWFudGljc0dGJFEsW25vbmUsbm9uZV1GJ0Y9 for LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYpLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RJiZsZXE7RidGLy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGOC8lKXN0cmV0Y2h5R0Y4LyUqc3ltbWV0cmljR0Y4LyUobGFyZ2VvcEdGOC8lLm1vdmFibGVsaW1pdHNHRjgvJSdhY2NlbnRHRjgvJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZHLUkjbWlHRiQ2JVEiaUYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJ0YyLUZLNiVRIm5GJ0ZORlEtRjM2LVEiLkYnRi9GNkY5RjtGPUY/RkFGQy9GRlEmMC4wZW1GJy9GSUZaRi8= e1 := <1,0,0,0,0>; LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEjZTFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUSM6PUYnL0YzUSdub3JtYWxGJy8lJmZlbmNlR1EmZmFsc2VGJy8lKnNlcGFyYXRvckdGPS8lKXN0cmV0Y2h5R0Y9LyUqc3ltbWV0cmljR0Y9LyUobGFyZ2VvcEdGPS8lLm1vdmFibGVsaW1pdHNHRj0vJSdhY2NlbnRHRj0vJSdsc3BhY2VHUSwwLjI3Nzc3NzhlbUYnLyUncnNwYWNlR0ZMLUkobWFjdGlvbkdGJDYlLUkobWZlbmNlZEdGJDYoLUYjNiMtSSdtdGFibGVHRiQ2OS1JJG10ckdGJDYmLUkkbXRkR0YkNigtSSNtbkdGJDYkUSIxRidGOS8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGYG8vJStncm91cGFsaWduR0Zgby8lKHJvd3NwYW5HUSIxRicvJStjb2x1bW5zcGFuR0Znb0Zeb0Zhb0Zjby1GZW42Ji1GaG42KC1GW282JFEiMEYnRjlGXm9GYW9GY29GZW9GaG9GXm9GYW9GY29Gam9Gam9Gam8vJSZhbGlnbkdRJWF4aXNGJy9GX29RKWJhc2VsaW5lRicvRmJvUSZyaWdodEYnL0Zkb1EnfGZybGVmdHxockYnLyUvYWxpZ25tZW50c2NvcGVHRjEvJSxjb2x1bW53aWR0aEdRJWF1dG9GJy8lJndpZHRoR0ZecS8lK3Jvd3NwYWNpbmdHUSYxLjBleEYnLyUuY29sdW1uc3BhY2luZ0dRJjAuOGVtRicvJSlyb3dsaW5lc0dRJW5vbmVGJy8lLGNvbHVtbmxpbmVzR0ZpcS8lJmZyYW1lR0ZpcS8lLWZyYW1lc3BhY2luZ0dRLDAuNGVtfjAuNWV4RicvJSplcXVhbHJvd3NHRj0vJS1lcXVhbGNvbHVtbnNHRj0vJS1kaXNwbGF5c3R5bGVHRj0vJSVzaWRlR0ZncC8lMG1pbmxhYmVsc3BhY2luZ0dGZnFGOS9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRltzLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYxODk5NTk2Ric= MatrixVectorMultiply(A,e1); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkZBRkRGRkY0LUY1NiYtRjg2KC1GOzYkUSM4OUYnRj5GQUZERkZGSEZLRkFGREZGRjQtRjU2Ji1GODYoLUY7NiRRIjlGJ0Y+RkFGREZGRkhGS0ZBRkRGRi8lJmFsaWduR1ElYXhpc0YnL0ZCUSliYXNlbGluZUYnL0ZFUSZyaWdodEYnL0ZHUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRmNvLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRl5wLyUmZnJhbWVHRl5wLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmhwLyUtZGlzcGxheXN0eWxlR0ZocC8lJXNpZGVHRltvLyUwbWlubGFiZWxzcGFjaW5nR0ZbcC8lK2ZvcmVncm91bmRHUShbMCwwLDBdRicvJSlyZWFkb25seUdGaHBGPkY+L0krbXNlbWFudGljc0dGJFEqQ29sVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGZnEvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjMxNjY0NjBGJw== Aproc(convert(e1,array)); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUknbXRhYmxlR0YkNjUtSSRtdHJHRiQ2Ki1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMEYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQC8lK2dyb3VwYWxpZ25HRkAvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGR0Y0LUY1NigtRjg2JFEjODlGJ0Y7Rj5GQUZDRkVGSEY0LUY1NigtRjg2JFEiOUYnRjtGPkZBRkNGRUZIRj5GQUZDLyUmYWxpZ25HUSVheGlzRicvRj9RKWJhc2VsaW5lRicvRkJRJ2NlbnRlckYnL0ZEUSd8ZnJsZWZ0fGhyRicvJS9hbGlnbm1lbnRzY29wZUdRJXRydWVGJy8lLGNvbHVtbndpZHRoR1ElYXV0b0YnLyUmd2lkdGhHRlxvLyUrcm93c3BhY2luZ0dRJjEuMGV4RicvJS5jb2x1bW5zcGFjaW5nR1EmMC44ZW1GJy8lKXJvd2xpbmVzR1Elbm9uZUYnLyUsY29sdW1ubGluZXNHRmdvLyUmZnJhbWVHRmdvLyUtZnJhbWVzcGFjaW5nR1EsMC40ZW1+MC41ZXhGJy8lKmVxdWFscm93c0dRJmZhbHNlRicvJS1lcXVhbGNvbHVtbnNHRmFwLyUtZGlzcGxheXN0eWxlR0ZhcC8lJXNpZGVHUSZyaWdodEYnLyUwbWlubGFiZWxzcGFjaW5nR0Zkb0Y7L0krbXNlbWFudGljc0dGJFEnVmVjdG9yRicvJSVvcGVuR1EiW0YnLyUmY2xvc2VHUSJdRidGW3EvJSthY3Rpb250eXBlR1EucnRhYmxlYWRkcmVzc0YnLyUpcnRhYmxlaWRHUSoxNjMxNzEzMjBGJw== standardbasis := proc(n,i) local V; V := Vector(n); V[i] := 1; return V; end; Zio2JEkibkc2IkkiaUdGJTYjSSJWR0YlRiVGJUMlPkYoLUknVmVjdG9yRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YlNiNGJD4mRig2I0YmIiIiT0YoRiVGJUYl standardbasis(5,1); LUkobWFjdGlvbkc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYoLUklbXJvd0dGJDYmLUknbXRhYmxlR0YkNjktSSRtdHJHRiQ2Ji1JJG10ZEdGJDYoLUkjbW5HRiQ2JFEiMUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy8lKXJvd2FsaWduR1EhRicvJSxjb2x1bW5hbGlnbkdGQy8lK2dyb3VwYWxpZ25HRkMvJShyb3dzcGFuR1EiMUYnLyUrY29sdW1uc3BhbkdGSkZBRkRGRi1GNTYmLUY4NigtRjs2JFEiMEYnRj5GQUZERkZGSEZLRkFGREZGRk1GTUZNLyUmYWxpZ25HUSVheGlzRicvRkJRKWJhc2VsaW5lRicvRkVRJnJpZ2h0RicvRkdRJ3xmcmxlZnR8aHJGJy8lL2FsaWdubWVudHNjb3BlR1EldHJ1ZUYnLyUsY29sdW1ud2lkdGhHUSVhdXRvRicvJSZ3aWR0aEdGXG8vJStyb3dzcGFjaW5nR1EmMS4wZXhGJy8lLmNvbHVtbnNwYWNpbmdHUSYwLjhlbUYnLyUpcm93bGluZXNHUSVub25lRicvJSxjb2x1bW5saW5lc0dGZ28vJSZmcmFtZUdGZ28vJS1mcmFtZXNwYWNpbmdHUSwwLjRlbX4wLjVleEYnLyUqZXF1YWxyb3dzR1EmZmFsc2VGJy8lLWVxdWFsY29sdW1uc0dGYXAvJS1kaXNwbGF5c3R5bGVHRmFwLyUlc2lkZUdGWi8lMG1pbmxhYmVsc3BhY2luZ0dGZG8vJStmb3JlZ3JvdW5kR1EoWzAsMCwwXUYnLyUpcmVhZG9ubHlHRmFwRj5GPi9JK21zZW1hbnRpY3NHRiRRKkNvbFZlY3RvckYnLyUlb3BlbkdRIltGJy8lJmNsb3NlR1EiXUYnRl9xLyUrYWN0aW9udHlwZUdRLnJ0YWJsZWFkZHJlc3NGJy8lKXJ0YWJsZWlkR1EqMTYzMTcwNTg0Ric= seq(MatrixVectorMultiply(A,standardbasis(5,i)),i=1..5);