MCPcopy Create free account
hub / github.com/NVlabs/InstantSplat / vector_norm

Function vector_norm

utils/utils_poses/ATE/transformations.py:1804–1840  ·  view source on GitHub ↗

Return length, i.e. eucledian norm, of ndarray along axis. >>> v = numpy.random.random(3) >>> n = vector_norm(v) >>> numpy.allclose(n, numpy.linalg.norm(v)) True >>> v = numpy.random.rand(6, 5, 3) >>> n = vector_norm(v, axis=-1) >>> numpy.allclose(n, numpy.sqrt(numpy.sum

(data, axis=None, out=None)

Source from the content-addressed store, hash-verified

1802
1803
1804def vector_norm(data, axis=None, out=None):
1805 """Return length, i.e. eucledian norm, of ndarray along axis.
1806
1807 >>> v = numpy.random.random(3)
1808 >>> n = vector_norm(v)
1809 >>> numpy.allclose(n, numpy.linalg.norm(v))
1810 True
1811 >>> v = numpy.random.rand(6, 5, 3)
1812 >>> n = vector_norm(v, axis=-1)
1813 >>> numpy.allclose(n, numpy.sqrt(numpy.sum(v*v, axis=2)))
1814 True
1815 >>> n = vector_norm(v, axis=1)
1816 >>> numpy.allclose(n, numpy.sqrt(numpy.sum(v*v, axis=1)))
1817 True
1818 >>> v = numpy.random.rand(5, 4, 3)
1819 >>> n = numpy.empty((5, 3), dtype=numpy.float64)
1820 >>> vector_norm(v, axis=1, out=n)
1821 >>> numpy.allclose(n, numpy.sqrt(numpy.sum(v*v, axis=1)))
1822 True
1823 >>> vector_norm([])
1824 0.0
1825 >>> vector_norm([1.0])
1826 1.0
1827
1828 """
1829 data = numpy.array(data, dtype=numpy.float64, copy=True)
1830 if out is None:
1831 if data.ndim == 1:
1832 return math.sqrt(numpy.dot(data, data))
1833 data *= data
1834 out = numpy.atleast_1d(numpy.sum(data, axis=axis))
1835 numpy.sqrt(out, out)
1836 return out
1837 else:
1838 data *= data
1839 numpy.sum(data, axis=axis, out=out)
1840 numpy.sqrt(out, out)
1841
1842
1843def unit_vector(data, axis=None, out=None):

Callers 8

scale_from_matrixFunction · 0.85
projection_from_matrixFunction · 0.85
shear_from_matrixFunction · 0.85
decompose_matrixFunction · 0.85
superimposition_matrixFunction · 0.85
quaternion_about_axisFunction · 0.85
__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected