An algebra problem by Rocco Dalto

Algebra Level pending

Let f : A 2 X 2 P 3 f: \mathbb A_{2 X 2} \rightarrow \mathbb P_3 be linear transform defined by:

f ( p 1 p 2 p 3 p 4 ) = p 1 + p 2 x + p 3 x 2 + p 4 x 3 f( \begin{vmatrix}{p_{1}} && {p_{2}} \\ {p_{3}} && {p_{4}}\end{vmatrix}) = p1 + p2 * x + p3 * x^2 + p4 * x^3

Let A = { 1 2 3 4 , 2 1 5 3 , 4 2 1 7 , 7 6 4 3 } A = \{ \begin{vmatrix}{1} && {2} \\ {3} && {4}\end{vmatrix}, \begin{vmatrix}{-2} && {1} \\ {5} && {3}\end{vmatrix}, \begin{vmatrix}{4} && {-2} \\ {1} && {7}\end{vmatrix}, \begin{vmatrix}{7} && {6} \\ {4} && {3}\end{vmatrix} \} be a basis for A 2 X 2 \mathbb A_{2 X 2}

and,

B = { 2 x + 4 x 2 + 3 x 3 , 5 + 2 x + x 2 + 4 x 3 , 1 x + x 2 + 2 x 3 , 2 + x 2 x 3 } B = \{ 2 - x + 4 * x^2 + 3 * x^3, 5 + 2 * x + x^2 + 4 * x^3, 1 - x + x^2 + 2 * x^3, 2 + x^2 - x^3 \} be a basis for P 3 \mathbb P^3

If M = [ a i j ] 4 x 4 M = [a_{ij}]_{4 \: x \: 4} represents the linear transform above find S = i = 1 4 j = 1 4 a i j . \displaystyle S = \sum_{i = 1}^{4} \sum_{j = 1}^{4} a_{i j}.

Express the result to four decimal places.

If your interested you can write a program(in any language) for the General Case below and use it to find the above result.

General Case:(For program)

For this case I wrote the matrix in an unconventional manner.

Let f : A n X n P n 2 1 f: \mathbb A_{n X n} \rightarrow \mathbb P_{n^2 - 1} be linear transform defined by:

f ( x 1 x 2 . . . x n x n + 1 x n + 2 . . . x 2 n . . . . . . . . . x ( j 1 ) n + 1 x ( j 1 ) n + 2 . . . x j n . . . . . . . . . x ( n 1 ) n + 1 x ( n 1 ) n + 2 . . . x n 2 ) = j = 1 n 2 p j x j 1 f( \begin{vmatrix}{x_{1}} && {x_{2}} && {...} && {x_{n}} \\ {x_{n + 1}} && {x_{n + 2}} && {...} && {x_{2 * n}} \\ {...} && {...} && {...} \\ {x_{(j - 1) * n + 1}} && {x_{(j - 1) * n + 2}} && {...} && {x_{j * n}} \\ {...} && {...} && {...} \\ {x_{(n - 1) * n + 1}} && {x_{(n - 1) * n + 2}} && {...} && {x_{n^2}} \\ \end{vmatrix}) = \sum_{j = 1}^{n^2} p_{j} * x^{j - 1}

Let V q = x 1 q x 2 q . . . x n q x ( n + 1 ) q x ( n + 2 ) q . . . x ( 2 n ) q . . . . . . . . . x ( ( j 1 ) n + 1 ) q x ( ( j 1 ) n + 2 ) q . . . x ( j n ) q . . . . . . . . . x ( ( n 1 ) n + 1 ) q x ( ( n 1 ) n + 2 ) q . . . x ( n 2 ) q V_{q} = \begin{vmatrix}{x_{1q}} && {x_{2q}} && {...} && {x_{nq}} \\ {x_{(n + 1)q}} && {x_{(n + 2)q}} && {...} && {x_{(2 * n)q}} \\ {...} && {...} && {...} \\ {x_{((j - 1) * n + 1)q}} && {x_{((j - 1) * n + 2)q}} && {...} && {x_{(j * n)q}} \\ {...} && {...} && {...} \\ {x_{((n - 1) * n + 1)q}} && {x_{((n - 1) * n + 2)q}} && {...} && {x_{(n^2)q}} \\ \end{vmatrix}

and A = { V q ( 1 < = q < = n 2 ) } A = \{V_{q}|(1 <= q <= n^2)\} be a basis for A n X n \mathbb A_{n X n} .

Let W q = j = 1 n 2 p j q x j 1 W_{q} = \sum_{j = 1}^{n^2} p_{jq} * x^{j - 1}

and B = { W q ( 1 < = q < = n 2 ) } B = \{W_{q}| (1 <= q <= n^2) \} be a basis for P n 2 1 \mathbb P_{n^2 - 1}

Write a program in any language to find the matrix M = [ a i j ] n 2 x n 2 M = [a_{ij}]_{n^2 \: x \:n^2} representation of the general linear transform above and the sum S = i = 1 n 2 j = 1 n 2 a i j \displaystyle S = \sum_{i = 1}^{n^2} \sum_{j = 1}^{n^2} a_{i j} .

Make certain A A and B B are bases for A n X n \mathbb A_{n X n} and P n 2 1 \mathbb P_{n^2 - 1} .

