Объявление : Все некоммерческие проекты, зарегистрированные для использования Earth Engine до
15 апреля 2025 года, должны
подтвердить некоммерческое право на сохранение доступа к Earth Engine.
ee.Array.eigen
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Вычисляет действительные собственные векторы и собственные значения квадратного двумерного массива из A строк и A столбцов. Возвращает массив из A строк и A+1 столбцов, где каждая строка содержит собственное значение в первом столбце и соответствующий собственный вектор в остальных A столбцах. Строки сортируются по собственному значению в порядке убывания.
Эта реализация использует DecompositionFactory.eig() из https://ejml.org.
Использование | Возврат | Array. eigen () | Множество |
Аргумент | Тип | Подробности | это: input | Множество | Квадратный двумерный массив, из которого вычисляется разложение собственных значений. |
Примеры
Редактор кода (JavaScript)
print(ee.Array([[0, 0], [0, 0]]).eigen()); // [[0,0,1],[0,1,0]]
print(ee.Array([[1, 0], [0, 0]]).eigen()); // [[1,1,0],[0,0,1]]
print(ee.Array([[0, 1], [0, 0]]).eigen()); // [[0,0,1],[0,1,0]]
print(ee.Array([[0, 0], [1, 0]]).eigen()); // [[0,-1,0],[0,0,-1]]
print(ee.Array([[0, 0], [0, 1]]).eigen()); // [[1,0,1],[0,1,0]]
print(ee.Array([[1, 1], [0, 0]]).eigen()); // [[1,1,0],[0,-1/√2,1/√2]]
print(ee.Array([[0, 0], [1, 1]]).eigen()); // [[1,0,-1],[0,-1/√2,1/√2]]]
print(ee.Array([[1, 0], [1, 0]]).eigen()); // [[1,1/√2,1/√2],[0,0,1]]
print(ee.Array([[1, 0], [0, 1]]).eigen()); // [[1,1,0],[1,0,1]]
print(ee.Array([[0, 1], [1, 0]]).eigen()); // [[1,1/√2,1/√2],[-1,1/√2,-1/√2]]
print(ee.Array([[0, 1], [0, 1]]).eigen()); // [[1,1/√2,1/√2],[0,1,0]]
print(ee.Array([[1, 1], [1, 0]]).eigen()); // [[1.62,0.85,0.53],[-0.62,0.53]]
print(ee.Array([[1, 1], [0, 1]]).eigen()); // [[1,0,1],[1,1,0]]
print(ee.Array([[1, 0], [1, 1]]).eigen()); // [[1,-1,0],[1,0,-1]]
// [[1.62,-0.53,-0.85],[-0.62,-0.85,0.53]]
print(ee.Array([[0, 1], [1, 1]]).eigen());
print(ee.Array([[1, 1], [1, 1]]).eigen()); // [[2,1/√2,1/√2],[0,1/√2,-1/√2]]
var matrix = ee.Array([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]);
print(matrix.eigen()); // [[1,1,0,0],[1,0,1,0],[1,0,0,1]]
var matrix = ee.Array([
[2, 0, 0],
[0, 3, 0],
[0, 0, 4]]);
print(matrix.eigen()); // [[4,0,0,1],[3,0,1,0],[2,1,0,0]]
matrix = ee.Array([
[1, 0, 0],
[0, 0, 0],
[0, 0, 0]]);
print(matrix.eigen()); // [[1,1,0,0],[0,0,1,0],[0,0,0,1]]
matrix = ee.Array([
[1, 1, 1],
[1, 1, 1],
[1, 1, 1]]);
// [[3,-0.58,-0.58,-0.58],[0,0,-1/√2,1/√2],[0,-0.82,0.41,0.41]]
print(matrix.eigen());
Настройка Python
Информацию об API Python и использовании geemap
для интерактивной разработки см. на странице «Среда Python» .
import ee
import geemap.core as geemap
Colab (Python)
display(ee.Array([[0, 0], [0, 0]]).eigen()) # [[0, 0, 1], [0, 1, 0]]
display(ee.Array([[1, 0], [0, 0]]).eigen()) # [[1, 1, 0], [0,0,1]]
display(ee.Array([[0, 1], [0, 0]]).eigen()) # [[0, 0, 1], [0, 1, 0]]
display(ee.Array([[0, 0], [1, 0]]).eigen()) # [[0, -1, 0], [0, 0, -1]]
display(ee.Array([[0, 0], [0, 1]]).eigen()) # [[1, 0, 1], [0, 1, 0]]
# [[1, 1, 0], [0, -1/√2, 1/√2]]
display(ee.Array([[1, 1], [0, 0]]).eigen())
# [[1, 0, -1], [0, -1/√2, 1/√2]]]
display(ee.Array([[0, 0], [1, 1]]).eigen())
# [[1, 1/√2, 1/√2], [0, 0, 1]]
display(ee.Array([[1, 0], [1, 0]]).eigen())
display(ee.Array([[1, 0], [0, 1]]).eigen()) # [[1, 1, 0], [1, 0, 1]]
# [[1, 1/√2, 1/√2], [-1, 1/√2, -1/√2]]
display(ee.Array([[0, 1], [1, 0]]).eigen())
# [[1, 1/√2, 1/√2], [0, 1, 0]]
display(ee.Array([[0, 1], [0, 1]]).eigen())
# [[1.62, 0.85, 0.53], [-0.62, 0.53]]
display(ee.Array([[1, 1], [1, 0]]).eigen())
display(ee.Array([[1, 1], [0, 1]]).eigen()) # [[1, 0, 1], [1, 1, 0]]
display(ee.Array([[1, 0], [1, 1]]).eigen()) # [[1, -1, 0], [1, 0, -1]]
# [[1.62, -0.53, -0.85], [-0.62, -0.85, 0.53]]
display(ee.Array([[0, 1], [1, 1]]).eigen())
# [[2, 1/√2, 1/√2], [0, 1/√2, -1/√2]]
display(ee.Array([[1, 1], [1, 1]]).eigen())
matrix = ee.Array([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
display(matrix.eigen()) # [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]
matrix = ee.Array([
[2, 0, 0],
[0, 3, 0],
[0, 0, 4]])
display(matrix.eigen()) # [[4, 0, 0, 1], [3, 0, 1, 0], [2, 1, 0, 0]]
matrix = ee.Array([
[1, 0, 0],
[0, 0, 0],
[0, 0, 0]])
display(matrix.eigen()) # [[1, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]
matrix = ee.Array([
[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
# [[3, -0.58, -0.58, -0.58], [0, 0, -1/√2, 1/√2], [0, -0.82, 0.41, 0.41]]
display(matrix.eigen())
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 UTC."],[[["\u003cp\u003eComputes the real eigenvectors and eigenvalues of a 2D square array.\u003c/p\u003e\n"],["\u003cp\u003eReturns an array where each row represents an eigenvalue and its corresponding eigenvector.\u003c/p\u003e\n"],["\u003cp\u003eEigenvalues are sorted in descending order within the output array.\u003c/p\u003e\n"],["\u003cp\u003eUtilizes the \u003ccode\u003eDecompositionFactory.eig()\u003c/code\u003e method from the EJML library for computation.\u003c/p\u003e\n"],["\u003cp\u003eAccepts a single argument: the input 2D square array.\u003c/p\u003e\n"]]],["The `eigen()` function computes the eigenvalues and eigenvectors of a square 2D array. It takes a square 2D array as input and returns a new array where each row represents an eigenvalue and its corresponding eigenvector. The first column of each row contains the eigenvalue, and the remaining columns contain the eigenvector components. The rows are sorted in descending order by eigenvalue. It uses `DecompositionFactory.eig()` for its core calculations.\n"],null,["# ee.Array.eigen\n\nComputes the real eigenvectors and eigenvalues of a square 2D array of A rows and A columns. Returns an array with A rows and A+1 columns, where each row contains an eigenvalue in the first column, and the corresponding eigenvector in the remaining A columns. The rows are sorted by eigenvalue, in descending order.\n\n\u003cbr /\u003e\n\nThis implementation uses DecompositionFactory.eig() from https://ejml.org.\n\n| Usage | Returns |\n|-----------------|---------|\n| Array.eigen`()` | Array |\n\n| Argument | Type | Details |\n|---------------|-------|------------------------------------------------------------------------|\n| this: `input` | Array | A square, 2D array from which to compute the eigenvalue decomposition. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\nprint(ee.Array([[0, 0], [0, 0]]).eigen()); // [[0,0,1],[0,1,0]]\n\nprint(ee.Array([[1, 0], [0, 0]]).eigen()); // [[1,1,0],[0,0,1]]\nprint(ee.Array([[0, 1], [0, 0]]).eigen()); // [[0,0,1],[0,1,0]]\nprint(ee.Array([[0, 0], [1, 0]]).eigen()); // [[0,-1,0],[0,0,-1]]\nprint(ee.Array([[0, 0], [0, 1]]).eigen()); // [[1,0,1],[0,1,0]]\n\nprint(ee.Array([[1, 1], [0, 0]]).eigen()); // [[1,1,0],[0,-1/√2,1/√2]]\nprint(ee.Array([[0, 0], [1, 1]]).eigen()); // [[1,0,-1],[0,-1/√2,1/√2]]]\n\nprint(ee.Array([[1, 0], [1, 0]]).eigen()); // [[1,1/√2,1/√2],[0,0,1]]\nprint(ee.Array([[1, 0], [0, 1]]).eigen()); // [[1,1,0],[1,0,1]]\nprint(ee.Array([[0, 1], [1, 0]]).eigen()); // [[1,1/√2,1/√2],[-1,1/√2,-1/√2]]\nprint(ee.Array([[0, 1], [0, 1]]).eigen()); // [[1,1/√2,1/√2],[0,1,0]]\n\nprint(ee.Array([[1, 1], [1, 0]]).eigen()); // [[1.62,0.85,0.53],[-0.62,0.53]]\nprint(ee.Array([[1, 1], [0, 1]]).eigen()); // [[1,0,1],[1,1,0]]\nprint(ee.Array([[1, 0], [1, 1]]).eigen()); // [[1,-1,0],[1,0,-1]]\n// [[1.62,-0.53,-0.85],[-0.62,-0.85,0.53]]\nprint(ee.Array([[0, 1], [1, 1]]).eigen());\n\nprint(ee.Array([[1, 1], [1, 1]]).eigen()); // [[2,1/√2,1/√2],[0,1/√2,-1/√2]]\n\nvar matrix = ee.Array([\n [1, 0, 0],\n [0, 1, 0],\n [0, 0, 1]]);\nprint(matrix.eigen()); // [[1,1,0,0],[1,0,1,0],[1,0,0,1]]\n\nvar matrix = ee.Array([\n [2, 0, 0],\n [0, 3, 0],\n [0, 0, 4]]);\nprint(matrix.eigen()); // [[4,0,0,1],[3,0,1,0],[2,1,0,0]]\n\nmatrix = ee.Array([\n [1, 0, 0],\n [0, 0, 0],\n [0, 0, 0]]);\nprint(matrix.eigen()); // [[1,1,0,0],[0,0,1,0],[0,0,0,1]]\n\nmatrix = ee.Array([\n [1, 1, 1],\n [1, 1, 1],\n [1, 1, 1]]);\n// [[3,-0.58,-0.58,-0.58],[0,0,-1/√2,1/√2],[0,-0.82,0.41,0.41]]\nprint(matrix.eigen());\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\ndisplay(ee.Array([[0, 0], [0, 0]]).eigen()) # [[0, 0, 1], [0, 1, 0]]\n\ndisplay(ee.Array([[1, 0], [0, 0]]).eigen()) # [[1, 1, 0], [0,0,1]]\ndisplay(ee.Array([[0, 1], [0, 0]]).eigen()) # [[0, 0, 1], [0, 1, 0]]\ndisplay(ee.Array([[0, 0], [1, 0]]).eigen()) # [[0, -1, 0], [0, 0, -1]]\ndisplay(ee.Array([[0, 0], [0, 1]]).eigen()) # [[1, 0, 1], [0, 1, 0]]\n\n# [[1, 1, 0], [0, -1/√2, 1/√2]]\ndisplay(ee.Array([[1, 1], [0, 0]]).eigen())\n\n# [[1, 0, -1], [0, -1/√2, 1/√2]]]\ndisplay(ee.Array([[0, 0], [1, 1]]).eigen())\n\n# [[1, 1/√2, 1/√2], [0, 0, 1]]\ndisplay(ee.Array([[1, 0], [1, 0]]).eigen())\ndisplay(ee.Array([[1, 0], [0, 1]]).eigen()) # [[1, 1, 0], [1, 0, 1]]\n\n# [[1, 1/√2, 1/√2], [-1, 1/√2, -1/√2]]\ndisplay(ee.Array([[0, 1], [1, 0]]).eigen())\n\n# [[1, 1/√2, 1/√2], [0, 1, 0]]\ndisplay(ee.Array([[0, 1], [0, 1]]).eigen())\n\n# [[1.62, 0.85, 0.53], [-0.62, 0.53]]\ndisplay(ee.Array([[1, 1], [1, 0]]).eigen())\ndisplay(ee.Array([[1, 1], [0, 1]]).eigen()) # [[1, 0, 1], [1, 1, 0]]\ndisplay(ee.Array([[1, 0], [1, 1]]).eigen()) # [[1, -1, 0], [1, 0, -1]]\n\n# [[1.62, -0.53, -0.85], [-0.62, -0.85, 0.53]]\ndisplay(ee.Array([[0, 1], [1, 1]]).eigen())\n\n# [[2, 1/√2, 1/√2], [0, 1/√2, -1/√2]]\ndisplay(ee.Array([[1, 1], [1, 1]]).eigen())\n\nmatrix = ee.Array([\n [1, 0, 0],\n [0, 1, 0],\n [0, 0, 1]])\ndisplay(matrix.eigen()) # [[1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]\n\nmatrix = ee.Array([\n [2, 0, 0],\n [0, 3, 0],\n [0, 0, 4]])\ndisplay(matrix.eigen()) # [[4, 0, 0, 1], [3, 0, 1, 0], [2, 1, 0, 0]]\n\nmatrix = ee.Array([\n [1, 0, 0],\n [0, 0, 0],\n [0, 0, 0]])\ndisplay(matrix.eigen()) # [[1, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]\n\nmatrix = ee.Array([\n [1, 1, 1],\n [1, 1, 1],\n [1, 1, 1]])\n# [[3, -0.58, -0.58, -0.58], [0, 0, -1/√2, 1/√2], [0, -0.82, 0.41, 0.41]]\ndisplay(matrix.eigen())\n```"]]