gtsam-develop 4.3a0.dev202508020718__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 4.3a0.dev202508081446__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gtsam-develop might be problematic. Click here for more details.

gtsam/__init__.pyi CHANGED
@@ -2,28 +2,28 @@
2
2
  Module definition file for GTSAM
3
3
  """
4
4
  from __future__ import annotations
5
- from builtins import dict as MatchIndicesMap
6
- from builtins import dict as IndexPairSetMap
7
5
  from builtins import dict as KeyPairDoubleMap
8
- from builtins import list as Point2Pairs
9
- from builtins import list as Point3Pairs
10
- from builtins import list as IndexPairVector
6
+ from builtins import dict as IndexPairSetMap
7
+ from builtins import dict as MatchIndicesMap
11
8
  from builtins import list as Pose3Pairs
12
- from builtins import list as SfmTracks
13
- from builtins import list as BinaryMeasurementsRot3
14
- from builtins import list as Pose2Pairs
15
- from builtins import list as BetweenFactorPose3s
16
- from builtins import list as SfmTrack2dVector
17
- from builtins import list as BinaryMeasurementsPoint3
18
9
  from builtins import list as KeypointsVector
10
+ from builtins import list as SfmTrack2dVector
11
+ from builtins import list as BinaryMeasurementsRot3
19
12
  from builtins import list as BetweenFactorPose2s
20
- from builtins import list as SfmMeasurementVector
21
- from builtins import list as Rot3Vector
22
- from builtins import list as KeyVector
23
- from builtins import list as BinaryMeasurementsUnit3
13
+ from builtins import list as BinaryMeasurementsPoint3
14
+ from builtins import list as IndexPairVector
15
+ from builtins import list as SfmTracks
16
+ from builtins import list as SfmCameras
24
17
  from builtins import list as Point2Vector
18
+ from builtins import list as Point2Pairs
19
+ from builtins import list as Pose2Pairs
25
20
  from builtins import list as Pose3Vector
26
- from builtins import list as SfmCameras
21
+ from builtins import list as SfmMeasurementVector
22
+ from builtins import list as BinaryMeasurementsUnit3
23
+ from builtins import list as KeyVector
24
+ from builtins import list as BetweenFactorPose3s
25
+ from builtins import list as Rot3Vector
26
+ from builtins import list as Point3Pairs
27
27
  from gtsam.gtsam import AHRSFactor
28
28
  from gtsam.gtsam import AcceleratingScenario
29
29
  from gtsam.gtsam import AlgebraicDecisionTreeKey
gtsam/gtsam/__init__.pyi CHANGED
@@ -612,6 +612,11 @@ class Cal3:
612
612
  vectorized form (column-wise)
613
613
  """
614
614
  class Cal3Bundler(Cal3f):
615
+ @staticmethod
616
+ def Dim() -> int:
617
+ """
618
+ Return DOF, dimensionality of tangent space.
619
+ """
615
620
  def __getstate__(self) -> tuple:
616
621
  ...
617
622
  @typing.overload
@@ -629,6 +634,10 @@ class Cal3Bundler(Cal3f):
629
634
  ...
630
635
  def deserialize(self, serialized: str) -> None:
631
636
  ...
637
+ def dim(self) -> int:
638
+ """
639
+ Return DOF, dimensionality of tangent space.
640
+ """
632
641
  def equals(self, K: Cal3Bundler, tol: float) -> bool:
633
642
  """
634
643
  assert equality up to a tolerance
@@ -659,7 +668,7 @@ class Cal3DS2(Cal3DS2_Base):
659
668
  @staticmethod
660
669
  def Dim() -> int:
661
670
  """
662
- Return dimensions of calibration manifold object.
671
+ return DOF, dimensionality of tangent space
663
672
  """
664
673
  def __getstate__(self) -> tuple:
665
674
  ...
@@ -681,7 +690,7 @@ class Cal3DS2(Cal3DS2_Base):
681
690
  ...
682
691
  def dim(self) -> int:
683
692
  """
684
- Return dimensions of calibration manifold object.
693
+ return DOF, dimensionality of tangent space
685
694
  """
686
695
  def equals(self, K: Cal3DS2, tol: float) -> bool:
687
696
  """
@@ -771,6 +780,11 @@ class Cal3DS2_Base(Cal3):
771
780
  Return all parameters as a vector.
