The Behavioral Approach to Systems Theory Paolo Rapisarda, Un. of - - PowerPoint PPT Presentation

the behavioral approach to systems theory
SMART_READER_LITE
LIVE PREVIEW

The Behavioral Approach to Systems Theory Paolo Rapisarda, Un. of - - PowerPoint PPT Presentation

The Behavioral Approach to Systems Theory Paolo Rapisarda, Un. of Southampton, U.K. & Jan C. Willems, K.U. Leuven, Belgium MTNS 2006 Kyoto, Japan, July 2428, 2006 Lecture 6: System Identification Lecturer: Jan C. Willems Issues to


slide-1
SLIDE 1

The Behavioral Approach to Systems Theory

Paolo Rapisarda, Un. of Southampton, U.K. & Jan C. Willems, K.U. Leuven, Belgium MTNS 2006 Kyoto, Japan, July 24–28, 2006

slide-2
SLIDE 2

Lecture 6: System Identification Lecturer: Jan C. Willems

slide-3
SLIDE 3

Issues to be discussed

  • Remarks on deterministic versus stochastic system

identification.

slide-4
SLIDE 4

Issues to be discussed

  • Remarks on deterministic versus stochastic system

identification.

  • Deterministic SYSID via the notion of the most

powerful unfalsified model (MPUM)

slide-5
SLIDE 5

Issues to be discussed

  • Remarks on deterministic versus stochastic system

identification.

  • Deterministic SYSID via the notion of the most

powerful unfalsified model (MPUM)

  • What is subspace identification?
  • Algorithms for state construction
  • by past/future intersection
  • (by oblique projection)
  • by recursive annihilator computation
slide-6
SLIDE 6

General Introduction

slide-7
SLIDE 7

SYSID

MATHEMATICAL MODEL

OBSERVED DATA

MODEL CLASS

Basic difficulties: trade-off between overfitting and predictability learning essential features / rejecting non-essential ones

slide-8
SLIDE 8

SYSID

Data: an ‘observed’ vector time-series ˜ w(1), ˜ w(2), . . . , ˜ w(T) w(t) ∈ Rw T finite, infinite, or T → ∞

A dynamical model from a model class, e.g. a LTIDS

R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = 0

  • r

R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = M0ε(t) + · · · + MLε(t + L)

slide-9
SLIDE 9

SYSID

‘deterministic’ ID

variables

  • bserved

MODEL

w

Model class: R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = 0 SYSID algorithm:

˜ w(1), ˜ w(2), . . . , ˜ w(T) → ˆ R0, ˆ R1, . . . , ˆ Rˆ

L

slide-10
SLIDE 10

SYSID

‘deterministic’ ID: I/O form

variables

  • bserved
  • bserved

variables

MODEL

u y

Model class (with i/o partition): P0y(t) + · · · + PLy(t + L) = Q0u(t) + · · · + QLu(t + L), w = Π u y

  • , Π permutation , P(ξ)−1Q(ξ) proper

SYSID algorithm:

˜ w(1), ˜ w(2), . . . , ˜ w(T) → ˆ P0, ˆ P1, · · · , ˆ Pˆ

L;

ˆ Q0, ˆ Q1, · · · , ˆ Qˆ

L

slide-11
SLIDE 11

SYSID

ID with unobserved latent inputs

variables

  • bserved
  • bserved

variables latent variables

MODEL

!

u

(unobserved)

y

Model class:

R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = M0ε(t) + M1ε(t + 1) + · · · + MLε(t + L) P0y(t) + · · · + PLy(t + L) = Q0u(t) + · · · + QLu(t + L) + M0ε(t) + · · · + MLε(t + L) SYSID algorithm (e.g. PEM): ˜ w(1), ˜ w(2), . . . , ˜ w(T) → ˆ R(ξ), ˆ M(ξ)

  • Usual assumption: w, ε stochastic.
slide-12
SLIDE 12

SYSID

ID with unobserved latent inputs

variables

  • bserved
  • bserved

variables latent variables

MODEL

!

u

(unobserved)

y

Model class:

R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = M0ε(t) + M1ε(t + 1) + · · · + MLε(t + L) P0y(t) + · · · + PLy(t + L) = Q0u(t) + · · · + QLu(t + L) + M0ε(t) + · · · + MLε(t + L) SYSID algorithm (e.g. PEM): ˜ w(1), ˜ w(2), . . . , ˜ w(T) → ˆ R(ξ), ˆ M(ξ)

  • Usual assumption: w, ε stochastic.

