null1#
Purpose#
Computes an orthonormal basis for the (right) null space of a matrix and writes it to a GAUSS dataset.
Format#
Examples#
let x[2, 4] = 2 1 3 -1
3 5 1 2;
b = null1(x, "mynull");
z = x*b;
i = b'b;
After the code above:
-0.804 0.142
b = 0.331 -0.473 z = 0 0 i = 1 0
0.473 0.331 0 0 0 1
0.142 0.804
In addition, the dataset "mynull.dat"
is saved in the current working directory and can be loaded using loadd()
.
null_ds = loadd("mynull.dat");
print null_ds;
Results in
-0.80408330 0.33112495 0.47295835 0.14183340
0.14183340 -0.47295835 0.33112495 0.80408330
Remarks#
null1()
computes an MxK matrix b, where K is the nullity of x, such that:
// NxK matrix of 0's
x * b = 0
and
// MxM identity matrix
b'b = I
The transpose of b is written to the dataset named by dataset, unless the nullity of x is zero. If nu is zero, the dataset is not written.
Globals#
_qrdc, _qrsl
Source#
null.src