772
781
  """
773
782
  class Cal3Fisheye(Cal3):
783
+ @staticmethod
784
+ def Dim() -> int:
785
+ """
786
+ Return dimensions of calibration manifold object.
787
+ """
774
788
  def __getstate__(self) -> tuple:
775
789
  ...
776
790
  @typing.overload
@@ -810,6 +824,10 @@ class Cal3Fisheye(Cal3):
810
824
  """
811
825
  def deserialize(self, serialized: str) -> None:
812
826
  ...
827
+ def dim(self) -> int:
828
+ """
829
+ Return dimensions of calibration manifold object.
830
+ """
813
831
  def equals(self, K: Cal3Fisheye, tol: float) -> bool:
814
832
  """
815
833
  assert equality up to a tolerance
@@ -1057,6 +1075,11 @@ class Cal3_S2(Cal3):
1057
1075
  Returns: point in image coordinates
1058
1076
  """
1059
1077
  class Cal3_S2Stereo(Cal3_S2):
1078
+ @staticmethod
1079
+ def Dim() -> int:
1080
+ """
1081
+ return DOF, dimensionality of tangent space
1082
+ """
1060
1083
  @typing.overload
1061
1084
  def __init__(self) -> None:
1062
1085
  ...
@@ -1099,6 +1122,10 @@ class Cal3_S2Stereo(Cal3_S2):
1099
1122
 
1100
1123
  Returns: point in intrinsic coordinates
1101
1124
  """
1125
+ def dim(self) -> int:
1126
+ """
1127
+ return DOF, dimensionality of tangent space
1128
+ """
1102
1129
  def equals(self, other: Cal3_S2Stereo, tol: float) -> bool:
1103
1130
  """
1104
1131
  Check if equal up to specified tolerance.
@@ -1142,6 +1169,11 @@ class Cal3_S2Stereo(Cal3_S2):
1142
1169
  vectorized form (column-wise)
1143
1170
  """
1144
1171
  class Cal3f(Cal3):
1172
+ @staticmethod
1173
+ def Dim() -> int:
1174
+ """
1175
+ Return DOF, dimensionality of tangent space.
1176
+ """
1145
1177
  def __getstate__(self) -> tuple:
1146
1178
  ...
1147
1179
  @typing.overload
@@ -1178,6 +1210,10 @@ class Cal3f(Cal3):
1178
1210
  """
1179
1211
  def deserialize(self, serialized: str) -> None:
1180
1212
  ...
1213
+ def dim(self) -> int:
1214
+ """
1215
+ Return DOF, dimensionality of tangent space.
1216
+ """
1181
1217
  def equals(self, K: Cal3f, tol: float) -> bool:
1182
1218
  """
1183
1219
  assert equality up to a tolerance
@@ -1225,9 +1261,7 @@ class Cal3f(Cal3):
1225
1261
  class CalibratedCamera:
1226
1262
  @staticmethod
1227
1263
  def Dim() -> int:
1228
- """
1229
- Deprecated
1230
- """
1264
+ ...
1231
1265
  @staticmethod
1232
1266
  def Level(pose2: Pose2, height: float) -> CalibratedCamera:
1233
1267
  """
@@ -1266,9 +1300,7 @@ class CalibratedCamera:
1266
1300
  def deserialize(self, serialized: str) -> None:
1267
1301
  ...
1268
1302
  def dim(self) -> int:
1269
- """
1270
- Deprecated
1271
- """
1303
+ ...
1272
1304
  def equals(self, camera: CalibratedCamera, tol: float) -> bool:
1273
1305
  """
1274
1306
  assert equality up to a tolerance
@@ -4064,11 +4096,21 @@ class GPSFactorArmCalib(NonlinearFactor):
4064
4096
  ...
4065
4097
  class Gal3:
4066
4098
  @staticmethod
4099
+ def Dim() -> int:
4100
+ """
4101
+ Static method to get the dimension (compile-time or dynamic)
4102
+ """
4103
+ @staticmethod
4067
4104
  def Expmap(xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
4068
4105
  """
4069
4106
  Exponential map at identity: tangent vector xi -> manifold element g.
4070
4107
  """
4071
4108
  @staticmethod
4109
+ def Hat(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[5], typing.Literal[5]], numpy.dtype[numpy.float64]]:
4110
+ """
4111
+ Hat operator: maps tangent vector xi to Lie algebra matrix.
4112
+ """
4113
+ @staticmethod
4072
4114
  def Identity() -> Gal3:
4073
4115
  """
