close

Вход

Забыли?

вход по аккаунту

?

77-30569243762 вычисление ранга функциональной матрицы.

код для вставкиСкачать
э л е к т р о н н о е
н а у ч н о - т е х н и ч е с к о е
и з д а н и е
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 - 30569. Государственная регистрация №0421100025. ISSN 1994-0408
Вычисление ранга функциональной матрицы
77-30569/243762
# 10, октябрь 2011
А. А. Шевляков
УДК 519.977
МГТУ им. Н.Э. Баумана
aash29@gmail.com
1. Введение
Проблема вычисления ранга числовых матриц достаточно хорошо изучена,
и для ее решения разработаны соответствующие методы [4]. Например, можно
использовать метод SVD. Однако анализ ранга функциональной прямоугольной
матрицы в некоторой области в общем случае является достаточно сложной
задачей, и стандартные методы вычисления ранга числовых матриц обобщить
на этот случай сложно.
Это связано с тем, что значения ранга, которые можно получить, задав в
требуемой области сетку и вычислив ранг матрицы в узлах этой сетки, являются лишь оценками ранга в области. Например, при таком способе можно
пропустить множество меры 0, на котором ранг матрицы падает.
Поэтому для анализа ранга функциональных матриц целесообразно использовать системы компьютерной алгебры, позволяющие приводить аналитические преобразования, и возникает задача разработки соответствующих алгоритмов.
2. Проблема оценки ранга функциональной матрицы
Рассмотрим прямоугольную матрицу A типа n Ч m, элементами которой
являются некоторые непрерывные скалярные функции ?ij (x), i = 1, n, j =
1, m, x ? Rn , заданные в некоторой открытой области ? ? Rn .
http://technomag.edu.ru/doc/243762.html
1
Такие матрицы рассматриваются, например, при анализе в некоторой области ? ? Rn свойств регулярности распределений span(f i (x), i = 1, m), порождаемых гладкими векторными полями f i [3, 8]. В координатах x векторное
поле f задается в виде f = (f1 (x), . . . , fn (x))T , fj (x) ? C ? (?), j = 1, n, и
проблема анализа регулярности сводится к анализу ранга функциональной матрицы A типа n Ч m, по столбцам которой записаны координаты векторных
полей f i . Также проблема ранга исследования ранга функциональной матрицы
в некоторой области возникает при анализе замены по части переменных.
Один из способов анализа ранга функциональной матрицы небольшой размерности основан на поиске наибольшего ненулевого минора матрицы. Соответствующий минор получается в виде аналитической функции от x. Однако
этот метод, по существу, основан на переборе всех миноров матрицы и требует
большого количества операций. Здесь даже не подходит метод окаймляющих
миноров, используемый для поиска максимального ненулевого минора для числовых матриц, поскольку элементы различных строк и столбцов | функции.
Различные миноры, элементами которых являются функции, не равные тождественно нулю, могут быть отличны от нуля на различных множествах.
Кроме того, результирующие выражения как правило получаются достаточно сложными, и манипуляции с ними с использованием современых пакетов
компьютерной алгебры затруднительны или невозможны.
Таким образом, для функциональных матриц возникает задача разработки
алгоритма, который позволял бы описывать области постоянного ранга в виде
функций от x, и был менее затратен, нежели прямой перебор всех миноров.
Альтернативой полному перебору миноров является алгоритм Гаусса преобразования к трапецидальному виду, который часто используется для преобразования числовых матриц. Для функциональных матриц особенность заключается в том, что все преобразования проводятся аналитически. Подобный
подходы известны. Например, в [1] описан алгоритм, являющийся по сути
алгоритмом Гаусса с выбором ведущего элемента. При этом в качестве ведущего элемента выбирается любой элемент строки, не равный тождественно
нулю. Результатом применения этого алгоритма является матрица, преобразованная к трапецеидальному виду. Ранг матрицы при этом принимается равным
количеству строк матрицы с ненулевыми элементами.
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
2
Заметим,что в рассмотренном случае не анализируется расположение нулей
функций, из которых собирается базисный минор преобразованной матрицы.
Результатом исследования является утверждение о том, что существует некоторая область, в которой ранг исследуемой матрицы постоянен и равен количеству
ненулевых строк.
Действительно, базисный минор будет равен произведению первых не равных тождественно нулю элементов каждой строки. Следовательно, найдется
точка, в которой эти элементы не обращаются в ноль одновременно, и в силу
непрерывности существует некоторая окрестность этой точки, в которой ранг
будет постоянен. Однако поиск области, в которой ранг постоянен, представляет собой отдельную задачу.
При анализе размерности и инволютивности распределений часто представляет интерес вопрос об исследовании ранга соответствующей функциональной матрицы в окрестности некоторой фиксированной точки. Рассмотренный
вариант метода Гаусса не дает ответа на поставленный вопрос, поскольку может оказаться, что преобразования проведены неудачно, и базисный минор
обнуляется именно в заданной точке.
Отметим, что вычисление значений элементов функциональной матрицы в
заданной точке и исследование ранга полученной числовой матрицы в общем
случае не позволяет получить ранг в области, включающей эту точку. Если в
исследуемой точке ранг падает, то значение ранга, полученное для числовой
матрицы, является лишь оценкой снизу для ранга матрицы в области.
Приведем модифицированный алгоритм, основанный на методе Гаусса, который позволяет получить ответ на вопрос о существовании некоторой области,
содержащей заданную точку, в которой функциональная матрица имеет постоянный ранг.
3. Описание алгоритма исследования ранга функциональной матрицы
Алгоритм дает ответ на вопрос о том, имеет ли функциональная матрица
постоянный ранг в окрестности заданной точки x0 .
http://technomag.edu.ru/doc/243762.html
3
Введем в рассмотрение частично-трапецидальный вид матрицы A типа n Ч
m:
"
A=
B
C
#
,
где B | матрица трапецеидального вида размера [(n ? k) Ч m], k ? n, а
h
i
C = O[kЧ(n?k)] D ,
(1)
(2)
O[kЧ(n?k)] - нулевая матрица соответствующего размера.
Если матрица F преобразована к частично-трапецеидальному виду, и ведущие элементы не обращаются в 0 в окрестности исследуемой точки, то можно
утверждать, что ранг матрицы в окрестности этой точки не менее n-k. Если хотя
бы один элемент матрицы D не равен нулю в рассматриваемой окрестности, то
ранг функциональной матрицы повышается, и в окрестности точка x0 ранг не
является постоянным.
Над функциональной матрицей будем выполнять элементарные преобразования, приводящие ее к частично-трапецеидальному виду. Поскольку элементы
матрицы | гладкие функции, будем выполнять все вычисления над кольцом
гладких функций. Допустимыми являются операции сложения и умножения
функций, в том числе умножение на действительной число.
Как и в стандартном методе Гаусса, будем последовательно выбирать ведущий элемент по строке и с его помощью преобразовавать матрицу так, чтобы в
соответствующем столбце все элементы, расположенные ниже ведущего, стали
тождественно равны нулю.
Для выбора ведущего элемента в i-ой строке будем вычислять значения
элементов строки в точке x0 . В качестве ведущего будем выбирать элемент,
имеющий наибольшее по модулю значение в указанной точке.
Если все элементы строки в точке x0 равны 0 , то строка перемещается
"вниз", то есть становится последней строкой матрицы, а остальные сдвигаются
вверх.
Если на некотором шаге не может быть выбрана строка, в которой есть
элементы, не равные нулю в точке x0 , работа алгоритма прекращается.
Предположим, алгоритм завершил работу, и все элементы k последних
строк равны нулю в точке x0 . Тогда ранг матрицы в окрестности x0 не менее n ? k .
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
4
Действительно, так как ведущие элементы выбирались так, чтобы их значения в точке x0 не равны нулю, то можно предъявить ненулевой минор размера
n ? k , находящийся в левом верхнем углу.
В случае, если хотя бы один элемент из последних k строк не равен тождественно нулю в окрестности точки x0 , то в этой окрестности ранг повышается.
На практике может представлять трудность определить, является ли выражение тождественным нулем в окрестности точки x0 , поскольку системы компьютерной алгебры не всегда может преобразовать к нулю достаточно сложное
аналитическое выражение.
В этом случае разумно использовать численные методы. Так, выборка точек
(регулярная или случайная) может помочь принять решение.
4. Примеры
При исследовании аффинных систем с управлением может использоваться
[5] дифференциально-геометрический аппарат. В частности, при рассмотрении
вопроса о возможности преобразования аффинной системы к специальным видам возникает проблема исследования размерности распределений, порождаемых векторными полями, ассоциированными с системой, а также инволютивности этих распределений [8] в некоторой области или в окрестности заданной
точки.
Вычисление размерности распределения сводится к вычислению ранга матрицы, элементы которой в общем случае являются функциями от x. Проверка
инволютивности, в свою очередь, также может быть сведена к исследованию
ранга функциональной матрицы. Важным шагом алгоритма преобразования
системы к каноническому [2] и квазиканоническому[3] видам также является
проверка регулярности распределений в окрестности заданной точки.
Напомним [8], что распределение F называется инволютивным, если для
любых векторных полей X1 , X2 ? F их коммутатор [X1 , X2 ] ? F. Координатные функции коммутатора векторных полей можно вычислить по следующей
формуле:
[X, Y ](?) =
?Y (?)
?X(?)
X(?) ?
Y (?).
??
??
Для коммутатора векторных полей X и Y часто используют обозначение adX Y .
http://technomag.edu.ru/doc/243762.html
5
Пример 1. Рассмотрим модель двухколесного мобильного робота, описанную в [7]. С этой системой ассоциированы векторное поле
A= ?(
cf ?f + cr ?r
?
lr
lf
?
+ ?)
+ ( cr ?r ? cf ?f )
+
mv
??
J
J
??
?
?
?
+ v cos(? + ?)
+ v sin(? + ?)
+?
??
?x
?y
и векторные поля
B1 =
cf ?
lf cf ?
+
,
mv ??
J ??
B2 = ?
? ?
?
+ .
v ?? ?v
В [7] ставится задача исследования размерность распределения
H = span(B1 , B2 , adA B1 , adA B2 ).
Составив из координатных функций векторных полей B1 , B2 , adA B1 , adA B2 ,
матрицу, получим:
?
cf
mv
cf lf
J
?
?
?
? 0
?
H=?
? 0
?
? 0
?
0
? ?v
0
1
0
0
0
?1
?2
0
cf lf
? J
sin(?+?)cf
m
cos(?+?)cf
?
m
?3
?4
0
0
? sin (? + ?) ? ? cos (? + ?)
cos (? + ?) ? ? sin (? + ?)
?
?
?
?
?
?
?,
?
?
?
?
(3)
где
(cf + cr )cf
cf lf cr lr
?1 =
?
?
+
m?1 v ?1 ? 1 lf cf J ?1
m2 v 2
v
v
2
lf cf lr 2 cr
cf 1 lf cr lr
?1 ?1
?2 = ? ?
+
cf m v +
+
lf cf J ?1
J
J
vJ
vJ
cf (v? + ? lf ) cr (v? ? ? lr )
?3 =
+
m?1 v ?1 ? ? v ?1 +
v
v
(?cf ? cr ) ?
cf ? cf (v? + ? lf ) cr ? cr (v? ? ? lr )
+
? ?
+
?
+
m?1 v ?1 +
2
2
mv 2
v
v
v
v
cf (v? + ? lf ) cr (v? ? ? lr )
+ ?
?
m?1 v ?2
v
v
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
6
?4 =
cf lf cr lr
?
+
J
J
cf lf ? cf lf (v? + ? lf )
?
?
vJ
v2J
cr lr ? cr lr (v? ? ? lr )
+
?
vJ
v2J
?v ?1 +
Исследуем ранг матрицы H в окрестности точки x0 = (0, 0, 1, 0, 0, 0). Отметитм, что ?3 (x0 ) = ?4 (x0 ) = 0.
Шаг 1: Элементарными операциями обнуляем элементы первого столбца
ниже ведущего элемента. Получаем матрицу
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
cf
mv
? ?v
0
cf lf ?
vJ
0
cf
mv
0
0
0
0
lf cf 2
? mvJ
0
0
0
cf 2 sin(?+?)
m2 v
cf (? sin(?+?)??cos(?+?))
mv
0
0
?1
cf ?2
mv
?
cf lf ?1
J
?
?
?3
cf ?4
mv
cf 2 cos(?+?)
m2 v
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
cf lf ?3
J
cf (cos(?+?)??sin(?+?))
mv
(4)
Шаг 2: Меняем местами второй и третий столбцы в соответствии с правилом
выбора ведущего элемента.
Шаг 3: Элементарными операциями обнуляем элементы второго столбца
ниже ведущего элемента. Получаем матрицу
?
?
?
?
?
?
?
?
?
?
?
?
?
?
cf
mv
0
0
? ?v
?1
cf ?2
mv
?
0
0
0
0
0
0
0
cf lf ?1
J
?3
cf lf ?
vJ
cf ?2
mv
?
cf lf ?1
J
3
cf ?4
mv
cf m?1 v ?1
?
cf lf ?3
J
0
2
cf lf ?
mv 2 J 2
cf 3 sin(?+?)lf ?
?
m2 v 2 J
cf 3 cos(?+?)lf ?
m2 v 2 J
h44
h54
?
?
?
?
?
?
?
?,
?
?
?
?
?
?
(5)
h64
где h44 , h54 , h64 | функции от x, при этом h54 (x0 ) 6= 0, h54 (x0 ) = h44 (x0 ) = 0.
http://technomag.edu.ru/doc/243762.html
7
Шаг 4: Элементарными операциями обнуляем элементы третьего столбца
ниже ведущего элемента и получаем
?
? c
?
f
?
?
?
1
3
v
? mv cf ?2 cf lf ?1
cf lf ?
cf ?4
cf lf ?3 ?
?
? 0 mv ? J
?
vJ mv
J
?
?
cf lf ?1
cf ?2
?
? 0
?1 ?1
?
c
m
v
0
0
f
?
?
mv
J
(6)
?
?
?
? 0
0
0
h
44
?
?
?
?
0
0
h54
?
? 0
0
0
0
h64
Шаг 5: Все элементы четвертой строки обращаются в ноль в точке x0
(h44 (x0 ) = 0), поэтому она переносится на место последней, а остальные строки
сдвигаются вверх на одну позицию. В результате получаем
? c
?
?
f
?
?
?
1
3
v
? mv cf ?2 cf lf ?1
cf lf ?
cf ?4
cf lf ?3 ?
? 0 mv ? J
?
?
vJ mv
J
?
?
cf ?2
cf lf ?1
? 0
?
?1 ?1
0
cf m v
0
?
?
mv ?
J
(7)
?
?
? 0
?
0
0
h
54
?
?
?
?
0
0
h64
? 0
?
0
0
0
h44
Шаг 6: Элементарными операциями обнуляем элементы четвертого столбца
ниже ведущего элемента и получаем
? c
?
?
f
?
?
?
1
3
v
? mv cf ?2 cf lf ?1
cf lf ?3 ?
cf lf ?
cf ?4
? 0 mv ? J
?
?
vJ mv
J
?
?
cf ?2
cf lf ?1
? 0
?
?1 ?1
0
?
c
m
v
0
f
?
?
mv
J
(8)
?
?
? 0
?
0
0
h
54
?
?
?
?
0
0
0
? 0
?
0
0
0
0
Таким образом, матрица приведена к трапецеидальному виду, и ее ранг
равен 4 в некоторой окрестности точки x0 . Это совпадает с результатом, полученным в [7], где был указан соответствующий минор.
Пример 2. Задача стабилизации верхнего положения маятника, установленого на тележке, является одной из "тестовых" задач в теории управления.
Воспользуемся моделью системой, приведенной в ([6]).
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
8
Векторные поля A(x) и B(x), ассоциированные с этой моделью, имеют
следующий вид:
?
?
?
x2
?
?
?
mg cos(x3 ) sin(x3 ) ? ml sin(x3 )x24
?
?
M + m sin(x3 )2
A(x) = ?
?
?
?
x4
?
?
? (M + m)g sin(x3 ) ? ml cos(x3 ) sin(x3 )x24
(M + m sin(x3 )2 )l
?
?
?
0
?
?
?
1
?
? M + m sin(x )2
3
B(x) = ?
?
?
?
0
?
?
?
cos(x3 )
(M + m sin(x3 )2 )l
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(9)
(10)
Здесь x | положение центра масс тележки на оси Ox неподвижной системы
координат, ? | угол отклонения маятника от оси Oy .
Введем следующие обозначения: x1 = x, x2 = x?, x3 = ?, x4 = ??.
При решения задачи стабилизации возникает задача проверки регулярности и исследования размерности инволютивного замыкания распределения
span(B, adA B) в окрестности начала координат, которая сводится к задаче исследования в окрестности точки x0 ранга функциональной матрицы, по столбцам которой записаны координатные функции векторных полей B , adA B и
[B, adB
A ]:
?
?
?1
0
?F
0
?
? ?1
mP ?
? F
0
?2
3
F l ?,
?
(11)
? 0
cos x3
? Fl
0 ?
?
?
cos x3
sin x3
mP x4
mP
?
?
2
h43
2
Fl
Fl
F l x4 + 2 F 2 l
где F = M +m sin(x3 )2 , P = sin x3 (cos x3 )2 , h43 | некоторые гладкие функции
x.
http://technomag.edu.ru/doc/243762.html
9
Шаг 1: Поменяв местами первый и второй столбцы в соответствии с правилом выбора ведущего элемента, получим
?
?
?F ?1
0
0
?
?
mP ?
?1
?
0
F
?2
3
F l ?
?
(12)
?
?
cos x3
?
0
0
?
?
Fl
mP x4 cos x3
sin x3
mP
h43
? F l ? 2 F 2 l x4 + 2 F 2 l
Fl
Шаг 2: Элементарными операциями обнулим элементы первого столбца,
расположенные ниже ведущего элемента, и получим
?
?
?1
?F
0
0
?
?
mP ?
?2
? 0
?F
2
F 4l ?
?
(13)
? 0
0
0 ?
?
?
x3
0
? cos
B43
F 2l
Шаг 3: Элементарными операциями обнулим элементы второго столбца ниже
ведущего элемента
?
?
?
?
?
?
?F
0
0
0
?1
0
0
mP
?F ?2 2 F 4 l
0
0
0
C43
?
?
?
?
?
?
(14)
Шаг 4: Проверяя третью и четвертую строки, обнаруживаем, что все их
элементы обращаются в 0 в начале координат. Таким образом, выполнено
условие остановки алгоритма.
Не все элементы четвертой строки тождественно равны нулю в окрестности начала координат, следовательно, ранг матрицы не является постоянным
в окрестности начала координат. Соответственно, исследуемое распределение
не является регулярным в окрестности начала координат, и его размерность
повышается с 2 в начале координат до 3 в проколотой окрестности указанной
точки.
5. Заключение
Разработанный алгоритм позволяет исследовать ранг функциональной матрицы в окрестности заданной точки.
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
10
Это алгоритм может быть использован для проверки в окрестности некоторой точки регулярности или инволютивности распределения, порожденного
некоторым конечным множеством векторных полей, или для исследования
свойств матрицы Якоби нелинейной замены переменных.
Работа выполнена при поддержке гранта РФФИ № 09-07-468 и Программы
Президента РФ по государственной поддержке ведущих научных школ (грант
№ НШ-4144.2010.1).
Список литературы
1. Cesareo G., Marino R. On the application of symbolic computation to nonlinear
control theory // EUROSAM '84 Proceedings of the International Symposium
on Symbolic and Algebraic Computation, Т. 174, 1984. C. 35 - 46.
2. Жевнин А.А., Крищенко А.П. Управляемость нелинейных систем и синтез алгоритмов управления // Докл. АН СССР. 1981. Т. 258, № 4. С. 805 809.
3. Крищенко А.П. Преобразование нелинейных систем и стабилизация программных движений // Труды МВТУ. 1988. № 512. С. 69 - 87.
4. Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение. М.: Мир, 1998. 574 c.
5. Isidori A. Nonlinear control systems. 3-rd ed. London: Springer Verlag, 1995.
587 c.
6. Fantoni I., Lozano R. Non-linear control for undeactuated mechanical systems.
London: Springer Verlag, 2001. 295 c.
7. Ткачев С.Б. Реализация движения колесного робота по заданной траектории
// Вестник МГТУ им. Н.Э. Баумана. 2008. № 2(29). C. 33 - 56.
8. Краснощеченко В.И., Крищенко А.П. Нелинейные системы: геометрические методы анализа и синтеза. М.: Изд-во МГТУ им. Н.Э. Баумана, 2005.
520 с.
http://technomag.edu.ru/doc/243762.html
11
e l e c t r o n i c
s c i e n t i f i c
a n d
t e c h n i c a l
p e r i o d i c a l
SCIENCE and EDUCATION
El № FS77 - 30569. №0421100025. ISSN 1994-0408
Functional matrix rank computation
77-30569/243762
# 10, October 2011
A. A. Shevliakov
Bauman Moscow State Technical University
aash29@gmail.com
A problem of finding rank of non-square functional matrix, whose elements are
smooth functions, is considered. Such matrices arise in course of analysis of
regularity and involutivity of vector distributions. To find rank of these matrices,
it is convenient to use computer algebra systems, which can perform symbolic
computations. Alternative to checking all possible minors is the Gauss algorithm
of transforming matrix to row-echelon form. When considering regularity and
involutivity, it is often of interest to know the rank of a matrix in the neighborhood of
a point. Usual Gauss algorithm cannot answer this question, since it is possible for
basis minor to become zero at chosen point. A modified algorithm is presented. This
algorithm allows to say if there exists a neighborhood of constant rank containing a
chosen point. Examples are presented.
References
1. Cesareo G., Marino R. On the application of symbolic computation to nonlinear
control theory // EUROSAM '84 Proceedings of the International Symposium
on Symbolic and Algebraic Computation, Т. 174, 1984. C. 35-46.
2. Zhevnin A.A., Krishchenko A.P. Upravljaemost' nelinejnyh sistem i sintez
algoritmov upravlenija // Doklady AN SSSR. 1981. T. 258, N 4. S. 805-809.
3. Krishchenko A.P. Preobrazovanie nelinejnyh sistem i stabilizacija programmnyh
dvizhenij // Trudy MVTU. 1988, N 512. S. 69-87.
4. Kahaner D., Mouler K., Njesh S. Chislennye metody i programmnoe
obespechenie. M.: Mir, 1998. 574 s.
5. Isidori A. Nonlinear control systems. 3-rd ed. London: Springer Verlag, 1995.
587 c.
6. Fantoni I., Lozano R. Non-linear control for undeactuated mechanical systems.
London: Springer Verlag, 2001. 295 c.
77-30569/243762, №10 октябрь 2011 г. http://technomag.edu.ru
12
7. Tkachev S.B. Realizacija dvizhenija kolesnogo robota po zadannoj traektorii //
Vestnik MGTU im. N.Je. Baumana. 2008. N 2(29). S. 33-56.
8. Krasnoshchechenko V.I.,
Krishchenko A.P. Nelinejnye sistemy:
geometricheskie metody analiza i sinteza. M.: Izd-vo MGTU im. N.Je.
Baumana, 2005. 520 s.
http://technomag.edu.ru/doc/243762.html
13
Документ
Категория
Без категории
Просмотров
3
Размер файла
245 Кб
Теги
функциональная, ранга, вычисления, 30569243762, матрица
1/--страниц
Пожаловаться на содержимое документа