gtsam-develop 4.3a0.dev202508020718__cp311-cp311-macosx_11_0_arm64.whl → 4.3a0.dev202508021458__cp311-cp311-macosx_11_0_arm64.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
@@ -3,26 +3,26 @@ Module definition file for GTSAM
3
3
  """
4
4
  from __future__ import annotations
5
5
  from builtins import dict as IndexPairSetMap
6
- from builtins import dict as MatchIndicesMap
7
6
  from builtins import dict as KeyPairDoubleMap
7
+ from builtins import dict as MatchIndicesMap
8
+ from builtins import list as KeypointsVector
8
9
  from builtins import list as Point2Vector
9
- from builtins import list as BinaryMeasurementsPoint3
10
- from builtins import list as Point3Pairs
10
+ from builtins import list as BinaryMeasurementsUnit3
11
+ from builtins import list as SfmCameras
12
+ from builtins import list as IndexPairVector
11
13
  from builtins import list as BetweenFactorPose2s
14
+ from builtins import list as Pose2Pairs
15
+ from builtins import list as BinaryMeasurementsRot3
16
+ from builtins import list as BinaryMeasurementsPoint3
17
+ from builtins import list as KeyVector
18
+ from builtins import list as Pose3Vector
12
19
  from builtins import list as BetweenFactorPose3s
13
- from builtins import list as SfmTrack2dVector
14
20
  from builtins import list as SfmTracks
15
- from builtins import list as IndexPairVector
16
21
  from builtins import list as Rot3Vector
17
- from builtins import list as BinaryMeasurementsRot3
18
- from builtins import list as KeypointsVector
22
+ from builtins import list as Point3Pairs
23
+ from builtins import list as SfmTrack2dVector
19
24
  from builtins import list as SfmMeasurementVector
20
- from builtins import list as SfmCameras
21
25
  from builtins import list as Pose3Pairs
22
- from builtins import list as Pose3Vector
23
- from builtins import list as KeyVector
24
- from builtins import list as Pose2Pairs
25
- from builtins import list as BinaryMeasurementsUnit3
26
26
  from builtins import list as Point2Pairs
27
27
  from gtsam.gtsam import AHRSFactor
28
28
  from gtsam.gtsam import AcceleratingScenario
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
@@ -4065,11 +4097,21 @@ class GPSFactorArmCalib(NonlinearFactor):
4065
4097
  ...
4066
4098
  class Gal3:
4067
4099
  @staticmethod
4100
+ def Dim() -> int:
4101
+ """
4102
+ Static method to get the dimension (compile-time or dynamic)
4103
+ """
4104
+ @staticmethod
4068
4105
  def Expmap(xi: numpy.ndarray[tuple[typing.Literal[10], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Gal3:
4069
4106
  """
4070
4107
  Exponential map at identity: tangent vector xi -> manifold element g.
4071
4108
  """
4072
4109
  @staticmethod
4110
+ 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]]:
4111
+ """
4112
+ Hat operator: maps tangent vector xi to Lie algebra matrix.
4113
+ """
4114
+ @staticmethod
4073
4115
  def Identity() -> Gal3:
4074
4116
  """
4075
4117
  Return the identity element.
@@ -4079,6 +4121,11 @@ class Gal3:
4079
4121
  """
4080
4122
  Logarithmic map at identity: manifold element g -> tangent vector xi.
4081
4123
  """
4124
+ @staticmethod
4125
+ 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]]:
4126
+ """
4127
+ Vee operator: maps Lie algebra matrix to tangent vector xi.
4128
+ """
4082
4129
  @typing.overload
4083
4130
  def __init__(self) -> None:
4084
4131
  ...
@@ -4096,6 +4143,10 @@ class Gal3:
4096
4143
  ...
4097
4144
  def compose(self, other: Gal3) -> Gal3:
4098
4145
  ...