You can use the program written to find the matrix M = [ a i j ] 4 x 4 M = [a_{ij}]_{4 \: x \: 4} that represents the linear transform above and output S = i = 1 4 j = 1 4 a i j \displaystyle S = \sum_{i = 1}^{4} \sum_{j = 1}^{4} a_{i j} .

Let X = 3 2 5 7 X = \begin{vmatrix}{3} && {-2} \\ {5} && {7}\end{vmatrix}

To check the matrix M = [ a i j ] 4 x 4 M = [a_{ij}]_{4 \: x \: 4} found, first find [ f ( X ) ] B [f(X)]_B without using the matrix M = [ a i j ] 4 x 4 M = [a_{ij}]_{4 \: x \: 4} , then find [ f ( X ) ] B [f(X)]_B using the matrix M = [ a i j ] 4 x 4 M = [a_{ij}]_{4 \: x \: 4} .


The answer is -2.4576.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Rocco Dalto
Apr 28, 2017

After doing the problem I supply the program I wrote for the general case which generated the output for this specific problem.

Since f : A 2 X 2 P 3 f: \mathbb A_{2 X 2} \rightarrow \mathbb P_{3} is a linear transform, for each integer j ( 1 < = j < = 4 ) j \ni (1 <= j <= 4)

f ( x 1 j x 2 j x 3 j x 4 j ) = α 1 j ( 2 x + 4 x 2 + 3 x 2 ) + α 2 j ( 5 + 2 x + x 2 + 4 x 3 ) + α 3 j ( 1 x + x + 2 x 3 ) + α 4 j ( 2 + x 2 x 3 ) = f( \begin{vmatrix}{x_{1j}} && {x_{2j}} \\ {x_{3j}} && {x_{4j}}\end{vmatrix}) = \alpha_{1j} * ( 2 - x + 4 * x^2 + 3*x^2) + \alpha_{2j} * (5 + 2 * x + x^2 + 4 * x^3) + \alpha_{3j} * (1 - x + x + 2 * x^3) + \alpha_{4j} * (2 + x^2 - x^3) =

[ 2 5 1 2 1 2 1 0 4 1 1 1 3 4 2 1 ] α 1 j α 2 j α 3 j α 4 j \begin{bmatrix}{2} && {5} && {1} && {2} \\ {-1} && {2} && {-1} && {0} \\ {4} && {1} && {1} && {1} \\ {3} && {4} && {2} && {-1}\end{bmatrix} * \begin{vmatrix}{\alpha_{1j}} \\{\alpha_{2j}} \\ {\alpha_{3j}} \\ {\alpha_{4j}}\end{vmatrix}

where,

f ( 1 2 3 4 ) = 1 + 2 x + 3 x 2 + 4 x 3 f( \begin{vmatrix}{1} && {2} \\ {3} && {4}\end{vmatrix}) = 1 + 2 * x + 3 * x^2 + 4 * x^3

f ( 2 1 5 3 ) = 2 + x + 5 x 2 + 3 x 3 f( \begin{vmatrix}{-2} && {1} \\ {5} && {3}\end{vmatrix}) = -2 + x + 5 * x^2 + 3 * x^3

f ( 4 2 1 7 ) = 4 2 x + x 2 + 7 x 3 f( \begin{vmatrix}{4} && {-2} \\ {1} && {7}\end{vmatrix}) = 4 - 2 * x + x^2 + 7 * x^3

f ( 7 6 4 3 ) = 7 + 6 x + 4 x 2 + 3 x 3 f( \begin{vmatrix}{7} && {6} \\ {4} && {3}\end{vmatrix}) = 7 + 6 * x + 4 * x^2 + 3 * x^3

Using the above we can set up the augmented matrix below to solve for the

four 4 X 4 systems of equations.

[ 2.0000 5.0000 1.0000 2.0000 1.0000 2.0000 4.0000 7.0000 1.0000 2.0000 1.0000 0.0000 2.0000 1.0000 2.0000 6.0000 4.0000 1.0000 1.0000 1.0000 3.0000 5.0000 1.0000 4.0000 3.0000 4.0000 2.0000 1.0000 4.0000 3.0000 7.0000 3.0000 ] \left[ \begin{array}{cccc|cccc} 2.0000 & 5.0000 & 1.0000 & 2.0000 & 1.0000 & -2.0000 & 4.0000 & 7.0000\\ -1.0000 & 2.0000 & -1.0000 & 0.0000 & 2.0000 & 1.0000 & -2.0000 & 6.0000\\ 4.0000 & 1.0000 & 1.0000 & 1.0000 & 3.0000 & 5.0000 & 1.0000 & 4.0000\\ 3.0000 & 4.0000 & 2.0000 & -1.0000 & 4.0000 & 3.0000 & 7.0000 & 3.0000\\ \ \end{array} \right]

0.5000 R o w 1 0.5000 * Row_{1} \rightarrow

