File: rowcomp.cat

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (50 lines) | stat: -rw-r--r-- 1,230 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

rowcomp(1)                     Scilab Function                     rowcomp(1)
NAME
  rowcomp - row compression, range

CALLING SEQUENCE
  [W,rk]=rowcomp(A [,flag] [,tol])

PARAMETERS

  A         : real or complex matrix

  flag      : character string

  tol       : real number

  W         : square non-singular matrix (change of basis)

  rk        : integer (rank of A)

DESCRIPTION
  Row compression of A. Ac = W*A is a row compressed matrix: i.e. Ac=[Af;0]
  with Af full row rank.

  flag and tol are optional parameters: flag='qr' or 'svd' (default 'svd').

  tol is a tolerance parameter (of order sqrt(%eps) as default value).

  The rk first columns of W' span the range of A.

  The rk first (top) rows of W span the row range of A.

Remark
  A non zero vector x belongs to range(A) iff W*x is row compressed in accor-
  dance with Ac i.e the norm of its last components is small w.r.t its first
  components.

EXAMPLE
  A=rand(5,2)*rand(2,4);   // 4 col. vectors, 2 independent.
  [X,dim]=rowcomp(A);Xp=X';
  svd([Xp(:,1:dim),A])     //span(A) = span(Xp(:,1:dim)
  x=A*rand(4,1);      //x belongs to span(A)
  y=X*x
  norm(y(dim+1:$))/norm(y(1:dim))    // small

SEE ALSO
  colcomp, fullrf, fullrfk

AUTHOR
  F. D.