Why (unobserved) stochastic inputs? Why stochastics? Is this physics?

slide-13
SLIDE 13

SYSID

Assumptions:

  • Data:

˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . w(t) ∈ Rw T infinite

slide-14
SLIDE 14

SYSID

Assumptions:

  • Data:

˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . w(t) ∈ Rw T infinite

  • Deterministic SYSID
slide-15
SLIDE 15

SYSID

Assumptions:

  • Data:

˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . w(t) ∈ Rw T infinite

  • Deterministic SYSID
  • Exact modeling with an eye towards approximation
slide-16
SLIDE 16

SYSID

Assumptions:

  • Data:

˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . w(t) ∈ Rw T infinite

  • Deterministic SYSID
  • Exact modeling with an eye towards approximation

From the simple to the complex!

Stochastic Exact Exact Approximate Deterministic Approximate Stochastic Deterministic

slide-17
SLIDE 17

The MPUM The exact deterministic SYSID principle

slide-18
SLIDE 18

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’

A family of (vector) time series

slide-19
SLIDE 19

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B ˜ w = ˜ w(1), ˜ w(2), . . . , ˜ w(t), . . .

slide-20
SLIDE 20

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B

  • B1 is more powerful than B2 :⇔ B1 ⊂ B2

Every model is prohibition. The more a model forbids, the better it is.

Karl Popper (1902-1994)

slide-21
SLIDE 21

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B

  • B1 is more powerful than B2 :⇔ B1 ⊂ B2
  • A model class: a family, B, of models, e.g. Lw.
slide-22
SLIDE 22

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B

  • B1 is more powerful than B2 :⇔ B1 ⊂ B2
  • A model class: a family, B, of models, e.g. Lw.
  • The MPUM ‘most powerful unfalsified model’ in B for

˜ w, denoted B∗

˜ w:

  • 1. B∗

˜ w ∈ B

  • 2. ˜

w ∈ B∗

˜ w

  • 3. B ∈ B and ˜

w ∈ B ⇒ B∗

˜ w ⊆ B

slide-23
SLIDE 23

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B

  • B1 is more powerful than B2 :⇔ B1 ⊂ B2
  • A model class: a family, B, of models, e.g. Lw.
  • The MPUM ‘most powerful unfalsified model’ in B for

˜ w, denoted B∗

˜ w:

  • 1. B∗

˜ w ∈ B

  • 2. ˜

w ∈ B∗

˜ w

  • 3. B ∈ B and ˜

w ∈ B ⇒ B∗

˜ w ⊆ B

Falsified Unfalsified

MPUM

OBSERVED DATA

slide-24
SLIDE 24

Most Powerful & Unfalsified

  • A model:= a subset B ⊆ (Rw)N, the ‘behavior’
  • B is unfalsified by ˜

w :⇔ ˜ w ∈ B

  • B1 is more powerful than B2 :⇔ B1 ⊂ B2
  • A model class: a family, B, of models, e.g. Lw.
  • The MPUM ‘most powerful unfalsified model’ in B for

˜ w, denoted B∗

˜ w:

  • 1. B∗

˜ w ∈ B

  • 2. ˜

w ∈ B∗

˜ w

  • 3. B ∈ B and ˜

w ∈ B ⇒ B∗

˜ w ⊆ B

  • Given ˜

w and B, does B∗

˜ w exist?

  • ‘Exact’ SYSID: Construct algorithms ˜

w → B∗

˜ w

slide-25
SLIDE 25

The Model Class

Exceedingly familiar: The model B ⊆ (Rw)N belongs to Lw :⇔

  • B is linear, shift-invariant, and closed
  • B is linear, time-invariant, and complete :⇔ ‘prefix

determined’

slide-26
SLIDE 26

The Model Class

Exceedingly familiar: The model B ⊆ (Rw)N belongs to Lw :⇔

  • B is linear, shift-invariant, and closed
  • B is linear, time-invariant, and complete :⇔ ‘prefix

determined’

  • ∃ matrices R0, R1, . . . , RL such that B: all w that satisfy

R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = 0 ∀ t ∈ N In the obvious polynomial matrix notation R(σ)w = 0

  • Including input/output partition

P(σ)y = Q(σ)u , w ∼ = u

y

  • det(P) = 0