[ 1.0000 2.5000 0.5000 1.0000 0.5000 1.0000 2.0000 3.5000 1.0000 2.0000 1.0000 0.0000 2.0000 1.0000 2.0000 6.0000 4.0000 1.0000 1.0000 1.0000 3.0000 5.0000 1.0000 4.0000 3.0000 4.0000 2.0000 1.0000 4.0000 3.0000 7.0000 3.0000 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 2.5000 & 0.5000 & 1.0000 & 0.5000 & -1.0000 & 2.0000 & 3.5000 \\ -1.0000 & 2.0000 & -1.0000 & 0.0000 & 2.0000 & 1.0000 & -2.0000 & 6.0000 \\ 4.0000 & 1.0000 & 1.0000 & 1.0000 & 3.0000 & 5.0000 & 1.0000 & 4.0000 \\ 3.0000 & 4.0000 & 2.0000 & -1.0000 & 4.0000 & 3.0000 & 7.0000 & 3.0000 \\ \ \end{array} \right]

1.0000 R O W 1 + R O W 2 1.0000 * ROW_{1} + ROW_{2}

4.0000 R O W 1 + R O W 3 -4.0000 * ROW_{1} + ROW_{3}

3.0000 R O W 1 + R O W 4 -3.0000 * ROW_{1} + ROW_{4} \rightarrow

[ 1.0000 2.5000 0.5000 1.0000 0.5000 1.0000 2.0000 3.5000 0.0000 4.5000 0.5000 1.0000 2.5000 0.0000 0.0000 9.5000 0.0000 9.0000 1.0000 3.0000 1.0000 9.0000 7.0000 10.0000 0.0000 3.5000 0.5000 4.0000 2.5000 6.0000 1.0000 7.5000 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 2.5000 & 0.5000 & 1.0000 & 0.5000 & -1.0000 & 2.0000 & 3.5000 \\ 0.0000 & 4.5000 & -0.5000 & 1.0000 & 2.5000 & 0.0000 & 0.0000 & 9.5000 \\ 0.0000 & -9.0000 & -1.0000 & -3.0000 & 1.0000 & 9.0000 & -7.0000 & -10.0000 \\ 0.0000 & -3.5000 & 0.5000 & -4.0000 & 2.5000 & 6.0000 & 1.0000 & -7.5000 \\ \ \end{array} \right]

0.2222 R o w 2 0.2222 * Row_{2} \rightarrow

[ 1.0000 2.5000 0.5000 1.0000 0.5000 1.0000 2.0000 3.5000 0.0000 1.0000 0.1111 0.2222 0.5556 0.0000 0.0000 2.1111 0.0000 9.0000 1.0000 3.0000 1.0000 9.0000 7.0000 10.0000 0.0000 3.5000 0.5000 4.0000 2.5000 6.0000 1.0000 7.5000 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 2.5000 & 0.5000 & 1.0000 & 0.5000 & -1.0000 & 2.0000 & 3.5000 \\ 0.0000 & 1.0000 & -0.1111 & 0.2222 & 0.5556 & 0.0000 & 0.0000 & 2.1111 \\ 0.0000 & -9.0000 & -1.0000 & -3.0000 & 1.0000 & 9.0000 & -7.0000 & -10.0000 \\ 0.0000 & -3.5000 & 0.5000 & -4.0000 & 2.5000 & 6.0000 & 1.0000 & -7.5000 \\ \ \end{array} \right]

2.5000 R O W 2 + R O W 1 -2.5000 * ROW_{2} + ROW_{1}

9.0000 R O W 2 + R O W 3 9.0000 * ROW_{2} + ROW_{3}

3.5000 R O W 2 + R O W 4 3.5000 * ROW_{2} + ROW_{4} \rightarrow

[ 1.0000 0.0000 0.7778 0.4444 0.8889 1.0000 2.0000 1.7778 0.0000 1.0000 0.1111 0.2222 0.5556 0.0000 0.0000 2.1111 0.0000 0.0000 2.0000 1.0000 6.0000 9.0000 7.0000 9.0000 0.0000 0.0000 0.1111 3.2222 4.4444 6.0000 1.0000 0.1111 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 0.0000 & 0.7778 & 0.4444 & -0.8889 & -1.0000 & 2.0000 & -1.7778 \\ 0.0000 & 1.0000 & -0.1111 & 0.2222 & 0.5556 & 0.0000 & 0.0000 & 2.1111 \\ 0.0000 & 0.0000 & -2.0000 & -1.0000 & 6.0000 & 9.0000 & -7.0000 & 9.0000 \\ 0.0000 & 0.0000 & 0.1111 & -3.2222 & 4.4444 & 6.0000 & 1.0000 & -0.1111 \\ \ \end{array} \right]

0.5000 R o w 3 -0.5000 * Row3 \rightarrow

[ 1.0000 0.0000 0.7778 0.4444 0.8889 1.0000 2.0000 1.7778 0.0000 1.0000 0.1111 0.2222 0.5556 0.0000 0.0000 2.1111 0.0000 0.0000 1.0000 0.5000 3.0000 4.5000 3.5000 4.5000 0.0000 0.0000 0.1111 3.2222 4.4444 6.0000 1.0000 0.1111 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 0.0000 & 0.7778 & 0.4444 & -0.8889 & -1.0000 & 2.0000 & -1.7778 \\ 0.0000 & 1.0000 & -0.1111 & 0.2222 & 0.5556 & 0.0000 & 0.0000 & 2.1111 \\ 0.0000 & 0.0000 & 1.0000 & 0.5000 & -3.0000 & -4.5000 & 3.5000 & -4.5000 \\ 0.0000 & 0.0000 & 0.1111 & -3.2222 & 4.4444 & 6.0000 & 1.0000 & -0.1111 \\ \ \end{array} \right]

0.7778 R O W 3 + R O W 1 -0.7778 * ROW_{3} + ROW_{1}

0.1111 R O W 3 + R O W 2 0.1111 * ROW_{3} + ROW_{2}

0.1111 R O W 3 + R O W 4 -0.1111 * ROW_{3} + ROW_{4} \rightarrow

[ 1.0000 0.0000 0.0000 0.0556 1.4444 2.5000 0.7222 1.7222 0.0000 1.0000 0.0000 0.2778 0.2222 0.5000 0.3889 1.6111 0.0000 0.0000 1.0000 0.5000 3.0000 4.5000 3.5000 4.5000 0.0000 0.0000 0.0000 3.2778 4.7778 6.5000 0.6111 0.3889 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 0.0000 & 0.0000 & 0.0556 & 1.4444 & 2.5000 & -0.7222 & 1.7222 \\ 0.0000 & 1.0000 & 0.0000 & 0.2778 & 0.2222 & -0.5000 & 0.3889 & 1.6111 \\ 0.0000 & 0.0000 & 1.0000 & 0.5000 & -3.0000 & -4.5000 & 3.5000 & -4.5000 \\ 0.0000 & 0.0000 & 0.0000 & -3.2778 & 4.7778 & 6.5000 & 0.6111 & 0.3889 \\ \ \end{array} \right]

0.3051 R o w 4 -0.3051 * Row_{4} \rightarrow

[ 1.0000 0.0000 0.0000 0.0556 1.4444 2.5000 0.7222 1.7222 0.0000 1.0000 0.0000 0.2778 0.2222 0.5000 0.3889 1.6111 0.0000 0.0000 1.0000 0.5000 3.0000 4.5000 3.5000 4.5000 0.0000 0.0000 0.0000 1.0000 1.4576 1.9831 0.1864 0.1186 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 0.0000 & 0.0000 & 0.0556 & 1.4444 & 2.5000 & -0.7222 & 1.7222 \\ 0.0000 & 1.0000 & 0.0000 & 0.2778 & 0.2222 & -0.5000 & 0.3889 & 1.6111 \\ 0.0000 & 0.0000 & 1.0000 & 0.5000 & -3.0000 & -4.5000 & 3.5000 & -4.5000 \\ 0.0000 & 0.0000 & 0.0000 & 1.0000 & -1.4576 & -1.9831 & -0.1864 & -0.1186 \\ \ \end{array} \right]

0.0556 R O W 4 + R O W 1 -0.0556 * ROW_{4} + ROW_{1}

0.2778 R O W 4 + R O W 2 -0.2778 * ROW_{4} + ROW_{2}

0.5000 R O W 4 + R O W 3 -0.5000 * ROW_{4} + ROW_{3} \rightarrow

[ 1.0000 0.0000 0.0000 0.0000 1.5254 2.6102 0.7119 1.7288 0.0000 1.0000 0.0000 0.0000 0.6271 0.0508 0.4407 1.6441 0.0000 0.0000 1.0000 0.0000 2.2712 3.5085 3.5932 4.4407 0.0000 0.0000 0.0000 1.0000 1.4576 1.9831 0.1864 0.1186 ] \left[ \begin{array}{cccc|cccc} 1.0000 & 0.0000 & 0.0000 & 0.0000 & 1.5254 & 2.6102 & -0.7119 & 1.7288 \\ 0.0000 & 1.0000 & 0.0000 & 0.0000 & 0.6271 & 0.0508 & 0.4407 & 1.6441 \\ 0.0000 & 0.0000 & 1.0000 & 0.0000 & -2.2712 & -3.5085 & 3.5932 & -4.4407 \\ 0.0000 & 0.0000 & 0.0000 & 1.0000 & -1.4576 & -1.9831 & -0.1864 & -0.1186 \\ \ \end{array} \right]

The desired matrix is:

M = [ 1.5254 2.6102 0.7119 1.7288 0.6271 0.0508 0.4407 1.6441 2.2712 3.5085 3.5932 4.4407 1.4576 1.9831 0.1864 0.1186 ] M = \begin{bmatrix}{1.5254 } && {2.6102} && {-0.7119} && {1.7288} \\ {0.6271} && {0.0508} && {0.4407} && {1.6441} \\ {-2.2712} && {-3.5085} && {3.5932} && {-4.4407} \\ {-1.4576} && {-1.9831} && {-0.1864} && {-0.1186} \end{bmatrix}

and S = i = 1 4 j = 1 4 a i j = 2.4576 S = \sum_{i = 1}^{4} \sum_{j = 1}^{4} a_{i j} = \boxed{-2.4576} .

Check [ f ( X ) ] B : [f(X)]_{B}:

Without using matrix M : M:

Let X = 3 2 5 7 X = \begin{vmatrix}{3} && {-2} \\ {5} && {7}\end{vmatrix}

\implies