4146
+ def dim(self) -> int:
4147
+ """
4148
+ Provided fixed dimension indim()if needed.
4149
+ """
4099
4150
  def equals(self, other: Gal3, tol: float) -> bool:
4100
4151
  """
4101
4152
  Check equality within tolerance.
@@ -10623,6 +10674,11 @@ class Pose2:
10623
10674
  def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose2 | None:
10624
10675
  ...
10625
10676
  @staticmethod
10677
+ def Dim() -> int:
10678
+ """
10679
+ Static method to get the dimension (compile-time or dynamic)
10680
+ """
10681
+ @staticmethod
10626
10682
  @typing.overload
10627
10683
  def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose2:
10628
10684
  """
@@ -10739,6 +10795,10 @@ class Pose2:
10739
10795
  ...
10740
10796
  def deserialize(self, serialized: str) -> None:
10741
10797
  ...
10798
+ def dim(self) -> int:
10799
+ """
10800
+ Provided fixed dimension indim()if needed.
10801
+ """
10742
10802
  def equals(self, pose: Pose2, tol: float) -> bool:
10743
10803
  """
10744
10804
  assert equality up to a tolerance
@@ -10852,6 +10912,10 @@ class Pose2:
10852
10912
  """
10853
10913
  translation
10854
10914
  """
10915
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
10916
+ """
10917
+ Vectorize the rotation matrix into a 9D vector.
10918
+ """
10855
10919
  def x(self) -> float:
10856
10920
  """
10857
10921
  get x
@@ -10872,6 +10936,11 @@ class Pose3:
10872
10936
  def Align(a: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]], b: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> Pose3 | None:
10873
10937
  ...
10874
10938
  @staticmethod
10939
+ def Dim() -> int:
10940
+ """
10941
+ Static method to get the dimension (compile-time or dynamic)
10942
+ """
10943
+ @staticmethod
10875
10944
  @typing.overload
10876
10945
  def Expmap(xi: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Pose3:
10877
10946
  """
@@ -11018,6 +11087,10 @@ class Pose3:
11018
11087
  ...
11019
11088
  def deserialize(self, serialized: str) -> None:
11020
11089
  ...
11090
+ def dim(self) -> int:
11091
+ """
11092
+ Provided fixed dimension indim()if needed.
11093
+ """
11021
11094
  def equals(self, pose: Pose3, tol: float) -> bool:
11022
11095
  """
11023
11096
  assert equality up to a tolerance
@@ -11234,6 +11307,10 @@ class Pose3:
11234
11307
  """
11235
11308
  get translation
11236
11309
  """
11310
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
11311
+ """
11312
+ Return vectorized SE(3) matrix in column order.
11313
+ """
11237
11314
  def x(self) -> float:
11238
11315
  """
11239
11316
  get x
@@ -12209,6 +12286,11 @@ class ReferenceFrameFactorPoint3Pose3(NoiseModelFactor):
12209
12286
  ...
12210
12287
  class Rot2:
12211
12288
  @staticmethod
12289
+ def Dim() -> int:
12290
+ """
12291
+ Static method to get the dimension (compile-time or dynamic)
12292
+ """
12293
+ @staticmethod
12212
12294
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot2:
12213
12295
  """
12214
12296
  Exponential map at identity - create a rotation from canonical coordinates.
@@ -12291,6 +12373,10 @@ class Rot2:
12291
12373
  """
12292
12374
  def deserialize(self, serialized: str) -> None:
12293
12375
  ...
12376
+ def dim(self) -> int:
12377
+ """
12378
+ Provided fixed dimension indim()if needed.
12379
+ """
12294
12380
  def equals(self, R: Rot2, tol: float) -> bool:
12295
12381
  """
12296
12382
  equals with an tolerance
@@ -12349,6 +12435,10 @@ class Rot2:
12349
12435
  """
12350
12436
  rotate point from world to rotated frame$ p^c = (R_c^w)^T p^w $
12351
12437
  """
12438
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[4], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12439
+ """
12440
+ Vectorize the rotation matrix into a 4D vector.
12441
+ """
12352
12442
  class Rot3:
12353
12443
  @staticmethod
12354
12444
  def AxisAngle(axis: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]], angle: float) -> Rot3:
@@ -12369,6 +12459,11 @@ class Rot3:
12369
12459
  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.
12370
12460
  """
12371
12461
  @staticmethod
12462
+ def Dim() -> int:
12463
+ """
12464
+ Static method to get the dimension (compile-time or dynamic)
12465
+ """
12466
+ @staticmethod
12372
12467
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Rot3:
12373
12468
  """
12374
12469
  Exponential map - create a rotation from canonical coordinates$ [R_x,R_y,R_z] $using Rodrigues' formula.
@@ -12503,6 +12598,10 @@ class Rot3:
12503
12598
  ...
12504
12599
  def deserialize(self, serialized: str) -> None:
12505
12600
  ...
12601
+ def dim(self) -> int:
12602
+ """
12603
+ Provided fixed dimension indim()if needed.
12604
+ """
12506
12605
  def equals(self, p: Rot3, tol: float) -> bool:
12507
12606
  """
12508
12607
  equals with an tolerance
@@ -12592,6 +12691,10 @@ class Rot3:
12592
12691
  """
12593
12692
  unrotate 3D direction from world frame to rotated coordinate frame
12594
12693
  """
12694
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[9], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12695
+ """
12696
+ Vee maps from Lie algebra to tangent vector.
12697
+ """
12595
12698
  def xyz(self) -> numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12596
12699
  """
12597
12700
  Use RQ to calculate xyz angle representation.
@@ -12671,6 +12774,11 @@ class RotateFactor(NoiseModelFactor):
12671
12774
  """
12672
12775
  class SL4:
12673
12776
  @staticmethod
12777
+ def Dim() -> int:
12778
+ """
12779
+ Static method to get the dimension (compile-time or dynamic)
12780
+ """
12781
+ @staticmethod
12674
12782
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SL4:
12675
12783
  ...
12676
12784
  @staticmethod
@@ -12715,6 +12823,10 @@ class SL4:
12715
12823
  ...
12716
12824
  def deserialize(self, serialized: str) -> None:
12717
12825
  ...
12826
+ def dim(self) -> int:
12827
+ """
12828
+ Provided fixed dimension indim()if needed.
12829
+ """
12718
12830
  def equals(self, sl4: SL4, tol: float) -> bool:
12719
12831
  """
12720
12832
  assert equality up to a tolerance
@@ -12749,6 +12861,12 @@ class SL4:
12749
12861
  ...
12750
12862
  def serialize(self) -> str:
12751
12863
  ...
12864
+ def vec(self) -> numpy.ndarray[tuple[typing.Literal[16], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12865
+ """
12866
+ Vectorize the matrix representation of a Lie group element.
12867
+
12868
+ 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.
12869
+ """
12752
12870
  class SO3:
12753
12871
  @staticmethod
12754
12872
  def AxisAngle(axis: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]], theta: float) -> SO3:
@@ -12757,6 +12875,9 @@ class SO3:
12757
12875
  def ClosestTo(M: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
12758
12876
  ...
12759
12877
  @staticmethod
12878
+ def Dim() -> int:
12879
+ ...
12880
+ @staticmethod
12760
12881
  def Expmap(v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
12761
12882
  ...
12762
12883
  @staticmethod
@@ -12766,9 +12887,14 @@ class SO3:
12766
12887
  def FromMatrix(R: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> SO3:
12767
12888
  ...
12768
12889
  @staticmethod
12890
+ @typing.overload
12769
12891
  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]]:
12770
12892
  ...
12771
12893
  @staticmethod
12894
+ @typing.overload
12895
+ 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]]:
12896
+ ...
12897
+ @staticmethod
12772
12898
  def Identity() -> SO3:
12773
12899
  ...
12774
12900
  @staticmethod