4074
4116
  Return the identity element.
@@ -4078,6 +4120,11 @@ class Gal3:
4078
4120
  """
4079
4121
  Logarithmic map at identity: manifold element g -> tangent vector xi.
4080
4122
  """
4123
+ @staticmethod
4124
+ def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]:
4125
+ """
4126
+ Vee operator: maps Lie algebra matrix to tangent vector xi.
4127
+ """
4081
4128
  @typing.overload
4082
4129
  def __init__(self) -> None:
4083
4130
  ...
@@ -4095,6 +4142,10 @@ class Gal3:
4095
4142
  ...
4096
4143
  def compose(self, other: Gal3) -> Gal3:
4097
4144
  ...
4145
+ def dim(self) -> int:
4146
+ """
4147
+ Provided fixed dimension indim()if needed.
4148
+ """
4098
4149
  def equals(self, other: Gal3, tol: float) -> bool:
4099
4150
  """
4100
4151
  Check equality within tolerance.
@@ -10593,6 +10644,11 @@ class Pose2:
10593
10644
  def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose2 | None:
10594
10645
  ...
10595
10646
  @staticmethod
10647
+ def Dim() -> int:
10648
+ """
10649
+ Static method to get the dimension (compile-time or dynamic)
10650
+ """
10651
+ @staticmethod
10596
10652
  @typing.overload
10597
10653
  def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose2:
10598
10654
  """
@@ -10709,6 +10765,10 @@ class Pose2:
10709
10765
  ...
10710
10766
  def deserialize(self, serialized: str) -> None:
10711
10767
  ...
10768
+ def dim(self) -> int:
10769
+ """
10770
+ Provided fixed dimension indim()if needed.
10771
+ """
10712
10772
  def equals(self, pose: Pose2, tol: float) -> bool:
10713
10773
  """
10714
10774
  assert equality up to a tolerance
@@ -10822,6 +10882,10 @@ class Pose2:
10822
10882
  """
10823
10883
  translation
10824
10884
  """
10885
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
10886
+ """
10887
+ Vectorize the rotation matrix into a 9D vector.
10888
+ """
10825
10889
  def x(self) -> float:
10826
10890
  """
10827
10891
  get x
@@ -10842,6 +10906,11 @@ class Pose3:
10842
10906
  def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose3 | None:
10843
10907
  ...
10844
10908
  @staticmethod
10909
+ def Dim() -> int:
10910
+ """
10911
+ Static method to get the dimension (compile-time or dynamic)
10912
+ """
10913
+ @staticmethod
10845
10914
  @typing.overload
10846
10915
  def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose3:
10847
10916
  """
@@ -10988,6 +11057,10 @@ class Pose3:
10988
11057
  ...
10989
11058
  def deserialize(self, serialized: str) -> None:
10990
11059
  ...
11060
+ def dim(self) -> int:
11061
+ """
11062
+ Provided fixed dimension indim()if needed.
11063
+ """
10991
11064
  def equals(self, pose: Pose3, tol: float) -> bool:
10992
11065
  """
10993
11066
  assert equality up to a tolerance
@@ -11204,6 +11277,10 @@ class Pose3:
11204
11277
  """
11205
11278
  get translation
11206
11279
  """
11280
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
11281
+ """
11282
+ Return vectorized SE(3) matrix in column order.
11283
+ """
11207
11284
  def x(self) -> float:
11208
11285
  """
11209
11286
  get x
@@ -11468,9 +11545,7 @@ class PreintegratedRotation:
11468
11545
  def equals(self, other: PreintegratedRotation, tol: float) -> bool:
11469
11546
  ...
11470
11547
  def integrateCoriolis(self, rot_i: Rot3) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
11471
- """
11472
- Integrate coriolis correction in body frame rot_i.
11473
- """
11548
+ ...
11474
11549
  def integrateGyroMeasurement(self, measuredOmega: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], biasHat: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], deltaT: float) -> None:
11475
11550
  """
11476
11551
  Calculate an incremental rotation given the gyro measurement and a time interval, and update both deltaTij_ and deltaRij_.