f ( 3 2 5 7 ) = 3 2 x + 5 x 2 + 7 x 3 = α 1 ( 2 x + 4 x 2 + 3 x 2 ) + α 2 ( 5 + 2 x + x 2 + 4 x 3 ) + α 3 ( 1 x + x + 2 x 3 ) + α 4 ( 2 + x 2 x 3 ) = f( \begin{vmatrix}{3} && {-2} \\ {5} && {7}\end{vmatrix}) = 3 - 2 * x + 5 * x^2 + 7 * x^3 = \alpha_{1} * ( 2 - x + 4 * x^2 + 3*x^2) + \alpha_{2} * (5 + 2 * x + x^2 + 4 * x^3) + \alpha_{3} * (1 - x + x + 2 * x^3) + \alpha_{4} * (2 + x^2 - x^3) =

[ 2 5 1 2 1 2 1 0 4 1 1 1 3 4 2 1 ] \begin{bmatrix}{2} && {5} && {1} && {2} \\ {-1} && {2} && {-1} && {0} \\ {4} && {1} && {1} && {1} \\ {3} && {4} && {2} && {-1}\end{bmatrix} * α 1 α 2 α 3 α 4 \begin{vmatrix}{\alpha_{1}} \\{\alpha_{2}} \\ {\alpha_{3}} \\ {\alpha_{4}}\end{vmatrix}

Using the above we can set up the augmented matrix:

[ 2.0000 5.0000 1.0000 2.0000 3 1.0000 2.0000 1.0000 0.0000 2 4.0000 1.0000 1.0000 1.0000 5 3.0000 4.0000 2.0000 1.0000 7 ] \left[ \begin{array}{cccc|c} 2.0000 & 5.0000 & 1.0000 & 2.0000 & 3\\ -1.0000 & 2.0000 & -1.0000 & 0.0000 & -2 \\ 4.0000 & 1.0000 & 1.0000 & 1.0000 & 5 \\ 3.0000 & 4.0000 & 2.0000 & -1.0000 & 7 \\ \ \end{array} \right]

Using row operations on the above augmented matrix we obtain:

[ 1.0000 0.0000 0.0000 0.0000 1.0339 0.0000 1.0000 0.0000 0.0000 0.1695 0.0000 0.0000 1.0000 0.0000 1.3051 0.0000 0.0000 0.0000 1.0000 0.6102 ] \left[ \begin{array}{cccc|c} 1.0000 & 0.0000 & 0.0000 & 0.0000 & 1.0339 \\ 0.0000 & 1.0000 & 0.0000 & 0.0000 & 0.1695 \\ 0.0000 & 0.0000 & 1.0000 & 0.0000 & 1.3051\\ 0.0000 & 0.0000 & 0.0000 & 1.0000 & -0.6102 \\ \ \end{array} \right]

\implies

[ f ( X ) ] B = ( 1.0339 0.1695 1.3051 0.6102 ) [f(X)]_{B} = \left( \begin{array}{ccccc} 1.0339 \\ 0.1695\\ 1.3051\\ -0.6102\\ \end{array} \right)

Using matrix M M :

Using the set of matrices A A and X = 3 2 5 7 X = \begin{vmatrix}{3} && {-2} \\ {5} && {7}\end{vmatrix} we set up the system:

[ 1.0000 2.0000 4.0000 7.0000 3.0000 2.0000 1.0000 2.0000 6.0000 2.0000 3.0000 5.0000 1.0000 4.0000 5.0000 4.0000 3.0000 7.0000 3.0000 7.0000 ] \left[ \begin{array}{cccc|c} 1.0000 & -2.0000 & 4.0000 & 7.0000 & 3.0000\\ 2.0000 & 1.0000 & -2.0000 & 6.0000 & -2.0000\\ 3.0000 & 5.0000 & 1.0000 & 4.0000 & 5.0000\\ 4.0000 & 3.0000 & 7.0000 & 3.0000 & 7.0000\\ \end{array} \right]

Solving the system we obtain:

[ X ] A = [ 1.8274 1.5112 1.2130 0.4283 ] [X]_A = \left[ \begin{array}{ccccc} -1.8274\\ 1.5112\\ 1.2130\\ 0.4283\\ \end{array} \right]

\implies

[ f ( X ) ] B = M [ X ] A = [ 1.5254 2.6102 0.7119 1.7288 0.6271 0.0508 0.4407 1.6441 2.2712 3.5085 3.5932 4.4407 1.4576 1.9831 0.1864 0.1186 ] [ 1.8274 1.5112 1.2130 0.4283 ] = ( 1.0339 0.1695 1.3051 0.6102 ) [f(X)]_B = M * [X]_A = \begin{bmatrix}{1.5254 } && {2.6102} && {-0.7119} && {1.7288} \\ {0.6271} && {0.0508} && {0.4407} && {1.6441} \\ {-2.2712} && {-3.5085} && {3.5932} && {-4.4407} \\ {-1.4576} && {-1.9831} && {-0.1864} && {-0.1186} \end{bmatrix} * \left[ \begin{array}{ccccc} -1.8274\\ 1.5112\\ 1.2130\\ 0.4283\\ \end{array} \right] = \left( \begin{array}{ccccc} 1.0339 \\ 0.1695\\ 1.3051\\ -0.6102\\ \end{array} \right)

I used Free Pascal to write the program below:

program matrixrepresenationoflineartransform_6; {$R-}

{restricted to f:Rm --> Anxn}

uses crt;

                                {self contained for brillant}

const maxnum = 100;

type matrix = array[1 .. maxnum,1 .. maxnum] of real;

var

a,b,c,d,sol,prod,e:matrix;

n,l,p,v:integer;

mywork5:text;

deta,detb,product:real;

f:matrix;{for me only-check}

function intpower(base,exponent:integer):longint;

var product,k:longint;

begin{intpower}

product:= 1;

 for k:= 1 to exponent do

      product:= product * base;



 INTpower:= product;

end;{intpower}

procedure Getsize;

begin

writeln('Enter size of matrix');

readln(n);

end;

procedure Getmatrices;

var k,q,p:integer;

sum:real;

begin

writeln('To Enter ', intpower(n,2), ' basis vectors for A',n,'X',n,' : ');

for q:= 1 to intpower(n,2) do

begin

write('Enter matrix ', q, ' on one line: ');

for k:= 1 to intpower(n,2) do

begin

read(b[k,q]);

end;

end;

writeln('To Enter ',intpower(n,2), ' polynomials of degree ', intpower(n,2) - 1,' : ');

for q:= 1 to intpower(n,2) do

begin

write('Enter coefficients of polynomial ',q,': ');

for k:= 1 to intpower(n,2) do

begin

read(a[k,q]);

end;

writeln;

end;

for q:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) do

begin

a[k,intpower(n,2) + q]:= b[k,q];

end;

end;

writeln(' Solve the ',intpower(n,2),' X ',intpower(n,2),' system using the augmented matrix below:');

writeln;

for q:= 1 to intpower(n,2) do

begin

for k:= 1 to 2 * intpower(n,2) do

begin

write(a[q,k]:0:4,' ');

end;

writeln;

end;

for q:= 1 to intpower(n,2) do

begin

for k:= 1 to 2 * intpower(n,2) do

begin

write(mywork5,a[q,k]:0:4,' ');

end;

writeln(mywork5);

end;

end;

{For check bases}

{begin}

procedure hold(var c:matrix; e:matrix; m:integer);

var k,j:integer;

begin

for k:= 1 to m do

begin

for j:= 1 to m do

begin

c[k,j]:= e[k,j];

end;

end;

end;

{Determinants-To check Bases}

procedure switch2(var c:matrix; l,p,n:integer);

var q:integer;

z:real;

begin{switch}

for q:= 1 to n do

begin{m}

   z:= c[l,q];

   c[l,q]:= c[p,q];

   c[p,q]:= z;

end;{m}

end;{switch}

procedure safeguard2(var c:matrix; l:integer; var p:integer; n:integer; var v:integer; var product:real);

var q:integer;

begin{safeguard}

v:=0;

if (c[l,l] = 0) then

begin{then}

v:= 1;

q:= l;

while ((q + 1) <= n) and (v = 1) do

begin{loop}

if c[q + 1,l] <> 0 then

begin{then}

        p:= q + 1;

        switch2(c,l,p,n);

        v:= 0;

        PRODUCT:= -1 * PRODUCT;

end;{then}

q:= q + 1;

end;{loop}

end;{then}

end;{safeguard}

procedure operation11(var a:matrix; l,n:integer; var product:real);

var k,q:integer;

x:real;

s:matrix;


begin{operation1}

for q:= 1 to n do

begin{q}

s[l,q]:= a[l,q]/a[l,l];

end;{q}

PRODUCT:= PRODUCT * (1/A[L,L]);

for q:= 1 to n do

begin{q}

a[l,q]:= s[l,q];

end;{q}

    end;{operation1}

procedure operation21(var a:matrix; l,n:integer);

var k,r,q:integer;

x:real;

s:matrix;

begin{op2}

for q:= 1 to n do

begin{q}

if q <> l then

begin{then}

x:= -1 * a[q,l];

for r:= 1 to n do

begin{r}

s[q,r]:= x * a[l,r] + a[q,r];

end;{r}

for r:= 1 to n do

begin{r}

a[q,r]:= s[q,r];

end;{r}

end;{then}

end;{q}

end;{op2}

FUNCTION DETERMINANT(a:matrix; n:integer; PRODUCT:real):real;

var j:integer;

DET,DIAGONAL:real;

begin{DETERMINANT}

DIAGONAL:= 1;

FOR j:= 1 TO N DO

BEGIN{LOOP}

DIAGONAL:= DIAGONAL * (a[j,j]);

END;{LOOP}

IF DIAGONAL = 1 THEN

DET:= 1/PRODUCT

ELSE

DET:= 0;

DETERMINANT:= DET;

END;{DETERMINANT}

{end-check bases}

procedure switch(var c:matrix; l,p:integer);

var q:integer;

z:real;

begin{switch}

for q:= 1 to 2 * intpower(n,2) do

begin{m}

   z:= c[l,q];

   c[l,q]:= c[p,q];

   c[p,q]:= z;

end;{m}

end;{switch}

procedure safeguard(var c:matrix; l:integer; var p:integer; var v:integer);

var q:integer;

begin{safeguard}

v:=0;

if (c[l,l] = 0) then

begin{then}

v:= 1;

q:= l;

