Live CEOing Ep 708: Language Design in the Wolfram Language [Duration and SphericalDistance]

Stephen Wolfram leads a design review of the Wolfram Language, discussing how Duration and SphericalDistance functions handle date/time entities, units, and spherical geometry. The team covers spherical coordinates, projections like HEALPix, polygon clipping on spheres, and upcoming work on orbits and ephemerides.
Chapters
Okay. Hello, everyone. Welcome to another Wolfram language design review. Looking at various functions as part of our incremental language development effort. Duration. Has duration changed?
I mean, we added a second argument and we added some extra objects that can be.
That's weird. Curated, so to speak.
Yeah, that's just the built ref page, though. The. I wonder why isn't grabbing the one from your docs.
That's because I misspelled it.
So we added a second argument that is the units that. That you would want the duration specified in. And we also added support for date object as an argument, entity as an object or entity as an argument, and time object also. And the second argument has a couple variations.
That's a little weird. I mean, you can do it with quantities, I suppose, why not? But I mean, if you say two there, will it ignore. Will it ignore the two? Two seconds? Will it ignore the two?
Yes.
Yeah, it'll ignore the two. It'll just extract the unit part. It's a convenience we have in some other places.
Yeah. Okay. I think you should make it clear that only the units count a quantity with any magnitude. The time units and any magnitude. Yeah. 95.
The units of a quantity.
Yeah.
And we have a few examples there. I think the. The main one that has a bit of an asterisk on it is entity. Just because some domain, you know, entity.
Okay. I mean, we. We've talked about this before. I think there are cases where it's uncontroversial.
Yep.
And that's pretty much what we've stuck to.
Okay.
And there are cases where we just don't have the. The data populated everywhere, but, you know, for most.
So we should give a message and return unevaluated. Yep.
That's what we do. So duration of battle of hastings, you get one day. Duration of World War II, you get.
Or however long you should get, depending on what country you're in, probably. That one's complicated.
Yeah, there. There is some nuance there, but in terms of extracting reasonable properties and giving a reasonable duration based on the length, we're doing things pretty intelligently.
Okay. Can I try something?
If you're in prototype build, you should be able to. That one's probably going to.
Is it a recent autotype?
If you do duration of today, does it give back?
Does it work?
You might need today's build for that to work.
Can you try it?
Yeah. So it is.
Okay. This one. Okay. All right. Okay. Can you just try it?
Carlo, are you doing that or do.
You need me to.
I have a prototype downloaded Yep. Give me a second.
Okay. But this error message is also bad, obviously.
Yeah, that has changed.
Okay. Okay.
Well, duration of Jurassic period gives 5 point something to 10 to the 7 years.
Okay. Okay, that sounds good. All right. Duration can be considered.
I think we're here. Done with you.
Okay, thanks.
Thanks. All right. Spherical distance. So is there a spherical position?
Not yet. This is using pairs of angles and we also admit geoposition as a way of allowing users to say I'm giving my position in degrees.
That's kind of an abuse, isn't it? I mean, it's a unit sized Earth is what you're saying.
Yes. This is a function that ignores the size of the sphere. And that's why there is the second node saying if you want size, just multiply.
Well, yes.
The problem was that either we include radius always or never because we get dimension.
I get it, but I mean. So the only question is, I don't think it would be very common for people to have Cartesian coordinates and want to convert it to a spherical position.
What do you mean?
Well, they know the. It's like XYZ in the case of geo. GEO grid position. Right. An XYZ grid position can be converted to a lat long geolocation geoposition.
Yes.
And vice versa.
We have two spherical coordinates to that type of computation.
Say it again.
We have two spherical coordinates and from spherical coordinates with the same conventions as here, except for the radius.
I'm sorry, I spaced for a second. Could you say that again?
Yes, I was saying that we have two spherical coordinates and from spherical coordinates and for the high.
Oh, spherical coordinates. Yeah.
Yes.
So okay, so that's a. That's an answer to that question. But, but we have a definite, you know, Theta 555 for like a five dimensional sphere is well defined. Is that true or. No, it's theta. Theta. Theta and then phi. All right.
Yes. It's. It's all PI angles and the Last 1 is a 2 PI angle.
Okay. Okay. Okay. This looks nice.
Yeah. The function works with all types of numbers. The symbolic case as well. It's careful with case of points being too close, which is singular with the standard formulas. But this will get it correctly.
That cool.
It's threadable. Yeah. So. Yep.
Okay.
There are comparisons further down to geo distance, to astro distance, etc.
So. Seems nice. Seems good. Now we need other spherical functions. What are we planning? Is this Brad here, by the way?
Yeah, I am here.
Great. Nice function.
Oh, thanks. Yeah, this was kind of a good way to start learning to be a developer here because it didn't have too many thorny issues. Some of the stuff that we're working on now is more difficult. Jose was showing me a bug with GEO that has to do with the clipping of polygons on the sphere.
Yeah, Antarctica.
Well, any. It just depends if, if the polygon in the whatever projection, if the polygon for a country happens to overlap the boundary where the projection is clipping, then you know, all sorts of havoc can happen and we really need to be able to take a, and do intersections of spherical polygons. But there currently is no efficient way to do that.
Okay, so let's just review.
Yes, I was going to summarize saying that we are moving into general spherical geometry and that requires addressing some long standing problems in Astron. GEO with polygons. So we have started there.
Okay. And what about rendering of stuff on the sphere?
Brad, do you want to talk about hillpeaks and things like that a bit?
Yeah. One of the issues that we have with the, especially with the data set of country polygons is that they have a ton of vertices in there. So it's not like, it's not like doing transformations of a hexagon or even of a hat tile has only 13 sides. Well, 13 is a lot less than like thousands that you might find for the country polygons. So we also need to like develop coarse graining functions that, and maybe even hierarchical coarse graining functions that we can use to, you know, speed up the, whatever calculations we have to do with those.
Why aren't there already issues with GEO with this stuff? I mean, because this, this coarsening of polygons has been a thing ever since we started doing, you know, Data on maps 20 years ago or something.
Right. So the standard way to address this is via tessellation of the polygons. And so we have now a system that tessellates polygons in flat space, but not yet in curved space. And so that's why GEO rather than in a sense geo has been waiting for that framework to exist. So what we are doing with Brad now is exploring a method that is used very much in astrophysics for analysis of statistics on the spherical. Sorry, on the celestial sphere. And it's a projection called hillpix. It's a hierarchical equal area projection that has very nice properties. And so we are exploring the use of that. It's pretty fast and.
But so I mean a typical thing people are going to want to do I think is, I mean, and by the way, what about the. Sorry in, in the, you know, with stereographic projections and complex numbers and things. What about the, the unit 2 sphere and representing a point on it with a complex number? That seems like a thing we should be able to do. Or am I confused?
No, we could have such a representation. I mean being a complex number rather than a pair of reals wouldn't fit very nicely in the GEO framework.
But. Well, no, but in this framework we could have a spherical distance between two complex numbers, couldn't we?
We could do something like that. I mean, I have to mention here that very recently we decided that this function is going to be purely real to avoid all these conjugates, ABS et cetera, that we get in symbolic computations with other functions.
Yeah, well, good. But that's okay. If it has complex numbers, explicit complex numbers, it could still do the right thing, couldn't it?
Well, imagine that we have a list of complexes.
I think we're. It sounds a little convoluted to me like you want, you want people to plug in complex numbers to spherical distance and then get the distance that would be on the like projecting Riemann sphere or whatever.
Yeah, but, but I mean maybe the right thing to do is a conversion from the complex number to the sphere, which is, you know, projection. Right, but I also, that would be.
Better in my opinion because also this projection from the Riemann sphere probably has some scale parameters involved.
Okay, but also, also we've got. I mean this is like GEO grid position, isn't it? To get from. Maybe I'm confused. To project.
It's fine. It will be another projection. Wouldn't there be ambiguity with the threading over lists? Exactly. That's what I was going to mention before. And also that's a trick that works in the two sphere while this function works in the N sphere.
Right. Okay, okay, okay, I retract this. But now. Okay, what's our roadmap for other spherical functions? Go ahead.
I don't think we have a collection of definite functions yet. What we know is that we need to address the major issues of spherical geometry. And also something that we are exploring is working with spherical triangles. The traditional formulas of solving triangles and spherical trigonometry, etc.
Okay. Relate to spherical image.
Well, you know, how big are the spherical images going to be? Are they just going to keep getting bigger and bigger?
I assume they're going to be 4K images and stuff like that. I mean, I assume they'll be big. They'll be standard images just wrapped on a sphere and.
Yeah, but what I'm really talking about is like improvement in camera technology.
Yeah. So what's your point?
I mean, the camera technology is just going to keep giving us bigger and bigger files.
Yeah, to some extent. I mean, and the computers will get bigger and faster, so I wouldn't worry about it.
Well, I mean, one thing that I'm thinking about right now is that the, you know, the sphere.
Hold that, hold your phone up to that picture. Have you seen this yet?
No.
Hold your, hold your phone up to that thing and click the, click the whatever and at least go to that page.
Is that a QR code?
Yeah. What do you think it is? Yes, it's a QR code. Actually. I, I, sorry, I change it, I'm going to change it, I'm going to change it. It's going to be much better. Now try that one. I made a mistake. Puts a box on my phone. Yeah, it puts a, it should put a.
Like an AR box.
Yeah, but you can actually just manipulate the object. Except now I don't know how to exit it. But that's okay. It, yeah, it should have a 3D object that you can manipulate either in AR on top of your scene or as an object. At least my phone has. You can select the object and then you can rotate it in 3D on your phone.
I see, so it's like fixed in, in space. So if I move the phone.
Well, in the default case where it says ar, if you move the phone. Anyway, so things like this, you know, we need a way to make a spherical image, right? And there are spherical image formats that come from these 360 cameras and things, And we should be able to store that. And then in the end, I don't even know what the heck it's going to look like. Spherical image processing.
Yeah, well, the, the heel picks thing is a data model that is designed specifically for the spherical data sets. Well, astronomers made it for the cosmic microwave background in particular because they were getting tons and tons of data. But you know, it seems like we should definitely have spherical data models as, just as a way of making whatever functions are built on top of them more clear about what they're doing.
Right. What do you mean? You mean, you mean functions that have a scalar field or something on the sphere? Is that what you mean?
Well, what, what the heel picks really is is a quad tree for 12, you know, 12 different regions that are tiled around like a rhombic dodecahedron.
Okay.
The quad tree can zoom into arbitrary precision.
Right.
So if you have to, if you have to like say, locate Some data points on the sphere. Then you automatically have a tree, a searchable tree structure that you know, probably has like log in complexity in the same way that lookups and ordered list.
Yeah, right. Okay, but I mean look, the question is, okay, we have points on the sphere. We understand how that works. We have vector graphics on the sphere, polygons, things like that. Yeah, which have some complexity because you know, you specify three points and you don't necessarily know whether you want which you know there are two polygons defined by that, if I'm not mistaken.
Yeah, with the inner outer thing. Yes, yes, but, but when you program low level and you're not doing. Not imposing conventions on the users, you can as a adopt your own conventions where the polygons have circularity and that resolves the inner outer issue.
Sorry, I got distracted by this comment on the live stream about can one get this deployment to work from any. I think you should be able to convince ChatGPT. I mean you can't because this is running in the new version. But I mean you will be able to convince it to make one of these things I would assume can take any 3D graphic and deploy it this way or 2D graphic for that matter.
Yeah, but back. Back to your comment though, that there it would be night. The nice thing about the heel picks as a data model is we can take a set of points and turn it into like a density plot or. And then those density plots may be easier and faster to work with in an approximation or give us some basic information.
Okay, look, the problem is this. We have things like spatial statistics that deal with densities from points, but they are non spherical. Right. We have, we and you know, we just have a boatload of functions and I don't know, we don't. Don't want to have spherical versions of all those functions. But the question is how do we, you know, how do we deal with that? Right.
Many statistics functions already handle geoposition, but internally they resort to equal area projections around convenient points and things like that. So there is no native algorithm that works on the sphere.
Okay, but fine, but then. So if we introduced a spherical position for the function analogous to GEOP position, then those functions could potentially eat spherical positions and then do their usual thing. I guess so I think that's a better way to do it. I mean, because, because if we're going to, you know, we should treat it like the GEO stuff. There's a certain number of geofunctions that have GEO in their name and then other functions just eat GEO stuff. I mean, look, the case of geo, we have not yet gotten scalar fields on the, on the geoid. Right. And scalar fields on a sphere are sort of very immediate. That's a very obvious thing to want to do.
Yeah. So are you talking about doing that by vertex coloring or as a sort of an array plot? How would you imagine that?
You mean in terms of, in terms of how you represent it? I mean, I can imagine different representations by color as a density plot.
I mean, yeah, let's say that it's just a color function on the sphere.
Yeah. But I can also imagine a vector field on the sphere where you're going to want to show, you know, vector arrows at different places on the surface of the sphere. Yeah, I can also imagine, I don't know if it's a good idea making a sort of mountainscape on the sphere to represent density as a, as a height function.
And what would the data format look like going into those functions?
Good question. In other words, if it's a scalar field that is a function, an explicit function of data and phi. Well, it's all good. But if it's a list of points, I mean, I assume it will be theta phi value.
But even if it's a, even if it's a function of theta and phi, to actually make the graphics object or whatever, you have to sample it somehow. So how should it be sampled?
Sorry? If it's a function like sine squared, theta cosine phi or something.
Sure. Like a spherical. It could be a spherical harmonic, I guess.
Well, I mean, I mean what we have so far is we have spherical plot 3D and so we have, you know, spherical harmonic Y, you know, four comma two, comma theta phi, if I'm not mistaken. And then we say, I think it's comma theta comma phi. Really?
I guess you have to give limits of angles.
No, you don't.
Yeah, I chatted a way to make the color density plot there.
Okay, okay. That's of constant value one, Right.
And then like you can play around with plot points. Right. Like if plot points goes to five or something, what is going to happen?
Well, the other thing we can do here, By the way, I do think that theta phi just comma theta phi should work in spherical plot 3D and just correspond to the whole sphere. Mm.
Well, you might want to add a constant in there.
Yeah, Okay, lovely.
But so what happens if you take plot points down to something really small?
I mean it becomes. Yeah, I'm sure, I'm sure if I. If I just made a constant there, the thing will no longer be a sphere. Okay, so what's your point here? I mean.
Well, the point is that there is some. There is a data model that is hidden under this calculation. And I even. Let's see here. Let me chat. Another thing to.
You.
Can try that one.
Okay. The dad I think are troubled.
Yeah, I mean this is, is. That is basically a data model. It. It's works, it's effective, but it doesn't have the nice properties of some of these other things we're looking at.
Right. So I mean in the one you're describing, it's like somehow it's the universe has quintessence or something as a dodecahedron or some such other thing.
A rhombic dodecahedron, not a dodecahedron.
I don't know what that looks like, but.
It has a. It has rhombuses for faces where the cube has edges and the rhombus is join four around a vertex and three around a vertex.
Okay. Yeah. Okay, cool.
So then with the heel picks thing, when you set. If you set the four point on the z axis, then you get basically three cycles of rhombus is a nor, north cap, south cap and equatorial. And you can you just start subdividing those faces into quadrants and the quadrants into quadrants.
Yeah, I get it.
And you can. Then the other nice feature about this heel picks thing is that when you do this process, you can keep all the centroids for the facets on.
On.
I guess there'd be ISO latitude rings that are on there. Not the.
Cool. I mean when astronomers report that the universe is really a rhombic dodecahedron, I'll be suspicious.
Yeah, I think not. I think they're looking at maybe Tauruses, but.
Yeah, I understand, but I'm just saying in terms of data analysis, by the time your data structure is based on a rhombohedron, awfully easy to get, you know, Dodecahedron. Okay. In any case.
But I think that most the data has this thing of. Well, we need to sample it somehow, you know.
Yeah, right, right. But, but, but so what would you actually feed in? Is it a list you're feeding in? I mean, how do you get. I mean you're. You're describing the question of given a function that gives. Given is given theta phi and returns a value. You're saying you're describing implementationally how you will sample that function. Which is all well and good. Yeah, but there's a different. Okay, so I understand, but I'm not sure that's what we, you know, these meetings were mostly dealing with functional design.
Okay. So sorry if I'm. I'm getting too much into the details.
No, it's interesting. I'm interested to hear it. I just, I just think it's not what we. You know, the basic bottom line is that there is a function probably related to spherical plot 3D, but it's probably spherical density plot, isn't it?
Yeah, we had talked about that last time too.
Okay, fine, fine.
Well, that's what I was. That's kind of where I was coming up with these other graphs is thinking of the how. What's the best way to do it? If we know it's going to be a function on a sphere.
Yeah, fine.
Spherical plot 3D. Doesn't know. Doesn't.
Well, no, it doesn't though.
It's got extra degrees of freedom there, doesn't it?
Yeah, it doesn't have to make a sphere. Again, repeating just. We should make theta phi work. I. I thought it did. Did you understand?
I mean, I've never tried that. So you can try it now and see if it works. I. I don't know.
No, I just tried it and it didn't work. Okay.
Yeah, we will suggest this to Brett. I think it makes sense given that it's such a frequent case in for spherical 3D.
I thought it worked, but it's really weird. I thought it used to work.
I don't think this ever worked.
I've never seen it.
Okay, well, it should work. Okay. All right. So that's. So I think we've got. So then we've got. Then list spherical. I mean, it's a little weird that. What the naming of the thing that just puts points on sphere. Well, we'll have that in a different meeting. And then presumably then we would have a thing that plots a projection of the sphere. Like this thing here. How would I plot the projected version of this?
Well, that's where we said we were getting some bugs.
We can certainly reuse the geo projection engine here.
Yeah.
In the same way that it's being used in.
We're talking implementation. I'm talking about the design what function returns this thing projected. See what I'm saying? So, I mean, the, the things which end in 3D are going to make 3D versions like this. And maybe it's pure, you know, spherical plot or spherical graphics. No, spherical. Spherical plot should make the 2D version or something. I. I don't know exactly what it should be. Spherical density plot as Opposed to spherical density plot 3D. I mean, spherical density plot could make the 2D version with projection. See what I'm saying? Whereas spherical density plot 3D could make 3D version which needs no projection. This makes sense.
Yes. So these would be the functions that take functions to represent on the sphere or the projected map. Then the question is, what do we return? It's the same situation of, I don't know, geolisplot versus geographics. There are functions that produce.
I understand. We're returning graphics here, aren't we?
Graphics. Well, that could be something that is like the equivalent of geographics or the equivalent of astrographics. Something that takes primitives rather than functions.
Oh, yeah, no, I. I know, I know, I know. But that's not this case. This case is the plot case. Then we also need, you know, spherical graphics and spherical graphics 3D. Just like we're going to need geographics 3D. And these would take primitives like, you know, sss triangle. Is that that adequate?
I don't know.
What is spherical graphics versus spherical graphics 3D.
Spherical graphics is a projection circle. Graphics 3D is something like this makes sense, I suppose. I think it's the right thing to do. I think that because those are very different used for very different purposes. Okay, what happens if we take this. Let me say. That is very weird and should be reported. Look at that thing in the center. That's like really weird thing. Ah, there's no surface color. Boring. It's just a sphere. Okay, but if somebody could. Could somebody please report this? Just show this picture. Because I don't think it's doing the right thing there. The AR deploy this thing here? Yeah, this thing here. That center picture. Okay. It's hard to see your mouse with the black and white text. Ah, I got it. Okay. Yeah. Okay. You just take a picture of the. The thing above and the thing in the AR deploy and it's not. Not right. Yep, I got it. Okay. All right. Should we go on now? I mean. Yeah. This is what I think we should be doing here.
It makes sense. It's the same roadmap we had planned for DO and Astro.
Yeah. Yeah. Ok.
Did we actually get through the approval of spherical distance then?
Yes. Looks great. Are there any weird options or anything? It didn't look like. It just looked. It looked good.
No, no, no. I think it was all clear. Once we decided to be all real, the function became clear.
Yeah. Okay. Made it real by being real. Yep.
So the discussion on counts here. We were doing a little bit of house cleaning on some old ILD items. And these had been things that had been approved a long time ago and not really revisited. And in looking at them, you know, both Itai and I were not super on board with some of the. The changes proposed for counts. One being, you know, we said, oh, we could give a list of objects to do counts for. But we do have a counts by function.
Well, we could give a pattern there.
Well, except the cat. I. I feel that counts lives in the. I mean, we have count which takes patterns.
Yep.
And we have counts which is in the tally. Sort of, you know, tally, isn't it.
That this function tallies things.
And so, you know, I don't think it's appropriate for. Right. Not, you know, none of the related functions. Right. If you, you know, take level specs or. I mean, some of them take tests. But we have counts by. So I don't see why we need a second argument right now.
I kind of. I get it, I get it. I got it. I kind of agree with you. I mean, the only thing I can imagine here. Why isn't letter counts a C also from counts?
Probably because it didn't exist when.
No, I think maybe character counts is supposed to be close enough. Maybe character counts is fine.
Wait, we have letter counts and character counts. What's the difference between them?
Well, space is not a garret. It's not a letter. This is a character, but not a letter.
Okay, that sounds like a distinctly boring function to me.
Which one?
Letter count.
I used it many times. Okay. All right. These don't have any extra arguments. Well, I. I don't feel passionately about having additional arguments for count cancer. Okay. I mean, level specs. Why is that a good idea?
Somebody suggested it. I don't think there's. Certainly neither Nick nor I are suggesting this is a good idea.
Yeah. These were a couple of orphaned things that been sitting around that I feel like we should probably ax, but we didn't want to ax them without.
Fine. Okay.
So we added construct in 11, 3. It was also proposed then that we add fold construct, which basically creates an operator form or sub value form.
I think it's cool. I mean, I think it's. I. I don't know whether anybody will ever understand to use it, but I think it's an interesting idea. You can't do that with fold, can you?
I don't think so. Without something fairly elaborate.
But it's not true you can do it like that. It's just fold of construct. It's not clear anybody will ever think of that.
Because we could have that as an application example for construct.
We certainly can. Nobody will ever think of this. That's nice, Ian. It's just this.
With the sequence, you know, the fold construct function takes a sequence rather than fold of construct.
That takes a list.
Oh, it's apply of fold of construct.
Yeah, it is. It is just that. Just apply fold construct. How I'm using. No, it's not apply, it's the anti apply. Right. It's list. It's. It's this with a list. It's a little bit more elaborate because it's got to listify the xyz. Right.
Construct construct of fold of construct.
It's that composed with list.
Right.
If it's this, I'm going to be. It can't possibly be that. No good. No, it can't be that. Yeah, it's composed with lisp. It has to compose. How do you do that? Composition. I can do it with a pure function in that explicit pure function. But is there a way to do it with functional constructs?
Add star list. Yeah, that's what I would do.
A little bit more elaborate. Nice. It's a good exercise. We should put that in to the. I mean we should put it into fold and construct both the graph pages. Yeah, we can do that. Do we want fold construct or is it just totally silly?
I think it's too complicated.
What is it supposed to be used.
For making these things? I don't think people make arbitrary depth. You know, I don't think it's very common to make an arbitrary depth one of those. Okay.
Oh well sometimes when I use that form I'm just like separating inert arguments from things that will change and yeah, in that case it's definitely not arbitrary depth.
Right. Okay. Probably shouldn't go over these today. Are we really on course for everything else for 13 three for. For these in the ILD area, you know, any other things.
I mean that's pretty much it for the. I mean we talked about emphasize which is now squiggled and LCC which is kind of bounced between ILD and lcc.
Okay. And I see there's a review for Geoastro and dates. Do we get to have. Nice.
There will be little of Astro and what we are going to review around comparisons there.
Okay. Yeah, there is no matter is going to have some major stuff. Is that not ready yet?
Well, in this cycle we have been working quite a lot on supporting various things for Astro like a complete new Lowell precision ephemerides. So it's not necessary to download tons of data. And also we have been preparing for the needs of the future of a race object in relation to dates, in relation to quantities, sort of thing. So this has been a cycle with a lot of infrastructure that will be used in major things in 14.
Right. Okay, okay. But I mean, in terms of astro, what was the big thing that we. I mean, ASTRO Graphics managed to get out in reasonable form in 13.2. Is that a true statement or is there a lot more ASTRO Graphics?
Well, we want to improve things there at the same time that we will be improving geo, because ASTRO is all vector. Right. So it has the same problems that GEO has that we were discussing before. And the other major thing that we were discussing that we were planning for this release, but it's half done, is orbits.
Oh, right. That was the big thing. Yes.
Yeah. So there is a full framework now to compute orbital elements of multiple things, and that's quite powerful. But we don't have the object yet. So this framework is used for this ephemerida system that I was talking about before. So that's why it was needed.
And how is that related to GEO trajectory, which is also another thing that's coming. Exactly.
It's basically the same thing. Orbits and geotrajectories, I mean, orbits are more complicated in general.
Right.
We don't have relativity in geotrajectories or Hoffman transfers and things like that. What are those transfers in orbits? Like injecting a push at some point of the orbit.
I see, I see, I see.
And then you transfer to a different orbit.
Yeah, right. I mean, the main point is that it's in some kind of. It's not inertial motion, but it's some kind of in a gravitational field. It's. It's like inertial motion.
It's in free float.
Yeah. What about. I mean, does that mean we have to have geogravity? Are we then going to use the geogravity stuff to determine the orbital. The actual orbital positions?
We could, but that's very expensive. Integrating things is very expensive. So what is typically done is to store orbital elements which are a description of the orbit.
I see these tle things. Two line element type things.
Exactly, things. Things equivalent things to that. So the object moves very fast in the orbit, but the orbit itself moves slowly. So it's better to parameterize the orbit and then the position of the object in the orbit.
I see. But like around the moon, where there's a big lump in the moon, that changes the gravitational field substantially. So it isn't spherical doesn't that mean? I mean, things go up and down in their orbit around the moon by a. By a lot long way. Is that captured by the TLE stuff or not?
The TLE have a very short duration. Duration like a few days only. So you have to keep updating. But during those few days they are very good. And then we have the NASA data which is super, super precise. And they include models of the crust of the moon, things like that to describe what you are saying.
I see.
But we cannot integrate in real time those things. That's why they integrated once. They create huge data files with lots of Chebyshev coefficients and then we use those very fast.
I see. Cool. Well, I look forward to seeing all that stuff. All right, should wrap up here. Thanks, guys.
Thanks everyone.
See you soon. Bye Bye.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






