Linear combination of matrix rows
MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.
MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.
linalg::addRow(A
,r_{1}
,r_{2}
,s
) linalg::addRow(A
,r_{1}
,r_{2}
,s_{1}
,s_{2}
)
linalg::addRow(A, r_{1}, r_{2},
s_{1})
adds s_{1}
times
row r_{1}
to row r_{2}
,
in the matrix A
.
linalg::addRow(A, r_{1}, r_{2},
s)
returns a copy of the matrix A in
which row r_{2} of A is
replaced by s row(A, r_{1})
+ row(A, r_{2}).
linalg::addRow(A, r_{1}, r_{2},
s_{1}, s_{2})
returns
a copy of the matrix A in
which row r_{2} of A is
replaced by s_{1} row(A, r_{1})
+ s_{2} row(A, r_{2}).
The following defines a 3×3 matrix over the integers:
A := Dom::Matrix(Dom::Integer)( [[1, 2, 3], [4, 5, 6], [7, 8, 9]] )
We replace the 2nd row by  row(A, 1) + row(A, 2), i.e., we subtract the first row from the second:
linalg::addRow(A, 1, 2, 1)
The following defines a 2×3 matrix over the reals:
B := Dom::Matrix(Dom::Real)( [[sin(2), 0, 1], [1, PI, 0]] )
If s
is an expression that does not represent
a real number then an error message is reported. The following tries
to replace the 1st row by x row(B,
2) + row(B, 1),
where x is
an identifier which cannot be converted to the component ring Dom::Real
of B:
delete x: linalg::addRow(B, 2, 1, x)
Error: Cannot convert 'x'. [linalg::addRow]
If symbolic expressions are involved, then one may define matrices
over the component ring created by Dom::ExpressionField
.
The following example defines a matrix over this default component
ring:
delete a11, a12, a21, a22, x: C := matrix([[a11, a12], [a21, a22]])
We retry the input from the previous example:
linalg::addRow(C, 2, 1, x)

An m×n matrix
of a domain of category 

The row indices: positive integers less or equal to m 

Expressions that can be converted to the component ring of 
Matrix of the same domain type as A
.