Попытка сделать линейную алгебру с IronPython - PullRequest
0 голосов
/ 21 декабря 2018

С CPython я бы использовал numpy.linalg для вычисления линейной алгебры (svd), но numpy не работает с IronPython (я получил ошибку импорта с модулем с несколькими массивами).IronPython является обязательным, потому что я использую программное обеспечение со встроенным IronPython.

Я не могу найти в Интернете функциональную библиотеку для IronPython ... Кто-то знает хорошую библиотеку с несколькими зависимостями для IronPython и идеально для Windowsи Linux ??

На самом деле моя цель - найти среднюю плоскость из набора точек.Я нашел этот код в интернете:

def planeFit(points):
    """
    p, n = planeFit(points)

    Given an array, points, of shape (d,...)
    representing points in d-dimensional space,
    fit an d-dimensional plane to the points.

    Return a point, p, on the plane (the point-cloud centroid),
    and the normal, n.
    """
    import numpy as np
    from numpy.linalg import svd
    points = np.reshape(points, (np.shape(points)[0], -1))  # Collapse trialing dimensions
    assert points.shape[0] <= points.shape[1], "There are only %s points in %s dimensions." % (points.shape[1], points.shape[0])
    ctr = points.mean(axis=1)
    x = points - ctr[:, np.newaxis]
    M = np.dot(x, x.T)  # Could also use np.cov(x) here.
    return ctr, svd(M)[0][:,1]
...