slide-27
SLIDE 27

The Model Class

Exceedingly familiar: The model B ⊆ (Rw)N belongs to Lw :⇔

  • B is linear, shift-invariant, and closed
  • B is linear, time-invariant, and complete :⇔ ‘prefix

determined’

  • R(σ)w = 0
  • P(σ)y = Q(σ)u ,

w ∼ = u

y

  • ∃ matrices A, B, C, D such that

B consists of all w′s generated by

x(t + 1) = Ax(t) + Bu(t), y(t) = Cx(t) + Du(t), w ∼ = u

y

slide-28
SLIDE 28

The Model Class

Exceedingly familiar: The model B ⊆ (Rw)N belongs to Lw :⇔

  • B is linear, shift-invariant, and closed
  • B is linear, time-invariant, and complete :⇔ ‘prefix

determined’

  • R(σ)w = 0
  • P(σ)y = Q(σ)u ,

w ∼ = u

y

  • σx = Ax + Bu, y = Cx + Du,

w ∼ = u

y

  • ∃ a matrix of rational functions G such that B = sol’ns of

G(σ)w = 0 without LOG strictly proper with LOG (stabilizability) proper stable rational.

slide-29
SLIDE 29

The lag

L : Lw → Z+, L(B) = smallest L such that there is a kernel repr.: R0w(t) + R1w(t + 1) + · · · + RLw(t + L) = 0. Polynomial matrix in R(σ)w = 0 has degree(R) ≤ L. One the important ‘integer invariants’: maps : Lw → Z+,. Others: m, p, n: number of inputs, outputs, states, ν1, · · · , νp: (kernel) lag indices, observability indices, κ1, · · · , κm: (image) lag indices, controllability indices.

slide-30
SLIDE 30

The MPUM in Lw

Theorem: For infinite obs. interval, T = ∞ (our case), the MPUM for ˜ w in Lw exists. In fact, B∗

˜ w = span({ ˜

w, σ ˜ w, σ2 ˜ w, . . .})closure Same is true for model class Lw with lag ≤ ℓ. We are looking for effective computational algorithms to go from ˜ w to (a representation of) B∗

˜ w,

e.g., a kernel representation ❀ the corresponding R; e.g. a generating set of annihilators e.g., the matrices

  • A

B C D

  • f an i/s/o representation of B∗

˜ w.

slide-31
SLIDE 31

The Hankel matrix of the data

The key role is played by the ‘Hankel matrix’ of the data Hankel

H( ˜ w) :=              ˜ w(1) ˜ w(2) · · · ˜ w(t′′) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t′′ + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t′′ + 2) · · · . . . . . . . . . . . . . . . ˜ w(t′) ˜ w(t′ + 1) · · · ˜ w(t′ + t′′ − 1) · · · ˜ w(t′ + 1) ˜ w(t′ + 2) · · · ˜ w(t′ + t′′) · · · . . . . . . . . . . . . ...             

slide-32
SLIDE 32

Persistency of excitation

Data: ˜ w = ( ˜ w(1), ˜ w(2), . . . , ˜ w(T)) w(t) ∈ Rw. Question: Is it possible to recover the system that gener- ated the data? ‘Identifiability’.

slide-33
SLIDE 33

Persistency of excitation

Assume that

  • 1. ˜

w ∈ B[1,T]

  • 2. B ∈ Lw
  • 3. B controllable
  • 4. ∆ > L(B)
  • 5. ˜

w = ˜ u ˜ y

  • , ˜

u persistently exciting of order ∆ + n(B) This means that

     ˜ u(1) ˜ u(2) · · · ˜ u(T − ∆ − n (B) + 1) ˜ w(2) ˜ w(3) · · · ˜ w(T − ∆ − n (B)) . . . . . . . . . . . . ˜ w(∆ + n (B)) ˜ w(∆ + n (B) + 1) · · · ˜ w(T)     

has full row rank.

slide-34
SLIDE 34

Persistency of excitation

Assume that

  • 1. ˜

w ∈ B[1,T]

  • 2. B ∈ Lw
  • 3. B controllable
  • 4. ∆ > L(B)
  • 5. ˜

w = ˜ u ˜ y

  • , ˜

u persistently exciting of order ∆ + n(B) Then the left kernel of the data Hankel matrix

     ˜ w(1) ˜ w(2) · · · ˜ w(T − ∆ + 1) ˜ w(2) ˜ w(3) · · · ˜ w(T − ∆) . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(T)     

is a set of generators of NR[ξ]

B

⇔ its column span = B[1,L]

slide-35
SLIDE 35

The problem

Given the observed (infinite horizon) vector time-series ˜ w = ˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . ˜ w(t) ∈ Rw compute the MPUM in Lw that generated these data. ‘Exact’, ‘deterministic’ system ID (with an eye to approximation).

slide-36
SLIDE 36

Subspace Identification

slide-37
SLIDE 37

˜ w → [

A B C D ]

Once we have (an estimate of) the MPUM, the system that produced the data ˜ w , we can analyze it, make an i/o parti- tion, an observable state representation x(t + 1) = Ax(t) + Bu(t), y(t) = Cx(t) + Du(t), w(t) ∼ =

  • u(t)

y(t)

  • and compute the (unique) state trajectory

˜ x(1), ˜ x(2), . . . , ˜ x(t), . . . corresponding to ˜ w(1), ˜ w(2), . . . , ˜ w(t), . . .

slide-38
SLIDE 38

˜ w → [

A B C D ]

Once we have (an estimate of) the MPUM, the system that produced the data ˜ w , we can analyze it, make an i/o parti- tion, an observable state representation x(t + 1) = Ax(t) + Bu(t), y(t) = Cx(t) + Du(t), w(t) ∼ =

  • u(t)

y(t)

  • and compute the (unique) state trajectory

˜ x(1), ˜ x(2), . . . , ˜ x(t), . . . Of course,

˜ x(2) ˜ x(3) · · · ˜ x(t + 1) · · · ˜ y(1) ˜ y(2) · · · ˜ y(t) · · ·

  • =

A B C D ˜ x(1) ˜ x(2) · · · ˜ x(t) · · · ˜ u(1) ˜ u(2) · · · ˜ u(t) · · ·

slide-39
SLIDE 39

˜ w → [

A B C D ]

Of course,

˜ x(2) ˜ x(3) · · · ˜ x(t + 1) · · · ˜ y(1) ˜ y(2) · · · ˜ y(t) · · ·

  • =

A B C D ˜ x(1) ˜ x(2) · · · ˜ x(t) · · · ˜ u(1) ˜ u(2) · · · ˜ u(t) · · ·

  • But if we could go the other way:

first compute the state trajectory ˜ x , directly from ˜ w , then this equation provides a way of identifying the system parameters

  • A

B C D

  • Classical realization special case: impulse response data.
slide-40
SLIDE 40

˜ w → [

A B C D ]

˜ x(2) ˜ x(3) · · · ˜ x(t + 1) · · · ˜ y(1) ˜ y(2) · · · ˜ y(t) · · ·

  • =

A B C D ˜ x(1) ˜ x(2) · · · ˜ x(t) · · · ˜ u(1) ˜ u(2) · · · ˜ u(t) · · ·

  • Yields an attractive SYSID procedure:
  • Truncation at suff. large t; copes with missing data :

cancel columns; extends to more than one observed time series, ...

  • SVD model reduce by first lowering row dim. of

the matrix ˜ X = ˜ x(1) ˜ x(2) · · · ˜ x(t) · · ·

  • Solve for
  • A

B C D

  • using Least Squares

❀ what has come to be known as ‘subspace ID’ . Algorithms compare favorably compared to PEM, etc.

slide-41
SLIDE 41

˜ w → [

A B C D ]

˜ x(2) ˜ x(3) · · · ˜ x(t + 1) · · · ˜ y(1) ˜ y(2) · · · ˜ y(t) · · ·

  • =

A B C D ˜ x(1) ˜ x(2) · · · ˜ x(t) · · · ˜ u(1) ˜ u(2) · · · ˜ u(t) · · ·

  • Has been generalized to stochastic systems.
slide-42
SLIDE 42

From data to state

slide-43
SLIDE 43

˜ w → ˜ x

How does this work? ˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . ⇓ ˜ x(1), ˜ x(2), . . . , ˜ x(t), . . . This is a very nice system theoretic question.

slide-44
SLIDE 44

˜ w → ˜ x

Henceforth, ∆ sufficiently large (> the lag of the MPUM). Identify somehow, directly from the data , state map

˜ w(1), ˜ w(2), . . . , ˜ w(∆) − → ˜ x(1) ˜ w(2), ˜ w(3), . . . , ˜ w(∆ + 1) − → ˜ x(2) . . . . . . . . .

  • r

˜ w(1), ˜ w(2), . . . , ˜ w(∆) − → ˜ x(∆ + 1) ˜ w(2), ˜ w(3), . . . , ˜ w(∆ + 1) − → ˜ x(∆ + 2) . . . . . . . . .

There are many algorithms. We discuss two.

slide-45
SLIDE 45

˜ w → ˜ x

H−

H+

  • =

                

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · · ˜ w(∆ + 1) ˜ w(∆ + 2) · · · ˜ w(t + ∆) · · · ˜ w(∆ + 2) ˜ w(∆ + 3) · · · ˜ w(t + ∆ + 1) · · · . . . . . . . . . . . . ˜ w(2∆) ˜ w(2∆ + 1) · · · ˜ w(t + 2∆ − 1) · · ·

                

↑ ↑ ↑ ‘PAST’ ‘FUTURE’ ↓ ↓ ↓

slide-46
SLIDE 46

˜ w → ˜ x

H−

H+

  • =

                

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · · ˜ w(∆ + 1) ˜ w(∆ + 2) · · · ˜ w(t + ∆) · · · ˜ w(∆ + 2) ˜ w(∆ + 3) · · · ˜ w(t + ∆ + 1) · · · . . . . . . . . . . . . ˜ w(2∆) ˜ w(2∆ + 1) · · · ˜ w(t + 2∆ − 1) · · ·

                

↑ ↑ ↑ ‘PAST’ ‘FUTURE’ ↓ ↓ ↓

The intersection of the span of the rows of H− with those

  • f H+ = state space. The common linear combinations
  • ˜

x(∆ + 1) ˜ x(∆ + 2) · · · ˜ x(t + ∆) · · ·

  • ← ‘PRESENT’ STATE

State = what is common between past and future. Existing algorithms (N4SID, MOESP,...): past/future part.

slide-47
SLIDE 47

How can we compute this intersection?

a1 a2 ⊤ M1 M2 ⊤ = 0 ⇒ a⊤

1 M1 = −a⊤ 2 M2 : common linear combinations.

0 = a1

a2

⊤                 

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · · ˜ w(∆ + 1) ˜ w(∆ + 2) · · · ˜ w(t + ∆) · · · ˜ w(∆ + 2) ˜ w(∆ + 3) · · · ˜ w(t + ∆ + 1) · · · . . . . . . . . . . . . ˜ w(2∆) ˜ w(2∆ + 1) · · · ˜ w(t + 2∆ − 1) · · ·

                

slide-48
SLIDE 48

How can we compute this intersection?

a1 a2 ⊤ M1 M2 ⊤ = 0 ⇒ a⊤

1 M1 = −a⊤ 2 M2 : common linear combinations.

0 = a1

a2

⊤                 

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · · ˜ w(∆ + 1) ˜ w(∆ + 2) · · · ˜ w(t + ∆) · · · ˜ w(∆ + 2) ˜ w(∆ + 3) · · · ˜ w(t + ∆ + 1) · · · . . . . . . . . . . . . ˜ w(2∆) ˜ w(2∆ + 1) · · · ˜ w(t + 2∆ − 1) · · ·

                 Hankel structure ⇒ the left kernel of the whole matrix can be computed from the kernel of the upper part ❀ following algorithm

slide-49
SLIDE 49

˜ w → ˜ x

Compute ‘the’ left annihilators of the Hankel matrix:

  • N1

N2 N3 · · · N∆

      ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . · · · ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·        = 0

slide-50
SLIDE 50

˜ w → ˜ x

Compute ‘the’ left annihilators of the Hankel matrix:

  • N1

N2 N3 · · · N∆

      ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . · · · ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·        = 0

Then

˜ x(1) ˜ x(2) · · · ˜ x(t) · · ·

  • =

       N2 N3 · · · N∆ N3 N4 · · · . . . . . . . . . . . . . . . . . . . . . N∆−1 N∆ · · · N∆ · · ·       

    

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·

     ↑↑↑

‘shift-and-cut’

slide-51
SLIDE 51

˜ w → ˜ x

Compute ‘the’ left annihilators of the Hankel matrix:

  • N1

N2 N3 · · · N∆

      ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . · · · ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·        = 0

Then