@@ -12179,6 +12254,11 @@ class ReferenceFrameFactorPoint3Pose3(NoiseModelFactor):
12179
12254
  ...
12180
12255
  class Rot2:
12181
12256
  @staticmethod
12257
+ def Dim() -> int:
12258
+ """
12259
+ Static method to get the dimension (compile-time or dynamic)
12260
+ """
12261
+ @staticmethod
12182
12262
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot2:
12183
12263
  """
12184
12264
  Exponential map at identity - create a rotation from canonical coordinates.
@@ -12261,6 +12341,10 @@ class Rot2:
12261
12341
  """
12262
12342
  def deserialize(self, serialized: str) -> None:
12263
12343
  ...
12344
+ def dim(self) -> int:
12345
+ """
12346
+ Provided fixed dimension indim()if needed.
12347
+ """
12264
12348
  def equals(self, R: Rot2, tol: float) -> bool:
12265
12349
  """
12266
12350
  equals with an tolerance
@@ -12319,6 +12403,10 @@ class Rot2:
12319
12403
  """
12320
12404
  rotate point from world to rotated frame$ p^c = (R_c^w)^T p^w $
12321
12405
  """
12406
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12407
+ """
12408
+ Vectorize the rotation matrix into a 4D vector.
12409
+ """
12322
12410
  class Rot3:
12323
12411
  @staticmethod
12324
12412
  def AxisAngle(axis: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], angle: float) -> Rot3:
@@ -12339,6 +12427,11 @@ class Rot3:
12339
12427
  Uses Full SVD to compute the orthogonal matrix, thus is highly accurate and robust. N. J. Higham. Matrix nearness problems and applications. In M. J. C. Gover and S. Barnett, editors, Applications of Matrix Theory, pages 1–27. Oxford University Press, 1989.
12340
12428
  """
12341
12429
  @staticmethod
12430
+ def Dim() -> int:
12431
+ """
12432
+ Static method to get the dimension (compile-time or dynamic)
12433
+ """
12434
+ @staticmethod
12342
12435
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot3:
12343
12436
  """
12344
12437
  Exponential map - create a rotation from canonical coordinates$ [R_x,R_y,R_z] $using Rodrigues' formula.
@@ -12473,6 +12566,10 @@ class Rot3:
12473
12566
  ...
12474
12567
  def deserialize(self, serialized: str) -> None:
12475
12568
  ...
12569
+ def dim(self) -> int:
12570
+ """
12571
+ Provided fixed dimension indim()if needed.
12572
+ """
12476
12573
  def equals(self, p: Rot3, tol: float) -> bool:
12477
12574
  """
12478
12575
  equals with an tolerance
@@ -12562,6 +12659,10 @@ class Rot3:
12562
12659
  """
12563
12660
  unrotate 3D direction from world frame to rotated coordinate frame
12564
12661
  """
12662
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12663
+ """
12664
+ Vee maps from Lie algebra to tangent vector.
12665
+ """
12565
12666
  def xyz(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12566
12667
  """
12567
12668
  Use RQ to calculate xyz angle representation.
@@ -12641,6 +12742,11 @@ class RotateFactor(NoiseModelFactor):
12641
12742
  """
12642
12743
  class SL4:
12643
12744
  @staticmethod
12745
+ def Dim() -> int:
12746
+ """
12747
+ Static method to get the dimension (compile-time or dynamic)
12748
+ """
12749
+ @staticmethod
12644
12750
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SL4:
12645
12751
  ...
12646
12752
  @staticmethod
@@ -12685,6 +12791,10 @@ class SL4:
12685
12791
  ...
12686
12792
  def deserialize(self, serialized: str) -> None:
12687
12793
  ...
12794
+ def dim(self) -> int:
12795
+ """
12796
+ Provided fixed dimension indim()if needed.
12797
+ """
12688
12798
  def equals(self, sl4: SL4, tol: float) -> bool:
12689
12799
  """
12690
12800
  assert equality up to a tolerance
@@ -12719,6 +12829,12 @@ class SL4:
12719
12829
  ...
12720
12830
  def serialize(self) -> str:
12721
12831
  ...
12832
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12833
+ """
12834
+ Vectorize the matrix representation of a Lie group element.
12835
+
12836
+ The derivative H is the (N*N) x D Jacobian of this vectorization map. It is given by the formula H = (I_N ⊗ T) * P, where T is the N x N matrix of this group element, ⊗ is the Kronecker product, and P is the (N*N) x D matrix whose columns are the vectorized Lie algebra generators vec(Hat(e_j)). This can be computed efficiently via block-wise multiplication.
12837
+ """
12722
12838
  class SO3:
12723
12839
  @staticmethod
12724
12840
  def AxisAngle(axis: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], theta: float) -> SO3:
@@ -12727,6 +12843,9 @@ class SO3:
12727
12843
  def ClosestTo(M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
12728
12844
  ...
12729
12845
  @staticmethod
12846
+ def Dim() -> int:
12847
+ ...
12848
+ @staticmethod
12730
12849
  def Expmap(v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
12731
12850
  ...
12732
12851
  @staticmethod
@@ -12736,9 +12855,14 @@ class SO3:
12736
12855
  def FromMatrix(R: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
12737
12856
  ...
12738
12857
  @staticmethod
12858
+ @typing.overload
12739
12859
  def Hat(xi: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
12740
12860
  ...
12741
12861
  @staticmethod
12862
+ @typing.overload
12863
+ def Hat(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
12864
+ ...
12865
+ @staticmethod
12742
12866
  def Identity() -> SO3:
12743
12867
  ...
12744
12868
  @staticmethod
@@ -12748,8 +12872,13 @@ class SO3:
12748
12872
  def LogmapDerivative(omega: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]:
12749
12873
  ...
12750
12874
  @staticmethod
12875
+ @typing.overload
12751
12876
  def Vee(xi: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[3]], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12752
12877
  ...
12878
+ @staticmethod
12879
+ @typing.overload
12880
+ def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12881
+ ...
12753
12882
  @typing.overload
12754
12883
  def __init__(self) -> None:
12755
12884
  ...
@@ -12764,6 +12893,8 @@ class SO3:
12764
12893
  ...
12765
12894
  def compose(self, R: SO3) -> SO3:
12766
12895
  ...
12896
+ def dim(self) -> int:
12897
+ ...
12767
12898
  def equals(self, other: SO3, tol: float) -> bool:
12768
12899
  ...
12769
12900
  def expmap(self, v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
@@ -12784,11 +12915,9 @@ class SO3:
12784
12915
  ...
12785
12916
  class SO4:
12786
12917
  @staticmethod
12787
- @typing.overload
12788
- def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
12918
+ def Dim() -> int:
12789
12919
  ...
12790
12920
  @staticmethod
12791
- @typing.overload
12792
12921
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
12793
12922
  ...
12794
12923
  @staticmethod
@@ -12804,7 +12933,7 @@ class SO4:
12804
12933
  def Logmap(p: SO4) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12805
12934
  ...
12806
12935
  @staticmethod
12807
- def Vee(xi: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12936
+ def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12808
12937
  ...
12809
12938
  @typing.overload
12810
12939
  def __init__(self) -> None:
@@ -12820,6 +12949,8 @@ class SO4:
12820
12949
  ...
12821
12950
  def compose(self, Q: SO4) -> SO4:
12822
12951
  ...
12952
+ def dim(self) -> int:
12953
+ ...
12823
12954
  def equals(self, other: SO4, tol: float) -> bool:
12824
12955
  ...
12825
12956
  def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
@@ -12840,6 +12971,9 @@ class SO4:
12840
12971
  ...
12841
12972
  class SOn:
12842
12973
  @staticmethod
12974
+ def Dim() -> int:
12975
+ ...
12976
+ @staticmethod
12843
12977
  @typing.overload
12844
12978
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
12845
12979
  ...
@@ -12863,7 +12997,7 @@ class SOn:
12863
12997
  def Logmap(p: SOn) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
12864
12998
  ...
12865
12999
  @staticmethod
12866
- def Vee(xi: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
13000
+ def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
12867
13001
  ...
12868
13002
  def __getstate__(self) -> tuple:
12869
13003
  ...
@@ -12881,6 +13015,8 @@ class SOn:
12881
13015
  ...
12882
13016
  def deserialize(self, serialized: str) -> None:
12883
13017
  ...
13018
+ def dim(self) -> int:
13019
+ ...
12884
13020
  def equals(self, other: SOn, tol: float) -> bool:
12885
13021
  ...
12886
13022
  def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
@@ -12961,7 +13097,9 @@ class ScenarioRunner:
12961
13097
  def gravity_n(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12962
13098
  ...
12963
13099
  def imuSampleTime(self) -> float:
12964
- ...
13100
+ """
13101
+ The IMU sample time (i.e. the time between two IMU measurements)
13102
+ """
12965
13103
  def integrate(self, T: float, estimatedBias: imuBias.ConstantBias, corrupted: bool) -> PreintegratedImuMeasurements:
12966
13104
  """
12967
13105
  Integrate measurements for T seconds into a PIM.
@@ -12969,7 +13107,9 @@ class ScenarioRunner:
12969
13107
  def measuredAngularVelocity(self, t: float) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12970
13108
  ...
12971
13109
  def measuredSpecificForce(self, t: float) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12972
- ...
13110
+ """
13111
+ Specific force measured by accelerometer, corrupted by bias and noise.
13112
+ """
12973
13113
  def predict(self, pim: PreintegratedImuMeasurements, estimatedBias: imuBias.ConstantBias) -> NavState:
12974
13114
  """
12975
13115
  Predict predict given a PIM.
@@ -13483,7 +13623,7 @@ class Similarity2:
13483
13623
  @staticmethod
13484
13624
  def Dim() -> int:
13485
13625
  """
13486
- Dimensionality of tangent space = 4 DOF - used to autodetect sizes.
13626
+ Static method to get the dimension (compile-time or dynamic)
13487
13627
  """
13488
13628
  @staticmethod
13489
13629
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity2:
@@ -13535,7 +13675,7 @@ class Similarity2:
13535
13675
  ...
13536
13676
  def dim(self) -> int:
13537
13677
  """
13538
- Dimensionality of tangent space = 4 DOF.
13678
+ Provided fixed dimension indim()if needed.
13539
13679
  """
13540
13680
  def equals(self, sim: Similarity2, tol: float) -> bool:
13541
13681
  """
@@ -13609,7 +13749,7 @@ class Similarity3:
13609
13749
  @staticmethod
13610
13750
  def Dim() -> int:
13611
13751
  """
13612
- Dimensionality of tangent space = 7 DOF - used to autodetect sizes.
13752
+ Static method to get the dimension (compile-time or dynamic)
13613
13753
  """
13614
13754
  @staticmethod
13615
13755
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity3:
@@ -13666,7 +13806,7 @@ class Similarity3:
13666
13806
  ...
13667
13807
  def dim(self) -> int:
13668
13808
  """
13669
- Dimensionality of tangent space = 7 DOF.
13809
+ Provided fixed dimension indim()if needed.
13670
13810
  """
13671
13811
  def equals(self, sim: Similarity3, tol: float) -> bool:
13672
13812
  """
@@ -14911,16 +15051,10 @@ class StereoCamera:
14911
15051
  ...
14912
15052
  class StereoPoint2:
14913
15053
  @staticmethod
14914
- def Expmap(d: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
14915
- ...
14916
- @staticmethod
14917
15054
  def Identity() -> StereoPoint2:
14918
15055
  """
14919
15056
  identity
14920
15057
  """
14921
- @staticmethod
14922
- def Logmap(p: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
14923
- ...
14924
15058
  def __add__(self, arg0: StereoPoint2) -> StereoPoint2:
14925
15059
  ...
14926
15060
  def __getstate__(self) -> tuple:
@@ -14942,26 +15076,16 @@ class StereoPoint2:
14942
15076
  ...
14943
15077
  def __sub__(self, arg0: StereoPoint2) -> StereoPoint2:
14944
15078
  ...
14945
- def between(self, p2: StereoPoint2) -> StereoPoint2:
14946
- ...
14947
- def compose(self, p1: StereoPoint2) -> StereoPoint2:
14948
- ...
14949
15079
  def deserialize(self, serialized: str) -> None:
14950
15080
  ...
14951
15081
  def equals(self, q: StereoPoint2, tol: float) -> bool:
14952
15082
  """
14953
15083
  equals
14954
15084
  """
14955
- def inverse(self) -> StereoPoint2:
14956
- ...
14957
- def localCoordinates(self, t2: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
14958
- ...
14959
15085
  def print(self, s: str = '') -> None:
14960
15086
  """
14961
15087
  print
14962
15088
  """
14963
- def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
14964
- ...
14965
15089
  def serialize(self) -> str:
14966
15090
  ...
14967
15091
  def uL(self) -> float:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gtsam-develop
3
- Version: 4.3a0.dev202508020718
3
+ Version: 4.3a0.dev202508081446
4
4
  Summary: Georgia Tech Smoothing And Mapping library
5
5
  Home-page: https://gtsam.org/
6
6
  Author: Frank Dellaert et. al.
@@ -149,9 +149,9 @@ In GTSAM 4 a new and more efficient implementation, based on integrating on the
149
149
 
150
150
  ## Additional Information
151
151
 
152
- There is a [`GTSAM users Google group`](https://groups.google.com/forum/#!forum/gtsam-users) for general discussion.
152
+ There is a [GTSAM users Google group](https://groups.google.com/forum/#!forum/gtsam-users) for general discussion.
153
153
 
154
- Read about important [`GTSAM-Concepts`](GTSAM-Concepts.md) here. A primer on GTSAM Expressions,
154
+ Read about important [GTSAM-Concepts](doc/GTSAM-Concepts.md) here. A primer on GTSAM Expressions,
155
155
  which support (superfast) automatic differentiation,
156
156
  can be found on the [GTSAM wiki on BitBucket](https://bitbucket.org/gtborg/gtsam/wiki/Home).
157
157
 
@@ -1,6 +1,6 @@
1
1
  gtsam/__init__.py,sha256=6G-WPnb_FMQEJXNDDAmrKrQPau7evtd5svhTmMqhYSI,2011
2
- gtsam/__init__.pyi,sha256=hlW_iTfOqpii0nMNrXW6RBFH52cyF9tYBwNTVp5Fe6w,44348
3
- gtsam/gtsam.cpython-310-aarch64-linux-gnu.so,sha256=le1K2vJcuyUjBR7oXFs7bgx9zTEc56BEJVN5SlUKekw,22921929
2
+ gtsam/__init__.pyi,sha256=ojlNrRnwUqQhiGMPaYWsmbbXj6puNMYVOs4kLhSKIi8,44348
3
+ gtsam/gtsam.cpython-310-aarch64-linux-gnu.so,sha256=NNuMcnnktDoHqpFfql_kkc3wL9SPdzqDJ6YsKsANiIs,22922089
4
4
  gtsam/gtsfm.py,sha256=Udlkb6o5iUk69uxBkb88-W1GLfu1g8iSuZlLu-RRU0o,202
5
5
  gtsam/imuBias.py,sha256=tz3bOCFl29iMycbGFoF-ud6kRsJYjA7DJ2RJoKPFRU8,209
6
6
  gtsam/noiseModel.py,sha256=ybfIHa4sLXe78_k-Dib8nTaw34BRXqEDVtS2B9dzSO0,217
@@ -114,7 +114,7 @@ gtsam/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  gtsam/examples/gtsam_plotly.py,sha256=bTXAzZ3i_RunKrdGwFLsMsetYYleQrzDa50ekmrt_nQ,17073
115
115
  gtsam/examples/plot_city10000.py,sha256=xsM1HFlcBn6TqEqQtZjlOl0WQI6tVZMgjtKdYIusbyE,3353
116
116
  gtsam/examples/simulation.py,sha256=VAopcCosvdtXRy6xe547EDz73lXhLiYbPnFQZWjo2wU,5405
117
- gtsam/gtsam/__init__.pyi,sha256=c44f-IIsQE0pWBhGctr5aex-RLXIwgzDnFL5vpJckeY,738285
117
+ gtsam/gtsam/__init__.pyi,sha256=c4Mk1ORpi0Dceyw1g_VrcPNZBDe2iHkMEMF0GMIoDzg,742355
118
118
  gtsam/gtsam/gtsfm.pyi,sha256=Onoh4CRaSYIQ0FID0vBkZeV7ESIhc2fh4rJGgaPY-ug,702
119
119
  gtsam/gtsam/imuBias.pyi,sha256=UqK0nLVICpnyw8B8_Q1GgX-qRd6atlCXT6OZNffZ1ao,2797
120
120
  gtsam/gtsam/lago.pyi,sha256=-VzJaQ1ho25n7S4VjbugWmPNUtKeMsoESifX9K8l2Yo,551
@@ -247,17 +247,17 @@ gtsam_develop.libs/libboost_system-0f8f8a6a.so.1.87.0,sha256=vG7c-nCNDFk9UrmGaYj
247
247
  gtsam_develop.libs/libboost_thread-e6217d1e.so.1.87.0,sha256=E2jFMpQ_xgH8mzebJPVAo9JKwZRF0cTUZx4q4aDVVKo,357745
248
248
  gtsam_develop.libs/libboost_timer-c03b5720.so.1.87.0,sha256=C-jrqHaflQqKfg88hGhzFRof8w0WX5Lw-N56zLtD3CE,133249
249
249
  gtsam_develop.libs/libcephes-gtsam-906422bf.so.1.0.0,sha256=aX4Q_2V2F1uwqCEdNkLhzOzgGWLf2cTeZn9OJeRcSvY,264913
250
- gtsam_develop.libs/libgtsam-785a7dff.so.4.3a0.dev202508020718,sha256=2ejz-8iuN5WPIBECMgF3CVsp4iAGk_Gj2uOjDbs9ZeU,11275065
251
- gtsam_develop.libs/libgtsam_unstable-93bbce1b.so.4.3a0.dev202508020718,sha256=fkTy2goaScMEsh4-dA4ZpV8S_0nz_efbgkG67oTfzxE,2585577
250
+ gtsam_develop.libs/libgtsam-d26ed44f.so.4.3a0.dev202508081446,sha256=cjJSPideq09tKL4nxltutKoSr_RwACyuJVuntAQBXLw,11275273
251
+ gtsam_develop.libs/libgtsam_unstable-c4df60a2.so.4.3a0.dev202508081446,sha256=4rpvH7wZHyd29uftczD-bp8i-MXPgxIwWFcgzo_KdKs,2585577
252
252
  gtsam_develop.libs/libmetis-gtsam-b7310f3a.so,sha256=6Y9LebAEnr8OFCzKGxK2KADmtBGIq3XnzDpXF7jMX4A,546689
253
253
  gtsam_unstable/__init__.py,sha256=FPc_oO5PFQZbrfpgugzQuI6LJfP1fzq82UQf_nuyGtk,30
254
- gtsam_unstable/gtsam_unstable.cpython-310-aarch64-linux-gnu.so,sha256=HXzC-mRzlEw7IkiHsX249TiZNGsecCShvGXUUD9cFcE,2715801
254
+ gtsam_unstable/gtsam_unstable.cpython-310-aarch64-linux-gnu.so,sha256=-1RBJLLUoURS04NHw8oCG83V8J2dVQOHd0sPGOZgLvA,2715801
255
255
  gtsam_unstable/examples/LocalizationExample.py,sha256=na47I1PQ_5Tenj8Wg2LBg3GaqP32O4yEb8jtRWKu0P8,2882
256
256
  gtsam_unstable/examples/TimeOfArrivalExample.py,sha256=uky5ps4Ng83C0Q_s2EAc64Af6iztQjXXdj3ahifRXoI,3737
257
257
  gtsam_unstable/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
258
  gtsam_unstable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
259
259
  gtsam_unstable/tests/test_ProjectionFactorRollingShutter.py,sha256=t2l62uWoXfjrM8oH6ogV7M20WjTYKZ4CSferdurMIY0,2156
260
- gtsam_develop-4.3a0.dev202508020718.dist-info/METADATA,sha256=AQqsvHo0Jzs8I42vYOzqyhIUnT32oqoQp0vq7D0MSqU,7767
261
- gtsam_develop-4.3a0.dev202508020718.dist-info/WHEEL,sha256=vt10XHyx8XHNEIAFxeE1WFzs0eMXeaXoxjuAPSHPBl8,153
262
- gtsam_develop-4.3a0.dev202508020718.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
263
- gtsam_develop-4.3a0.dev202508020718.dist-info/RECORD,,
260
+ gtsam_develop-4.3a0.dev202508081446.dist-info/METADATA,sha256=bIfyA2X0TEmygLgaYnXUK6JAl_nFUcsDnUI9A9ikuFs,7767
261
+ gtsam_develop-4.3a0.dev202508081446.dist-info/WHEEL,sha256=vt10XHyx8XHNEIAFxeE1WFzs0eMXeaXoxjuAPSHPBl8,153
262
+ gtsam_develop-4.3a0.dev202508081446.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
263
+ gtsam_develop-4.3a0.dev202508081446.dist-info/RECORD,,