ee.Array.eigen

คำนวณเวกเตอร์ลักษณะเฉพาะและค่าลักษณะเฉพาะจริงของอาร์เรย์ 2 มิติแบบสี่เหลี่ยมจัตุรัสที่มี A แถวและ A คอลัมน์ แสดงผลอาร์เรย์ที่มี A แถวและ A+1 คอลัมน์ โดยแต่ละแถวจะมีค่าลักษณะเฉพาะในคอลัมน์แรก และเวกเตอร์ลักษณะเฉพาะที่สอดคล้องกันในคอลัมน์ที่เหลืออีก A คอลัมน์ แถวจะจัดเรียงตามค่าลักษณะเฉพาะจากมากไปน้อย

 การติดตั้งใช้งานนี้ใช้ DecompositionFactory.eig() จาก https://ejml.org

การใช้งานการคืนสินค้า
Array.eigen()อาร์เรย์
อาร์กิวเมนต์ประเภทรายละเอียด
ดังนี้ inputอาร์เรย์อาร์เรย์ 2 มิติที่เป็นสี่เหลี่ยมจัตุรัสที่จะใช้คำนวณการแยกค่าลักษณะเฉพาะ

ตัวอย่าง

โปรแกรมแก้ไขโค้ด (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

ดูข้อมูลเกี่ยวกับ Python API และการใช้ 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())