˜ x(1) ˜ x(2) · · · ˜ x(t) · · ·

  • =

       N2 N3 · · · N∆ N3 N4 · · · . . . . . . . . . . . . . . . . . . . . . N∆−1 N∆ · · · N∆ · · ·       

    

˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·

     ↑↑↑

‘shift-and-cut’

a non-minimal state , thou

slide-52
SLIDE 52

Computing the kernel of a Hankel matrix

slide-53
SLIDE 53

Hankel kernel

Leads to the problem: Compute the left kernel of a (block) Hankel matrix

             ˜ w(1) ˜ w(2) · · · ˜ w(t′′) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t′′ + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t′′ + 2) · · · . . . . . . . . . . . . . . . ˜ w(t′) ˜ w(t′ + 1) · · · ˜ w(t′ + t′′ − 1) · · · ˜ w(t′ + 1) ˜ w(t′ + 2) · · · ˜ w(t′ + t′′) · · · . . . . . . . . . . . . ...             

slide-54
SLIDE 54

Hankel kernel

Identify each left annihilator with a vector polynomial

  • a0 a1 · · · a∆ 0 ...

          ˜ w(1) ˜ w(2) · · · ˜ w(t′′) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t′′ + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t′′ + 2) · · · . . . . . . . . . . . . . . . ˜ w(t′) ˜ w(t′ + 1) · · · ˜ w(t′ + t′′ − 1) · · · . . . . . . . . . . . . ...            = 0

∼ = a(ξ) = a0 + a1ξ + · · · + a∆ξ∆ ∈ R[ξ]1×w ∈ left kernel

slide-55
SLIDE 55

Hankel kernel

This kernel is closed under addition

  • a0

· · · a∆ 0 · · ·

  • b0

· · · b∆ 0 · · ·

  • a0 + b0 · · · a∆ + b∆ 0 · · ·

          ˜ w(1) · · · ˜ w(t′′) · · · ˜ w(2) · · · ˜ w(t′′ + 1) · · · ˜ w(3) · · · ˜ w(t′′ + 2) · · · . . . . . . . . . . . . ˜ w(t′) · · · ˜ w(t′ + t′′ − 1) · · · . . . . . . . . . ...            =0

slide-56
SLIDE 56

Hankel kernel

and under shifting

[a0 a1 · · · a∆ 0 · · · ] ⇓ [ 0 a0 · · · a∆−1 a∆ 0 · · · ]            ˜ w(1) · · · ˜ w(t′′) · · · ˜ w(2) · · · ˜ w(t′′ + 1) · · · ˜ w(3) · · · ˜ w(t′′ + 2) · · · . . . . . . . . . . . . ˜ w(t′) · · · ˜ w(t′ + t′′ − 1) · · · . . . . . . . . . ...            = 0

a(ξ) = a0 + a1ξ + · · · + a∆ξ∆ ∈ left kernel b(ξ) = b0 + b1ξ + · · · + b∆ξ∆ ∈ left kernel ⇒ a(ξ) + b(ξ) and ξa(ξ) ∈ left kernel.

slide-57
SLIDE 57

Hankel kernel

a(ξ) = a0 + a1ξ + · · · + a∆ξ∆ ∈ left kernel b(ξ) = b0 + b1ξ + · · · + b∆ξ∆ ∈ left kernel ⇒ a(ξ) + b(ξ) and ξa(ξ) ∈ left kernel. ⇒ The left kernel hence forms a R [ξ]-module . ! Finitely generated: ∃ annihilators a(ξ), b(ξ), · · · , c(ξ) that yield all annihilators under + and shifts. Left kernel is in a real sense always finite dim. (dim. p ≤ w).

slide-58
SLIDE 58

State from generators

Generators

[a0 a1 · · · an1] [b0 b1 · · · · · · bn2] . . . [c0 c1 · · · · · · · · · cnp]

slide-59
SLIDE 59

State from generators

Generators

[a0 a1 · · · an1] [b0 b1 · · · · · · bn2] . . . [c0 c1 · · · · · · · · · cnp]

Then

                  a1 · · · an1−1 an1 · · · a2 · · · an1 · · · . . . . . . . . . . . . . . . . . . . . . . . . an1 · · · · · · . . . . . . . . . . . . . . . . . . . . . . . . c1 · · · · · · · · · cnp−1 cnp c2 · · · · · · · · · cnp . . . . . . . . . . . . . . . . . . . . . . . . cnp · · · · · ·                   ˜ x(1) ˜ x(2) · · · ˜ x(t) · · ·

  • =

         ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . ˜ w(cnp) ˜ w(cnp + 1) · · · ˜ w(t + cnp − 1) · · ·         

slide-60
SLIDE 60

State from generators

Then

                  a1 · · · an1−1 an1 · · · a2 · · · an1 · · · . . . . . . . . . . . . . . . . . . . . . . . . an1 · · · · · · . . . . . . . . . . . . . . . . . . . . . . . . c1 · · · · · · · · · cnp−1 cnp c2 · · · · · · · · · cnp . . . . . . . . . . . . . . . . . . . . . . . . cnp · · · · · ·                   ˜ x(1) ˜ x(2) · · · ˜ x(t) · · ·

  • =

         ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . ˜ w(cnp) ˜ w(cnp + 1) · · · ˜ w(t + cnp − 1) · · ·         

Suitable conditions on generators ❀ minimal state.

slide-61
SLIDE 61

Recursive computation

slide-62
SLIDE 62

Recursive computation

Suppose we found a left annihilator of

       ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·       

slide-63
SLIDE 63

Recursive computation

Suppose we found a left annihilator of

       ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · ·       

Use this to simplify finding other left annihilators of

           ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(∆) ˜ w(∆ + 1) · · · ˜ w(t + ∆ − 1) · · · . . . . . . . . . . . . ...           

slide-64
SLIDE 64

Completion lemma

Key question: Given B ∈ Lw, ∃ a complement? i.e. B′ ∈ Lw such that B ⊕ B′ = (Rw)N ? Meaning in terms of kernel or image representations?

slide-65
SLIDE 65

Completion lemma

Key question: Given B ∈ Lw, ∃ a complement? i.e. B′ ∈ Lw such that B ⊕ B′ = (Rw)N ? Meaning in terms of kernel or image representations? There exists a complement iff B is controllable.

slide-66
SLIDE 66

Completion lemma

Key question: Given B ∈ Lw, ∃ a complement? i.e. B′ ∈ Lw such that B ⊕ B′ = (Rw)N ? Meaning in terms of kernel or image representations? There exists a complement iff B is controllable. Given R, complete with R′ such that R R′

  • is unimodular.

Given M, complete with M′, s.t.

  • M

M′ is unimodular. Given basis of rat. annihilators, find complementary basis.

slide-67
SLIDE 67

Recursive computation

Let R(ξ) ∈ Rp×w[ξ] be left prime. Then ∃ E(ξ) ∈ R(w−p)×w[ξ] such that R(ξ) E(ξ)

  • is unimodular

meaning det = non-zero constant, inv. as a pol. matrix.

slide-68
SLIDE 68

Recursive computation

Let R(ξ) ∈ Rp×w[ξ] be left prime. Then ∃ E(ξ) ∈ R(w−p)×w[ξ] such that R(ξ) E(ξ)

  • is unimodular

meaning det = non-zero constant, inv. as a pol. matrix.

  • Ex. p = 1, w = 2, R(ξ) = [r1(ξ) r2(ξ)], E(ξ) = [−y(ξ) x(ξ)]

Given r1(ξ), r2(ξ) ∈ R [ξ], find x(ξ), y(ξ) ∈ R [ξ] such that x(ξ)r1(ξ) + y(ξ)r2(ξ) = 1 Bézout equation Solvable iff r1, r2 coprime. ∃ algorithms, etc.

Bézout

slide-69
SLIDE 69

Recursive computation

Let R(ξ) ∈ Rp×w[ξ] be left prime. Then ∃ E(ξ) ∈ R(w−p)×w[ξ] such that R(ξ) E(ξ)

  • is unimodular
slide-70
SLIDE 70

Recursive computation

Assume

[a0 a1 · · · an1]        ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(n1 + 1) ˜ w(n1 + 2) · · · ˜ w(t + n1) · · ·        = 0

slide-71
SLIDE 71

Recursive computation

Assume

[a0 a1 · · · an1]        ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(n1 + 1) ˜ w(n1 + 2) · · · ˜ w(t + n1) · · ·        = 0

Complete a(ξ) ❀ Ea(ξ) such that a Ea

  • unimodular.
slide-72
SLIDE 72

Recursive computation

Assume

[a0 a1 · · · an1]        ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(n1 + 1) ˜ w(n1 + 2) · · · ˜ w(t + n1) · · ·        = 0