while ((q + 1) <= 2 * intpower(n,2)) and (v = 1) do

begin{loop}

if c[q + 1,l] <> 0 then

begin{then}

        p:= q + 1;

        switch(c,l,p);

        v:= 0;

end;{then}

q:= q + 1;

end;{loop}

end;{then}

end;{safeguard}

procedure operation1(var a:matrix; l:integer);

var q,k:integer;

s:matrix;

x:real;



                   {s is each transformed matrix}

begin{op1}

for q:= 1 to 2 * intpower(n,2) do

begin{m}

s[l,q]:= a[l,q]/a[l,l];

end;{m}

x:= 1/(a[l,l]);

for q:= 1 to 2 * intpower(n,2) do

begin{m}

a[l,q]:= s[l,q];

end;{m}

writeln(mywork5, x:0:4,' * Row',l);

writeln(mywork5);

for q:= 1 to intpower(n,2) do

begin

for k:= 1 to 2 * intpower(n,2) do

begin

write(mywork5, a[q,k]:0:4,' ');

end;

writeln(mywork5);

end;

writeln(mywork5);

end;{op1}

procedure operation2(var a:matrix; l:integer);

var q,r,k:integer;

x:real;

s:matrix;

begin{op2}

for q:= 1 to intpower(n,2) do

begin{q}

if q <> l then

begin{then}

x:= a[q,l];

for r:= 1 to 2 * intpower(n,2) do

begin{m}

s[q,r]:= -1 * x * a[l,r] + a[q,r];

end;{m}

for r:= 1 to 2 * intpower(n,2) do

begin{m}

a[q,r]:= s[q,r];

end;{m}

writeln(mywork5, -1 * x:0:4,' * ROW ', l,' + ROW',q);

end;{then}

end;{q}

writeln(mywork5);

for q:= 1 to intpower(n,2) do

begin

for k:= 1 to 2 * intpower(n,2) do

begin

write(mywork5, a[q,k]:0:4,' ');

end;

writeln(mywork5);

end;

writeln(mywork5);

end;{op2}

PROCEDURE SHOWDATA;

VAR J,k:INTEGER;

sum:extended;

myfile2:text;

BEGIN

assign(myfile2,'holdsolution5.txt');

rewrite(myfile2);

writeln;

writeln('Matrix Representation of linear transformation f: A',n,' X ',n, ' ---> P',intpower(n,2) - 1,' : ');

writeln('--------------------------------------------------------------------------------------------');

writeln;

for j:= 1 to intpower(n,2) do

begin

for k:= intpower(n,2) + 1 to 2 * intpower(n,2) do

begin

write(myfile2,a[j,k],' ');

end;

writeln(myfile2);

end;

reset(myfile2);

for j:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) do

begin

read(myfile2,sol[j,k]);

end;

end;

close(myfile2);

for j:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) do

begin

write(sol[j,k]:0:4,' ');

end;

writeln;

end;

{For brillant only}

sum:= 0;

for j:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) do

begin

sum:= sum + sol[j,k];

end;

end;

writeln;

writeln('Sum of elements of matrix = ',sum:0:4);

END;

{Last check [f(x)]B }

procedure switch3(var c:matrix; l,p,n:integer);

var r:integer;

z:real;

begin{switch3}

for r:= 1 to n + 1 do

begin{m}

   z:= c[l,r];

   c[l,r]:= c[p,r];

   c[p,r]:= z;

end;{m}

end;{switch3}

procedure safeguard3(var c:matrix; l:integer; var p:integer; n:integer; var v:integer);

var r:integer;

begin{safeguard3}

v:=0;

if (c[l,l] = 0) then

begin{then}

v:= 1;

r:= l;

while ((r + 1) <= n) and (v = 1) do

begin{loop}

if c[r + 1,l] <> 0 then

begin{then}

        p:= r + 1;

        switch3(c,l,p,n);

        v:= 0;

end;{then}

r:= r + 1;

end;{loop}

end;{then}

end;{safeguard3}

procedure operation13(var a:matrix; l,n:integer);

var r,k:integer;

s:matrix;

x:real;


                  {s is each transformed matrix}

begin{op13}

for r:= 1 to n + 1 do

begin{r}

s[l,r]:= a[l,r]/a[l,l];

end;{r}

x:= 1/(a[l,l]);

for r:= 1 to n + 1 do

begin{m}

a[l,r]:= s[l,r];

end;{r}

end;{op13}

procedure operation23(var a:matrix; l,n:integer);

var q,r:integer;

x:real;

s:matrix;

begin{op23}

for q:= 1 to n do

begin{q}

if q <> l then

begin{then}

x:= a[q,l];

for r:= 1 to n + 1 do

begin{r}

s[q,r]:= -1 * x * a[l,r] + a[q,r];

end;{r}

for r:= 1 to n + 1 do

begin{r}

a[q,r]:= s[q,r];

end;{r}

end;{then}

end;{q}

end;{op23}

procedure solution(y:matrix; n:integer);

var q:integer;

begin{solution}

for q:= 1 to n do

begin{q}

writeln(mywork5,y[q,n + 1]:0:4,'   ');

end;{q}

writeln(mywork5);

end;{solution}

procedure matrixmult(a,b:matrix; var summat:matrix);