@@ -12778,8 +12904,13 @@ class SO3:
12778
12904
  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]]:
12779
12905
  ...
12780
12906
  @staticmethod
12907
+ @typing.overload
12781
12908
  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]]:
12782
12909
  ...
12910
+ @staticmethod
12911
+ @typing.overload
12912
+ 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]]:
12913
+ ...
12783
12914
  @typing.overload
12784
12915
  def __init__(self) -> None:
12785
12916
  ...
@@ -12794,6 +12925,8 @@ class SO3:
12794
12925
  ...
12795
12926
  def compose(self, R: SO3) -> SO3:
12796
12927
  ...
12928
+ def dim(self) -> int:
12929
+ ...
12797
12930
  def equals(self, other: SO3, tol: float) -> bool:
12798
12931
  ...
12799
12932
  def expmap(self, v: numpy.ndarray[tuple[typing.Literal[3], typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO3:
@@ -12814,11 +12947,9 @@ class SO3:
12814
12947
  ...
12815
12948
  class SO4:
12816
12949
  @staticmethod
12817
- @typing.overload
12818
- def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
12950
+ def Dim() -> int:
12819
12951
  ...
12820
12952
  @staticmethod
12821
- @typing.overload
12822
12953
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
12823
12954
  ...
12824
12955
  @staticmethod
@@ -12834,7 +12965,7 @@ class SO4:
12834
12965
  def Logmap(p: SO4) -> numpy.ndarray[tuple[typing.Literal[6], typing.Literal[1]], numpy.dtype[numpy.float64]]:
12835
12966
  ...
12836
12967
  @staticmethod
12837
- 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]]:
12968
+ 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]]:
12838
12969
  ...
12839
12970
  @typing.overload
12840
12971
  def __init__(self) -> None:
@@ -12850,6 +12981,8 @@ class SO4:
12850
12981
  ...
12851
12982
  def compose(self, Q: SO4) -> SO4:
12852
12983
  ...
12984
+ def dim(self) -> int:
12985
+ ...
12853
12986
  def equals(self, other: SO4, tol: float) -> bool:
12854
12987
  ...
12855
12988
  def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SO4:
@@ -12870,6 +13003,9 @@ class SO4:
12870
13003
  ...
12871
13004
  class SOn:
12872
13005
  @staticmethod
13006
+ def Dim() -> int:
13007
+ ...
13008
+ @staticmethod
12873
13009
  @typing.overload
12874
13010
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
12875
13011
  ...
@@ -12893,7 +13029,7 @@ class SOn:
12893
13029
  def Logmap(p: SOn) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
12894
13030
  ...
12895
13031
  @staticmethod