Complete a(ξ) ❀ Ea(ξ) Compute the ‘error’ ˜ e = Ea(σ) ˜ w Note that ˜ e is (w − 1) -dimensional.

slide-73
SLIDE 73

Recursive computation

Assume

[a0 a1 · · · an1]        ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(n1 + 1) ˜ w(n1 + 2) · · · ˜ w(t + n1) · · ·        = 0

Complete a(ξ) ❀ Ea(ξ) Compute

[b0 b1 · · · bn2]        ˜ e(1) ˜ e(2) · · · ˜ e(t) · · · ˜ e(2) ˜ e(3) · · · ˜ e(t + 1) · · · ˜ e(3) ˜ e(4) · · · ˜ e(t + 2) · · · . . . . . . . . . . . . . . . ˜ e(n2 + 1) ˜ e(n2 + 2) · · · ˜ e(t + n2) · · ·        = 0

˜ e annihilator b(ξ)Ea(ξ) ❀ 2 generators: a(ξ), b(ξ)Ea(ξ) Complete b ❀ Eb. Compute ˜ e′ = Eb(σ)˜ e. Proceed recursively...

slide-74
SLIDE 74

Recursive computation

Assume

[a0 a1 · · · an1]        ˜ w(1) ˜ w(2) · · · ˜ w(t) · · · ˜ w(2) ˜ w(3) · · · ˜ w(t + 1) · · · ˜ w(3) ˜ w(4) · · · ˜ w(t + 2) · · · . . . . . . . . . . . . . . . ˜ w(n1 + 1) ˜ w(n1 + 2) · · · ˜ w(t + n1) · · ·        = 0

Complete a(ξ) ❀ Ea(ξ) Compute

[b0 b1 · · · bn2]        ˜ e(1) ˜ e(2) · · · ˜ e(t) · · · ˜ e(2) ˜ e(3) · · · ˜ e(t + 1) · · · ˜ e(3) ˜ e(4) · · · ˜ e(t + 2) · · · . . . . . . . . . . . . . . . ˜ e(n2 + 1) ˜ e(n2 + 2) · · · ˜ e(t + n2) · · ·        = 0

Recursively a(ξ) , b(ξ)Ea(ξ) , · · · , c(ξ) · · · Eb(ξ)Ea(ξ) yields, assuming MPUM contr., left kernel by computing p times a left kernel vector. Recursion can be combined with the state computation.

slide-75
SLIDE 75

Summary

slide-76
SLIDE 76

Summary

  • Approximation in SYSID is cloesr to the physics that

stochasticity

  • Subspace ID :

˜ w(1), ˜ w(2), . . . , ˜ w(t), . . . ↓ ˜ X = [˜ x(1), ˜ x(2), . . . , ˜ x(t), . . .] ↓ Row reduce ˜ X ↓ LS solve

˜ x(2) ˜ x(3) · · · ˜ x(t + 1) · · · ˜ y(1) ˜ y(2) · · · ˜ y(t) · · ·

  • =

A B C D ˜ x(1) ˜ x(2) · · · ˜ x(t) · · · ˜ u(1) ˜ u(2) · · · ˜ u(t) · · ·

Model

  • A

B C D

slide-77
SLIDE 77

Summary

  • Approximation in SYSID is cloesr to the physics that

stochasticity

  • Subspace ID
  • State construction
  • Past/future intersection
  • Oblique projection
  • Generators left kernel of Hankel + cut-and-shift
  • Central pbm: computation of generators of left kernel
  • f Hankel matrix
slide-78
SLIDE 78

Summary

  • Approximation in SYSID is cloesr to the physics that

stochasticity

  • Subspace ID
  • State construction
  • Past/future intersection
  • Oblique projection
  • Generators left kernel of Hankel + cut-and-shift
  • Central pbm: computation of generators of left kernel
  • f Hankel matrix
  • Computation can be carried out recursively in the case

that the MPUM is controllable.

slide-79
SLIDE 79

Summary

  • Approximation in SYSID is cloesr to the physics that

stochasticity

  • Subspace ID
  • State construction
  • Past/future intersection
  • Oblique projection
  • Generators left kernel of Hankel + cut-and-shift
  • Central pbm: computation of generators of left kernel
  • f Hankel matrix
  • Computation can be carried out recursively in the case

that the MPUM is controllable.

  • Key step: completion lemma. Given B ∈ Lw, find

B′ ∈ Lw such that B ⊕ B′ = everything.