ee.Array.eigen
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Oblicza rzeczywiste wektory i wartości własne kwadratowej tablicy dwuwymiarowej o A wierszach i A kolumnach. Zwraca tablicę z A wierszami i A+1 kolumnami, w której każdy wiersz zawiera wartość własną w pierwszej kolumnie i odpowiadający jej wektor własny w pozostałych A kolumnach. Wiersze są posortowane według wartości własnej w kolejności malejącej.
Ta implementacja korzysta z funkcji DecompositionFactory.eig() z https://ejml.org.
Wykorzystanie | Zwroty |
---|
Array.eigen() | Tablica |
Argument | Typ | Szczegóły |
---|
to: input | Tablica | Kwadratowa tablica dwuwymiarowa, z której ma zostać obliczony rozkład na wartości własne. |
Przykłady
Edytor kodu (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());
Konfiguracja Pythona
Informacje o interfejsie Python API i używaniu geemap
do interaktywnego programowania znajdziesz na stronie
Środowisko 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())
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-26 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```"]]