12896
- def Vee(xi: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
13032
+ def Vee(X: numpy.ndarray[tuple[M, N], numpy.dtype[numpy.float64]]) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
12897
13033
  ...
12898
13034
  def __getstate__(self) -> tuple:
12899
13035
  ...
@@ -12911,6 +13047,8 @@ class SOn:
12911
13047
  ...
12912
13048
  def deserialize(self, serialized: str) -> None:
12913
13049
  ...
13050
+ def dim(self) -> int:
13051
+ ...
12914
13052
  def equals(self, other: SOn, tol: float) -> bool:
12915
13053
  ...
12916
13054
  def expmap(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> SOn:
@@ -13513,7 +13651,7 @@ class Similarity2:
13513
13651
  @staticmethod
13514
13652
  def Dim() -> int:
13515
13653
  """
13516
- Dimensionality of tangent space = 4 DOF - used to autodetect sizes.
13654
+ Static method to get the dimension (compile-time or dynamic)
13517
13655
  """
13518
13656
  @staticmethod
13519
13657
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity2:
@@ -13565,7 +13703,7 @@ class Similarity2:
13565
13703
  ...
13566
13704
  def dim(self) -> int:
13567
13705
  """
13568
- Dimensionality of tangent space = 4 DOF.
13706
+ Provided fixed dimension indim()if needed.
13569
13707
  """
13570
13708
  def equals(self, sim: Similarity2, tol: float) -> bool:
13571
13709
  """
@@ -13639,7 +13777,7 @@ class Similarity3:
13639
13777
  @staticmethod
13640
13778
  def Dim() -> int:
13641
13779
  """
13642
- Dimensionality of tangent space = 7 DOF - used to autodetect sizes.
13780
+ Static method to get the dimension (compile-time or dynamic)
13643
13781
  """
13644
13782
  @staticmethod
13645
13783
  def Expmap(v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> Similarity3:
@@ -13696,7 +13834,7 @@ class Similarity3:
13696
13834
  ...
13697
13835
  def dim(self) -> int:
13698
13836
  """
13699
- Dimensionality of tangent space = 7 DOF.
13837
+ Provided fixed dimension indim()if needed.
13700
13838
  """
13701
13839
  def equals(self, sim: Similarity3, tol: float) -> bool:
13702
13840
  """
@@ -14941,16 +15079,10 @@ class StereoCamera:
14941
15079
  ...
14942
15080
  class StereoPoint2:
14943
15081
  @staticmethod
14944
- def Expmap(d: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
14945
- ...
14946
- @staticmethod
14947
15082
  def Identity() -> StereoPoint2:
14948
15083
  """
14949
15084
  identity
14950
15085
  """
14951
- @staticmethod
14952
- def Logmap(p: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
14953
- ...
14954
15086
  def __add__(self, arg0: StereoPoint2) -> StereoPoint2:
14955
15087
  ...
14956
15088
  def __getstate__(self) -> tuple:
@@ -14972,26 +15104,16 @@ class StereoPoint2:
14972
15104
  ...
14973
15105
  def __sub__(self, arg0: StereoPoint2) -> StereoPoint2:
14974
15106
  ...
14975
- def between(self, p2: StereoPoint2) -> StereoPoint2:
14976
- ...
14977
- def compose(self, p1: StereoPoint2) -> StereoPoint2:
14978
- ...
14979
15107
  def deserialize(self, serialized: str) -> None:
14980
15108
  ...
14981
15109
  def equals(self, q: StereoPoint2, tol: float) -> bool:
14982
15110
  """
14983
15111
  equals
14984
15112
  """
14985
- def inverse(self) -> StereoPoint2:
14986
- ...
14987
- def localCoordinates(self, t2: StereoPoint2) -> numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]:
14988
- ...
14989
15113
  def print(self, s: str = '') -> None:
14990
15114
  """
14991
15115
  print
14992
15116
  """
14993
- def retract(self, v: numpy.ndarray[tuple[M, typing.Literal[1]], numpy.dtype[numpy.float64]]) -> StereoPoint2:
14994
- ...
14995
15117
  def serialize(self) -> str:
14996
15118
  ...
14997
15119
  def uL(self) -> float:
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gtsam-develop
3
- Version: 4.3a0.dev202508020718
3
+ Version: 4.3a0.dev202508021458
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,13 +1,13 @@
1
1
  gtsam/symbol_shorthand.py,sha256=HlTV-Z5aB5cXWT5AsbKOeWZIHoXQsH2W1S90ET-tidA,236
2
- gtsam/__init__.pyi,sha256=25Schf4c63EA9_J-7gqcFauSqZp3TmeTPprP6b0YG9w,44348
2
+ gtsam/__init__.pyi,sha256=XuXeMqtVDp5pUMXtbx_D_-B3hNALUDH4lFS3kwddRvQ,44348
3
3
  gtsam/gtsfm.py,sha256=Udlkb6o5iUk69uxBkb88-W1GLfu1g8iSuZlLu-RRU0o,202
4
4
  gtsam/__init__.py,sha256=6G-WPnb_FMQEJXNDDAmrKrQPau7evtd5svhTmMqhYSI,2011
5
- gtsam/gtsam.cpython-311-darwin.so,sha256=8wo8hYrrlC0o-wqZ-cyWQldni-whkF7h6G8MaG0hEws,18123744
5
+ gtsam/gtsam.cpython-311-darwin.so,sha256=c04xYnAuLt5Uj1x0Flvc4TWZ-w7qBA02fYRpFfnKG3Y,18140640
6
6
  gtsam/noiseModel.py,sha256=ybfIHa4sLXe78_k-Dib8nTaw34BRXqEDVtS2B9dzSO0,217
7
7
  gtsam/imuBias.py,sha256=tz3bOCFl29iMycbGFoF-ud6kRsJYjA7DJ2RJoKPFRU8,209
8
8
  gtsam/gtsam/utilities.pyi,sha256=-yn7_jeJbTa_3KJGgqcr_NDD70UhDZ8tYX2M2lPLmSQ,3384
9
9
  gtsam/gtsam/gtsfm.pyi,sha256=Onoh4CRaSYIQ0FID0vBkZeV7ESIhc2fh4rJGgaPY-ug,702
10
- gtsam/gtsam/__init__.pyi,sha256=FPVgJrBj3b8G3M2wkTchZ8RCFSR9DqaWn88Bzn0yQ9w,738515
10
+ gtsam/gtsam/__init__.pyi,sha256=tnoQhbHTBLNN2t3W4Td5j5NP3VuYZpxQReL3jlkjRLs,742480
11
11
  gtsam/gtsam/so3.pyi,sha256=UoDGISMgcStVTAtc_y6CmHXCtPJrJ7ju70z3ZH1OLR4,3939
12
12
  gtsam/gtsam/imuBias.pyi,sha256=UqK0nLVICpnyw8B8_Q1GgX-qRd6atlCXT6OZNffZ1ao,2797
13
13
  gtsam/gtsam/symbol_shorthand.pyi,sha256=iaQLf_-hch_4YTYbSWTLINKtIL9Mg7W7HKOMuCXp8Ok,991
@@ -129,10 +129,10 @@ gtsam/utils/test_case.py,sha256=3wIqAW5_smes95XUJgUjD4v3FXACYSVzQ1l6MMdwSkA,1848
129
129
  gtsam/utils/logging_optimizer.py,sha256=tRnzQKV4eT5djS0Ojy5J7OGu7oVRjZw7Jhjrx_VQVTU,4417
130
130
  gtsam/utils/generate_trajectory.py,sha256=_1TZWhpRKj8ha0FOEmqUpEzAt3KLgwqyZJ4ueFD2jmE,2663
131
131
  gtsam/.dylibs/libboost_thread.dylib,sha256=aT1DCt1Kvw1A2w2mRHIJhZRFrYmoDaI5xYM6wEt86L8,137200
132
- gtsam/.dylibs/libgtsam.4.3a0.dev202508020718.dylib,sha256=UqslIPQSC8Auc26ab9nU6Ph2cFfKp93A4Bqy7_kmJ38,5958080
132
+ gtsam/.dylibs/libgtsam.4.3a0.dev202508021458.dylib,sha256=gbOpszhjF6fnOD_eicNSeUbNhIgnbAJt77aQ_Ofs0Gg,5958048
133
133
  gtsam/.dylibs/libboost_regex.dylib,sha256=XWw3H3ehJjFuFVSSDGo2lyKOIsoTQ-0Aaf1ekhsQJfY,356464
134
+ gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202508021458.dylib,sha256=YK1xPdEtErF8r-AUuXuI5X0tiitpo9m0G0Ve8r8Excs,1623248
134
135
  gtsam/.dylibs/libboost_serialization.dylib,sha256=7OW78djID14u2YB_F_TuXomOIsEpt8I7RnCAGuGmwCc,418288
135
- gtsam/.dylibs/libgtsam_unstable.4.3a0.dev202508020718.dylib,sha256=qBHqX_oNtcxOl_E4VdrKuw0HCwgXrE30c4-VjTreZLA,1623248
136
136
  gtsam/.dylibs/libboost_timer.dylib,sha256=leVXIyCdydip4vwIm-Ghrt6UGy_Q-yhL2f8ITyfRku0,81520
137
137
  gtsam/.dylibs/libboost_filesystem.dylib,sha256=WUuuO1JZADriLciFi63Ky4dmqt1KA7_V6DcNdzCANSo,197328
138
138
  gtsam/.dylibs/libcephes-gtsam.1.0.0.dylib,sha256=pNZtgCIaV7_dC0WPXobOc8sNvd_0WQo1AdYxUsqZ1D0,176352
@@ -250,14 +250,14 @@ gtsam/Data/Balbianello/BalbianelloMedium-4.key.gz,sha256=P6tu3JmA0NKlcFYdgYczTOH
250
250
  gtsam/Data/Balbianello/BalbianelloMedium-1.key.gz,sha256=RgT7tVXXOwvDug20TW-9xtoeO3dSSPMF1n9DaKxdrIw,332878
251
251
  gtsam/Data/Balbianello/BalbianelloMedium-3.key.gz,sha256=yNMcyqwZCOj9FG-6qXQ9xhJjpM135cTBJYlOUBG0rnQ,296236
252
252
  gtsam/Data/Balbianello/BalbianelloMedium-5.key.gz,sha256=4veDrxRdLH8k1DIhgj1984MitZ7nAWoXDWTWyXuu7Lg,241361
253
- gtsam_develop-4.3a0.dev202508020718.dist-info/RECORD,,
254
- gtsam_develop-4.3a0.dev202508020718.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
255
- gtsam_develop-4.3a0.dev202508020718.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
256
- gtsam_develop-4.3a0.dev202508020718.dist-info/METADATA,sha256=AQqsvHo0Jzs8I42vYOzqyhIUnT32oqoQp0vq7D0MSqU,7767
257
- gtsam_unstable/gtsam_unstable.cpython-311-darwin.so,sha256=BqO1OXa1lenrVShZEoO9sq5p0sYOJXFQ4A7jXNQaVio,2033440
253
+ gtsam_unstable/gtsam_unstable.cpython-311-darwin.so,sha256=wVvBMrKOVvSB_mIeq1g7W-3TOv4Q7c1ejOyHU7eZ0XQ,2033440
258
254
  gtsam_unstable/__init__.py,sha256=FPc_oO5PFQZbrfpgugzQuI6LJfP1fzq82UQf_nuyGtk,30
259
255
  gtsam_unstable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
260
256
  gtsam_unstable/tests/test_ProjectionFactorRollingShutter.py,sha256=t2l62uWoXfjrM8oH6ogV7M20WjTYKZ4CSferdurMIY0,2156
261
257
  gtsam_unstable/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
258
  gtsam_unstable/examples/LocalizationExample.py,sha256=na47I1PQ_5Tenj8Wg2LBg3GaqP32O4yEb8jtRWKu0P8,2882
263
259
  gtsam_unstable/examples/TimeOfArrivalExample.py,sha256=uky5ps4Ng83C0Q_s2EAc64Af6iztQjXXdj3ahifRXoI,3737
260
+ gtsam_develop-4.3a0.dev202508021458.dist-info/RECORD,,
261
+ gtsam_develop-4.3a0.dev202508021458.dist-info/WHEEL,sha256=sunMa2yiYbrNLGeMVDqEA0ayyJbHlex7SCn1TZrEq60,136
262
+ gtsam_develop-4.3a0.dev202508021458.dist-info/top_level.txt,sha256=DOnqfd8DN2HpG5-V5t32TjFOB_vcYuyOWyRsgeoANEo,30
263
+ gtsam_develop-4.3a0.dev202508021458.dist-info/METADATA,sha256=klQnrdag_821o4Ul5Rbjx_PjwY48JPK_CLO9r1_KWYo,7767