var j,k,s:integer;

   sum:real;

begin{matrixmult}

for j:= 1 to intpower(n,2) do

begin{j}

for k:= 1 to 1 do

begin{k}

     sum:= 0;

for s:= 1 to intpower(n,2) do

begin{s}

     sum:= sum + a[j,s] * b[s,k];

end;{s}

      summat[j,k]:= sum;

              end;{k}

writeln(mywork5,sum:0:4);

end;{j}

writeln(mywork5);

end;{matrixmult}

procedure check;

var p,j,k:integer;

sum:real;

u:matrix;

begin

{without using matrix}

writeln(mywork5, ' Check [f(p)]B');

writeln(' -------------');

writeln(mywork5);

writeln('Enter a vector in M ',n,' X ',n,' on one line');

for j:= 1 to intpower(n,2) do

begin

read(f[j,intpower(n,2) + 1]);

end;

for j:= 1 to intpower(n,2) do

begin

e[j,intpower(n,2) + 1]:= f[j,intpower(n,2) + 1];

end;

for j:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) + 1 do

begin

write(mywork5,f[j,k]:0:4,' ');

end;

writeln(mywork5);

end;

{Next Use operations on matrix f}

writeln(mywork5);

writeln(mywork5, 'Check [f(p)]B');

writeln(mywork5);

for l:= 1 to intpower(n,2) do

begin{l}

safeguard3(f,l,p,intpower(n,2),v);

if v = 0 then

begin{then}

operation13(f,l,intpower(n,2));

operation23(f,l,intpower(n,2));

end;{then}

end;{l}

writeln(mywork5);

solution(f,intpower(n,2));

{Now do using matrix M}

writeln(mywork5);

writeln(mywork5);

for j:= 1 to intpower(n,2) do

begin

for k:= 1 to intpower(n,2) + 1 do

begin

write(mywork5,e[j,k]:0:4,' ');

end;

writeln(mywork5);

end;

for l:= 1 to intpower(n,2) do

begin{l}

safeguard3(e,l,p,intpower(n,2),v);

if v = 0 then

begin{then}

operation13(e,l,intpower(n,2));

operation23(e,l,intpower(n,2));

end;{then}

end;{l}

writeln(mywork5);

solution(e,intpower(n,2));

writeln(mywork5);

writeln(mywork5);

for j:= 1 to intpower(n,2) do

begin

u[j,1]:= e[j,intpower(n,2) + 1];

end;

writeln(mywork5);

writeln(mywork5);

matrixmult(sol,u,prod);

end;

begin

assign(mywork5,'mywork5.txt');

rewrite(mywork5);

getsize;

getmatrices;

hold(f,a,intpower(n,2)); {for me only-check [f(X)]}

hold(e,b,intpower(n,2));

{do determinants here}

{To do determinants to check bases here, then done.}

{checking basis for A(2x2)}

PRODUCT:= 1;

for l:= 1 to intpower(n,2) do

begin{l}

safeguard2(b,l,p,intpower(n,2),v,PRODUCT);

if v = 0 then

begin{then}

operation11(b,l,intpower(n,2),PRODUCT);

operation21(b,l,intpower(n,2));

end;{then}

end;{l}

DETB:= DETERMINANT(b,intpower(n,2),PRODUCT);

writeln;

while detb = 0 do

begin

writeln('Set of matrices is not a basis for A ',n,' X ',n);

writeln;

getmatrices;

PRODUCT:= 1;

for l:= 1 to intpower(n,2) do

begin{l}

safeguard2(b,l,p,intpower(n,2),v,PRODUCT);

if v = 0 then

begin{then}

operation11(b,l,intpower(n,2),PRODUCT);

operation21(b,l,intpower(n,2));

end;{then}

end;{l}

DETB:= DETERMINANT(b,intpower(n,2),PRODUCT);

end;

{checking basis for Rn^2}

hold(c,a,intpower(n,2));

PRODUCT:= 1;

for l:= 1 to intpower(n,2) do

begin{l}

safeguard2(c,l,p,intpower(n,2),v,PRODUCT);

if v = 0 then

begin{then}

operation11(c,l,intpower(n,2),PRODUCT);

operation21(c,l,intpower(n,2));

end;{then}

end;{l}

DETA:= DETERMINANT(c,intpower(n,2),PRODUCT);

writeln;

while deta = 0 do

begin

writeln('Set of vectors is not a basis for R',intpower(n,2));

writeln;

getmatrices;

hold(c,a,intpower(n,2));

PRODUCT:= 1;

for l:= 1 to intpower(n,2) do

begin{l}

safeguard2(c,l,p,intpower(n,2),v,PRODUCT);

if v = 0 then

begin{then}

operation11(c,l,intpower(n,2),PRODUCT);

operation21(c,l,intpower(n,2));

end;{then}

end;{l}

DETA:= DETERMINANT(c,intpower(n,2),PRODUCT);

end;

{Only getting through if deta <> 0 and detb <> 0}

for l:= 1 to intpower(n,2) do

begin{l}

safeguard(a,l,p,v);

if v = 0 then

begin{then}

operation1(a,l);

operation2(a,l);

end;{then}

end;{l}

showdata;

check;

close(mywork5);

readln;

readln;

end.

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...