Как указывают древесные щепы (+1), собственные векторы уникальны только до линейного преобразования. Этот факт легко понять из определения, т. Е. Пара собственных векторов / собственных значений решает характеристическую функцию A * v = k * v, где A - матрица, v - собственный вектор, а k - собственное значение.
Давайте рассмотрим гораздо более простой пример, чем ваш (ужасающий) вопрос:
M = [1, 2, 3; 4, 5, 6; 7, 8, 9];
[EigVec, EigVal] = eig(M);
Matlab дает:
EigVec =
-0.2320 -0.7858 0.4082
-0.5253 -0.0868 -0.8165
-0.8187 0.6123 0.4082
, в то время как Mathematica дает:
EigVec =
0.2833 -1.2833 1
0.6417 -0.1417 -2
1 1 1
Из документации Matlab:
«Для eig (A) собственные векторы масштабируются так, что каждая из них равна 1.0.»
С другой стороны, Mathematica явно масштабируя собственные векторы, так что конечный элемент равен единице.
Даже если вы заметили выходы, которые я дал, вы можете начать видеть, как возникают связи (в частности, сравнить третий собственный вектор с обоих выходов).
Кстати, я предлагаю вам отредактировать свой вопрос, чтобы иметь более простую входную матрицу M
, такую как тот, который я использовал здесь. Это сделает его более читаемым для всех, кто посещает эту страницу в будущем. На самом деле это не так уж плохо, но способ, которым он в настоящее время отформатирован, скорее всего, заставит его отказаться от голосования.
С Apache Вы можете установить Перезапись URL для своих php страниц с mod_rewrite, проверить это ресурсы:
Прием, который я использую, является $ _ СЕРВЕР ['PATH_INFO'] (я думаю, что Вам нужен Apache). Это получает Вас вся информация после расширения файла PHP.
http://www.example.com/page.php/rest/url
$ _ СЕРВЕР ['PATH_INFO'] будет содержать:
"/rest/url"
страница может затем перенаправить, обработать некоторый код или безотносительно на основе той строки.
Это хорошо, если у Вас нет доступа к Конфигурациям Apache или.HTACCESS, Также если вещи изменяются, можно сделать page.php именем каталога для статического размещения файла. О, и PHP не должен иметь .php расширения. Я использовал .api или somesuch в прошлом.
http://www.example.com/worker.api/rest/url
, Который, кажется, работает хорошо на меня.
Кроме использования mod_rewrite, как уже сообщается можно сделать немного волшебства с простым приемом.
Помещенный в .htaccess директива как этот
<FilesMatch "^servlet$">
ForceType application/x-httpd-php
</FilesMatch>
^servlet$ замены с регулярным выражением по Вашему выбору (это будет имя Вашего диспетчера)
сервлет файла должен быть подобен этому
<?php
$data = explode('/',$HTTP_SERVER_VARS['PATH_INFO']); // $data[0] always empty
$fileToInclude = $data[1].'.php';
if (file_exists($data[1]) {
$params=array_slice($data,2); // you can do here something more sophisticated
// for example sanitize parameters or assemble
// an hash
include ($fileToInclude); //Think to this file as a servlet
} else {
// issue a 404 error, maybe one of the 500 series
}
?>
, URL может иметь форму: http://yoursite/servlet/reports/sales/2009 можно также достигнуть формы http://yoursite/reports/sales/2009 plaiyng немного с .htacces и диспетчером.
Этот метод имеет преимущество, что mod_rewrite не требуется как FilesMatch (1.3 +), и ForceType (2.0 +) находятся в апачском ядре
, Видят ссылку
http://httpd.apache.org/docs/2.2/mod/core.html#forcetype
http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch
http://www.devarticles.com/c/a/Apache/Using-ForceType-For-Nicer-Page-URLs/1/
Не может быть выполнен PHP как таковой. Обратите внимание, что в Java, это не Сервлеты ни один, что карта URL, но это - конфигурация контейнера сервлета (например, Tomcat).
можно достигнуть подобных результатов для приложений PHP при помощи перезапись URL.
Поскольку другие упомянули, что можно использовать mod_rewrite, чтобы сделать это, но также и Вы могли использовать шаблон разработки фронтального контроллера, который является тем, что используют многие веб-платформы. Смотрите на маршруты Орды или Zend_Controller_Router_Rewrite, который может использоваться для MVC,
Опции для серверов HTTP кроме Apache:
при использовании Lighttpd, затем их mod_rewrite модуль имеет совершенно другой синтаксис конфигурации. См. http://redmine.lighttpd.net/wiki/1/Docs:ModRewrite для деталей.
при использовании IIS, затем Вам нужен ISAPI_Rewrite ( http://www.isapirewrite.com/ ), или URL Переписывают Модуль ( http://learn.iis.net/page.aspx/460/using-url-rewrite-module/ ).
Это походит на что-то, для чего обычно использовался бы mod_rewrite (как часть Apache, не PHP.) Я ни о чем не услышал в PHP, который выполнил бы это.