Live CEOing Ep 809: Design Review of Calculus & Algebra Features continued

Stephen Wolfram leads a design review of calculus and algebra features in Wolfram Language with Brad Klee, Roger Germundsson, and Devendra Kapadia. The team debates naming conventions for stationary points, stability analysis for differential equations, and notation choices like degree-based trig functions and tensor arrays.
Chapters
All right. Hi, everyone. Welcome to another Wolfram Language Design Review. We are continuing to look at calculus and algebra. We looked before at the very lovely functionality for symbolic tensors. I have to say I was thinking a little bit about. About all the string diagrams and plexes and things like this and realizing that it's really a story of an enhancement to array dot. I think somebody wants to dispute that immediately. I'd be interested in that disputation. Is Jose here by any chance?
He is not.
Okay, all right. Well, then maybe there'll be nobody to dispute that. Maybe you could dispute it at all if, you know.
I. Right. I mean, string diagrams are just sort of generalizations of contractions and.
Exactly. So what I think is that the array dot is one particular form of contraction and that the main point is that there's a disembodied contraction pattern that you can break off in kind of one of these plexus, for example, that are. So that you can sort of break off the pattern, the graph of contractions, breaking it off from the actual application of that to the actual tensors, and that you can do manipulations on that broken off disembodied contraction pattern independent of the other stuff. That's my impression. But anyway. Okay, let's not discuss that here. Okay. So we talked before about D stationary, about these names, destationary values, destability conditions. Right.
Yeah. Do you like that name better?
I think so. I mean, these stationary values sounds pretty.
Values. Yeah. So values means state. You know, state values, basically.
Well, it's the values of X and Y, which is kind of. What. Which is exactly what D solve values. Well, it's. Yeah, right. But how does that relate to dissolve values?
I mean, if I dissolve values. Has nothing to do with it. Dissolve values will report without sort of named solutions.
Yeah.
So in a sense that it's.
It's dissolved value.
Value.
In a way, it's related, but it's. It's not exactly the same.
No, I think you need values. Yeah.
No, no, wait a minute.
No, no, no. The problem is that there are multiple solutions. Right.
Okay.
Okay. No matter. But. But the question here is, you know, if I say solve values or, you know, x squared plus 5, x plus 1 equals 0 for x. I get that.
Yeah. So in that sense, these values are kind of. They're basically an algebraic solve. Really.
Yeah.
You're solving the. Right. You're solving the. This. The forcing function to zero, the state function to zero. Right.
No. Well, yes to say, in the differential case. Yes.
So maybe it should Just be stationary values. Well, we need the D. Why do we need the D?
Because there's D solve and R solve.
But D solve and R solve are different. Modeling languages, recurrences and differential equations are different. We have R solve.
I understand, I understand, but I'm asking just in, in terms of the correspondence with solved values, is it not? I see. Stationary values. That would mean something different. Sorry, that would mean something which we could also have, which is. You've got an algebraic expression. Yes, expression. What are its stationary values, by the way? That would be not an unreasonable function to have, is that not correct?
Yes, we've been thinking about for some time, but I mean, it's not clear how shallow or deep we could make it. I mean, I mean in this question of implementation, how, how deep we could go with what people might expect.
You mean if I set, you know, the derivative of a function equals zero?
Yeah, yeah. So I mean in this case it would say zero. Zero.
Yeah, I think that'd be a good thing.
I think that's a nice thing.
No, in this case you would have a whole line to be the zero values. You have two variables, one equation.
Oh yeah.
You set the derivative to zero.
They sometime called critical values of that.
Maybe it will be zero. Zero. Wait a minute, the gradient.
No, the gradient.
The gradient is zero only. Yeah, right. Given this possibility of a stationary values function like this, does that support or attack these stationary values?
No, I think that that's, I think it's a nice name. Yeah.
So Roger, you're agreeing that that's okay?
That's okay?
Yeah.
Well, is it okay or is it good?
I mean the, I think, I mean.
I think it's a different notion of stationary value. Oh well, no, it's related notion. I guess it's, it's.
Well, yes and no. I mean, people, I, I would call this de equilibrium values.
We have a bunch of akas in there. Okay. They're also called fixed points in the R case, right?
Yes, in the R case. They are. Yeah. In, in the different, in the DES case, I think they're almost using universally called equilibrium values.
I don't think so.
No, I don't think so either. I think that's a name. I don't even know in dynamical systems theory that they're called that. I mean they're called fixed points.
I, I, I, I have, I, I, I have eight textbooks on differential equations that will dispute that, will counter you. It's, it's very common to call these things in an, in the, you know, undergraduate ODs.
The.
The equilibrium values.
I agree with.
Okay, okay.
But we don't have to either.
I'm not saying that's the only possible.
Name, I'm just saying that is. Right.
Let's talk about the R case for a second. Okay, because you're saying that, you know, in some sense it's more like D fixed point values. But what about the R case? Is it any reasonable sense in which it's a stationary value? In the R case?
Yeah, it is. It stays stationary if you start it up.
By that, I mean read the definition.
If you go to the page or reference page that F of N plus 1 equals F, it stays stationary. You start in a point, it stays in that point.
Okay, but usually stationary is the thing doesn't roll because its gradient is zero. What was it called? What was the function called before R? Stationary point. Stationary point. Yes, but the non rolling stationarity is not what we're talking about here. Because it's not a derivative type thing.
I mean, it's a difference kind of thing. The difference.
Yes, but I understand that, but it's not.
That's not good enough. Illustration.
We're gonna. That's a terrible illustration. That's really a terrible, terrible.
Yeah, yeah, yeah, it is. Don't look at it. We'll fix it. That's really bad.
And also the font is wrong. Yeah, yeah, yeah.
It's all wrong. Okay.
Yeah. Okay.
Yeah. I think Tim is working on the other one. He done the differential one.
Okay, but explain this one to me again. This one is one where you're looking for values for which F of n equals N. Is that right?
No. So here, look at the definition just above the picture, the text.
Okay?
A here is a vector. Okay, so it's a vector valued system of difference equations, first order. Doesn't matter what order it is, but let's say first order. So then the stationary point a star, which is now a vector, satisfy that equation. A star equals F of A. So it stays. It stays stationary at that point.
So if you start but n equals minus 1.
No, you're saying no.
So for A of of a of.
0 equals minus 1, that recurrence will put you back into minus 1.
Right?
So if a of n is minus 1, two times minus 1 is minus 2, plus 1 is minus 1. So you stay in minus 1.
Right.
It's stationary at that point.
But how do you know what A of N plus 1 is?
It says there, that's what the recurrence equation intersection.
Right, right. By definition, right there, it says A of N plus 1 is equal to 2, A of N plus 0. So if your initial condition is A of 0 is min 1, then for all K greater than 0, A of K is equal to minus 1.
Okay, but where is the saying that this is the value of A of zero? Why isn't there just. I don't understand. Where's the zero that this is the value of coming from?
That's the fixed point. It's saying if you choose the initial condition, a of 0 equals minus 1.
But how do I know the initial condition is a of 0, not a of 1, for example? Well, it doesn't matter.
This one doesn't depend on N. Okay.
Okay, but if this did depend on N, what would it do?
Because then much harder. Because to say what?
Obviously I realize it's much harder.
I mean. Yeah, it might. Yeah. We don't touch it. We don't touch it.
You should give a message.
Yes, we could give a message. For sure. We could give a message and.
Right. I mean in general there are no stationary points. If, if you, if you have a state dependent state function, right. It has basically a time dependent state function.
Autonomous. Basically.
Right.
You might have cyclic solutions. But.
Okay, I don't understand that. I don't understand that. That's telling me that A of 0. It's killing me. Something utterly different from what this is telling me. This stationary.
Yes, exactly the same.
No, there are two variables here.
Well, this one has two variables too. Because you need two initial conditions.
Exactly, exactly. So you think of this as being a system of. So everything is really referring to a system of first order OD's.
These are not odes. Ordinary difference equations.
Yeah, yeah.
Except that there aren't really partial difference equations.
Yeah, there are, there are, there are plenty.
There are, there are lots of them. Binomial.
I mean, we're just talking about binomial. Yeah, satisfy a partial difference question.
So I think over here all that we're saying that really everything should be first order systems. But then we explain in the documentation that if you give a high order OD and it's explained the example as well, then what you get back are the initial conditions which would give you the stationary behavior.
Okay? So. So here for example, is a nonlinear ode. Right?
So, so there's something like X prime, prime of T equals X X of T and just.
Oh, what the hell happened here? Oh my God. What's what.
Right. You need, you, you need three initial conditions.
I realize that, but I don't know what in the values that I'm getting back. How on earth do I know what's X, what's X prime and what's Y? What's the ordering here?
Because you don't want to focus on any particular initial point. Oh, that what? That's explained as well in the document.
I'm sure it's explained in the documentation, but I'm just not. But do you understand my point? I mean, how do I know which one is which?
I mean it's always going from. So if you take simpler case where you only have one fixed point, then it might be easier to understand what's happening. So.
No, no, no, the question is how does he know within the tuple. Yeah, which is X, X, which is X, which is X prime. I mean I would assume in the first order case it's in the order of the variables. Now the question is do the derivatives go at the end or do they go next to the variable.
Yeah, exactly.
That they're associated with. Or do I just. Or it's in some random order and I have to guess. I presume it's not that last one.
But no, no, that's not.
No, no, but, but I agree it's not obvious which of the first two possibilities it is.
No, because it's, it's going to. I mean you're going. If you convert into a system then you're going to go X double prime first that one and the next one. So it's just going to be that order then.
Which order? Which order? NX prime, Y, Y prime. Or is it something different?
Yes, that's the order. Exactly. Exactly. Exactly.
Okay, but that's not obvious to me.
Right, so we, I mean the thing over here is that you also want to stay away from having any particular initial value in, in the answer.
What do you mean?
I mean you don't say x of 0 and x prime 0, all that. So you could do that, but it's just going to make it a little more cumbersome to.
Well, I have to say that I think it should have sub lists. Well, of course that doesn't even help you. It doesn't even help you to have sublist because it's not obvious which one is which.
Right, so. So the other alternative is that you actually give the variables in the answer.
I think that's pretty silly.
Yeah, I mean, how else would you indicate that, you know, you have the particular dependence over there, by the way?
I don't think this is the right order. I don't think it's the right order. If I was going to Use this. I'm going to want what value of XY is this and at what derivative? That's what I'm going to want. I'm going to want it in that order there, I think, because if I use it.
What's that, like a vector thing?
Yeah, if I'm going to use it, I want this vector and that vector.
What about if they're different? Let's say the first one is X double prime and the second one is Y triple prime.
Yes.
Yeah. Then that's not going to work, right, Roger? Because. Because there, if I had something which was where it was X, Y and then it's only the Y variable that needs the extra prime thing.
Yes.
So unless what we do is we say something here that's like all or any. What would we say there? Indeterminate. What will we say? What would be the correct thing to say about.
I think it's wrong thing, Stephen. I think that you should just have the derivative per variable, the derivatives you need. But actually I realized there's something we haven't thought through here, which is if you have vector variables like we do for dissolve in our solve.
Yeah. Oh, boy. I thought this was a straightforward function, but as.
No, no, it kind of is not.
It's really not. And especially not when you have the R, the R case, which is quite obscure to me.
It's really not obscure, Steven.
Yeah. I'm not sure why you're saying.
I'm playing. I'm playing stupid a little bit here, but I'm also wondering why the R cases are even interesting.
It's super interesting. Yes. Let's say that you design a numerical method, let's say an iterative method for equation solving. It you want to make sure that it's stable.
Okay. Let's look at Newton's method or look at.
Look at the documentation that the Newton method there. Yeah. I think it should be one where else in our stability, for sure. Probably also not stationary points, but our stability will definitely have it. And applications, I think one of them will have it, if not both.
And also let's say that you have a solver for differential equations, then you want to be what's called astable, which means that when you apply it to a simple first order constant coefficient differential equation, the resulting thing is stable.
Okay. So if I were to say in this R, stationary points. Okay.
And also in. Single.
In.
In signal processing and control, you use this discrete system.
Well, even more simple if you're trying to do like a manual broad kind of thing, you know, in the complex plane. Do you want those?
This is, let's say F of N times 1 minus F of N. Okay, that should work.
That's of course the logistic equation. We know it all. I mean we. There should be an example for that. Very, very. Yeah, that's correct. You got two fixed points.
Okay, but in that case. Yeah, your sub lists. Oh, I see. It's a single variable. That's right.
Yeah, that's fine. So, so, okay. First order systems, whether for single equation more are no problem at all. It's unambiguous. When it comes to high order systems, then there is nothing in literature it tells you what to do. Really? I mean the literature.
These are fixed points. So what we have is a fixed point, not a limit cycle. If I wanted the limit cycle.
Yeah, we don't have that. That's not it.
No, no, no. But I can iterate this thing.
Yes.
Right. So what I have to do is I have to say, I have to run this and I have to say if this is that, then I'm doing this with a. How do I do this? I. I want to take that. How do I, how do I iterate this?
I mean, you kind of want it to be periodic. So you have a bigger system. You need to know what the period is if the sol.
No, no, but I'm saying if I want F of N plus 2. If this is what F of N plus 1 is. What is F of N plus 2? How do I use my R functions to get that?
How to, to. To run. Basically fold it twice.
Yes.
I mean actually you can do nest. Okay, so just.
Oh yeah, right. So if I say nest f of hash 1 minus f of. No, that's wrong.
No, it's right.
Well, it's wrong. It's wrong because that's not the value I. Oh yeah, no, no, that. Is that right? Yes, it's right. I'm confusing myself because it's N and I. I would expect X there. Right. So now I can say nest f of hash 1 minus f of hash. And I have some coefficient A here. Ampersand starting with some variable z two times. Okay. So now Z needs to be replaced by F of N, I believe. No, Z is replaced by N. Sorry, that's N. And then this thing here. Right, this is correct. So now here I say that slash dot A goes to four and now I say R stationary points of that. This doesn't look right. Equals. Bengals F of M plus 1 F of M plus 2. Actually there F of N. Splatteroo.
This doesn't look right. There's something. There's something wrong with the iteration. What's wrong? This is not.
But you're asking it to solve a different difference equation. I mean that's not the problem that you had early on.
I mean it's the iterated difference equation. It is the difference equation that you get from iterating.
Yes, but then. So the problem now is that you don't have any notion of fixed point. Do I do? And for this one.
Is it because you replaced PI with a or.
Is.
Is the general case just that much more difficult than a concrete case?
No, I can, I can. This case here, it's going to be easy. That's.
Oh yeah, that's true.
What this is, that's the fixed point. This is the order 2 fixed point. This is. It goes from, you know, you know, whatever it is, wherever the fixed point is one.
Yeah. So one thing, these things where F is nested inside of itself. Oh well, that's not.
Well, one problem is you, this thing. Right. You haven't defined. You've only defined this on half of the integers. Right. I think. Well, it's. If it's trying to find where F of N is equal to f of n +1. Given that you have no definition of f of n +1.
Right.
I mean, I don't know that this is.
I don't.
Well posed.
No, no.
I think it's a perfectly well closed question. I. And I even know the answer. I think. Let me look up the answer. Okay. For maps like this lead period P is given by this thing here. Right. The results usually cannot be expressed in terms of explicit radicals beyond period two. That's this exact thing. That's where. Right. That's where the fixed points are using real period two.
I see. So they're still fixed points.
Oh yeah, sure. They're period two fixed points. They're the iteration of the map. You know, twice iterate the map. And the result is the twice iterated map has fixed points. Yeah. Which correspond to the period two points in the original map.
Yes.
So we should be able to find those second order fixed points. And what it's saying here is that they can't be expressed in terms of radicals. Except in this case.
Yeah, probably. I mean. Yeah, I think. I mean if it's kind of as algebraic is showing it to, then we should probably be able to do it because that's exactly what we're doing down below. I mean we just solving an algebraic equation. So our stationary points has got. Is not that difficult. In implementation wise, it's a stability that takes a little more effort.
Right. This is. These are the polynomials that you get from iteration.
I see, right.
And so. And even in some weird cases, you can express the whole thing.
I know, I derived those.
Yeah, I remember that. Yeah, yeah, you had a bunch of these. Anyway, so I think, you know, there's. Okay, but let's come back to this question. So first point is I didn't even understood that your stationary points is what are usually called fixed points.
If you go to the function that we have, this thing is also known as. And that's the first line in that reference page.
I understand. I have never heard this called anything other than fixed points for an iteration. And as we're all fairly confused about what the fixed point even means for the iteration.
I mean, I think that you shouldn't have N+2 there. I think you should have N +1.
I put that there, didn't I?
Oh, you did. This didn't help. I need to think some more about those nested. Nested ones. So. No, it's common to have discrete time or recurrences to model all kinds of things. Right. So in particular, numeric stability is a.
Big issue for sure.
And they're all discrete time, but obviously.
Should we call it stationary points? I mean, because stationary really suggests gradient vectors and so on.
Not to me, but. Okay, so I think that they're different conventions, but I think we should use the same word for both the discrete time and a continuous time.
For sure.
And I don't think.
Now the question is what the heck are we returning? Is there any indication that we can give that these are, you know, the initial values of, you know, where else do we generate a list of, you know, thing and its derivative and so on?
No, I mean the definition of what, what it. If you've never heard of fixed point or stationary points, the definition is given there and it tells you.
I, I know, but I mean the. Okay, so just to try one thing. That crazy. Is it right?
So. No, it's. It's sort of. I mean that we use that because it's a nice definition and what you. What we're going to do is correct for the stationary points. But what we want to do for stability is that if you start nearby, if you initialize nearby, it's going to go to that stationary point.
So what are we calling the stability thing?
Destability.
And you want to call this stability conditions, which is fine.
Yeah.
You know, it tells you either it's true, it's Stable. So it always goes that there are no parameters. If there are parameters, it might give you conditions on those parameters for it to be stable.
Okay, here's a question. Given D stationary values, how do you feed the result into anything to use it like.
So you can. For instance, for D D stability, you can use an option that says stationary points. So if you wanted to restrict it to not compute stability properties for all points, which is likely that you don't want.
Okay, that's an example. But I mean, could I feed this into dsolve? Let's say that I want to get. Okay, here's the thing. I want to get. I want to get a picture of how. Well, you're going to say the picture of the differential equation solution is boring at the fixed point because. Just fixed.
Yeah, but let's say to do the thing that wasn't an illustration, that was just a plot in there for these station R stationary or. Yeah, R stationary points. You can use that list of points to just, you know, do an epilogue of points if you want to point out those landmarks in your face space.
Because these things aren't. They're in this weird XX prime, Y, Y prime.
Yeah, but, but the problem.
But, but those only works in 2D and 3D anyways. Right? So, you know, if you have. Yeah, we only have vector plot functions for 2D and 3D.
Sure. Okay, but. But your point is that you. Okay, the question I'm asking is, let's say I want to feed these in as initial conditions for some other equation. Okay, That's a pretty big mess to get to that. Right. I have to say x of 0 equals blah. Y x prime of 0 equals blah.
But I mean, that's. Okay, so here's another thing that you want to do. You want to linearize a nonlinear system about that point.
Yes, quite.
Okay, that's. That's actually a key use case.
Okay, so how do you do series expansion about that point.
Good point. So asymptotic diesel values. And then you give, you know.
Right. But you have to give the X and Y, not the X prime and Y prime. Am I correct?
I mean, we could also not support the higher order systems. I mean.
Yeah, so all the literature, Stephen, is about first order system. This is why if you look at any book starting with lift shit. So anyone like 30 of them, no one talks about higher system. They just reduce to first order system. So we have given the convenience in case people need it. But all the textbooks.
All right, well, okay, but, but so you're saying we're going to stuff those higher order things in there and good luck to people in decoding them. And you're saying if, if we don't do that, if we just have. Then we can feed that as an initial point for the asymptotic.
Yes. I mean, so we've got a choice. Either we be more general or be more useful. I mean this, that's just the way, literally, I mean the.
Okay, so I'm sold. Okay. So I think the documentation should say, you know, that it's primarily intended for whatever and should say it gives the XY values because they are precise to the values give in this order here.
Yes.
In the event that there's a higher order thing.
Yes.
You know, I would argue that given that description. Oh, I see. We can't do it because. Oh my God, what a mess. What is the fact that this case here. Right. That we don't know what to fill in unless we fill in some kind of weird indeterminate here.
But that's not going to be easy to use. That's not going to help really.
No, it's not going to help. But. So what is the most natural thing?
I think it is that if you have, let's say that you have a differential equation that's nth order, then you know that you're going to have N minus 1.
So I think what we should do is the default case should be xy and when there are derivatives we should list them, we should put them in sub lists, you know.
Yes.
The structure is going to be different when the equation is different, but as you pointed out, the whole story is different when the equation is different. Yes, I think that's less absurd.
We can do that. I mean we can do that because you might want to massage them anyway and get the sub list hint. It's probably better, right?
Yeah, I think so. I think so.
So we distinguish two cases, the first order case and.
Yes. And we say for first order equations it's this, for higher order equations it's this. That. Yeah.
For any variable that's higher order than one, it's going to be a sub list.
Okay. Okay. No, I think that also clarifies it for us. Yeah, sure, sure.
Right. And I mean in the case where it's mixed, it could be X comma Y, Y prime.
It's ragged list, basically.
Exactly.
Yeah.
Which is a bit exotic, but you know, what you're getting is exotic. Let's talk about the name for a second.
Sure.
Okay. Okay. Stationary values. What's this is values of the dependent Variable, Right, yes. Is that what we expect? If it was called. So DSOL values again, gives values of the dependent variable, Correct?
Yes, yes. S functions over time, but. Yeah, but the actual values are the dependent variable variables.
Okay, so if I say X prime, you know.
X of T comma T, it doesn't matter which way, but yeah.
Let'S do the extra T case.
Yeah.
So that is X as it depends on T.
Now, station. I see. And we have to have the sub listing in this case. If I had two equations here. Okay. And it's not a plural, it's not values, it's value.
Yeah. Because it's a single solution with its.
No, no, I get it, I get it, I get it. I'm trying to think about the names. Okay, so I'm, I'm think I'm sold on these stationary values. I have two questions. Number one, if we have a stationary values function, it could presumably work the same way, but it is only going to be stationary values would only give the list of XY pairs. Right. Because it doesn't have any derivative.
Right. It's an algebraic equation.
Yes.
System of equations.
Right. Okay, so look, are you, are you really convinced that people will understand this thing in the, in the recurrence equation case?
Yes, yes. In fact, there are books and books with the recurrence case discussed in great detail.
What do they call it?
They. I mean, they usually call them. Oh, oh, there. They call them fixed points, I should admit.
Yeah, that's right. Yes.
I mean, the typical case is the Picard theorem, the Picard fixed point theorem, which is basically an iteration where you converge to the solution. So, so it's called a fixed point. There's a whole fixed point analysis subject.
Well, I mean, Picard iterates. Well, converge to the solution. But that's the Brower fixed point theorem.
No, no, no, no, no. The Picard fixed point. Well, they're, they're called by different. But I think when he say fixed point theorem, it's exactly that. In that you, you have a certain recurrence that converges to the solution. Yeah. Or the contraction mapping theorem.
Recurrence is more general than our recurrence. So you, you can have, you can have all kinds of objects that recur. There can be, you know, topological objects coming in and out of them. They can be very exotic creaturoids.
How does this relate? You know, where the recurrences are. Random process stuff is also recurrences.
Well, random process can be both differential equations and difference equations.
Right. But in terms of design, Is there some aspect of this that dovetails with that.
Stability analysis you actually use for random processes? Because one of the things you want to figure out is how the covariance function, which is how different values differently shifted depend on each other. And so a random process is called weakly stationary.
If that.
Covariance function is stable. Is. Is. Is stable in the sense of stability that we have here.
What the heck is this? Oh, that's stationary values there. Yeah, stability.
So once you compute that function, that thing, you basically have a recurrence and you can actually call this thing too.
I guess I'm sold. I guess.
Process is weakly stationary or not, Right?
Well, I like the fact that the word is stationary. See what I'm saying?
Oh, yeah, I didn't even think of that. But yeah, that's right.
But is that the stationarity of a recurrence of a process defined that way? So that's flow through correctly to the r stationary values?
I think so. Because if the two examples of the Markov process and the queuing cues with the stationary behavior. Exactly that.
Yes, but. So when you call it a stationary process, I just want to make sure. I thought a stationary process was one where the parameters of the process do not change.
Exactly.
Fixed Markov chain or something. Yeah, which is not the same as this.
No, but you can look up the definition for weekly stationary. Process or weekly stationary.
Okay, but we have the exact stationarity.
We have the random process definition of weekly stationary. Exactly there. Where in that reference page for weekly stationary.
We have a function called weekly stationary.
Yes.
Q or just weekly stationary.
I think weakly stationary. Because we want to give parameter condition QS weak. Weak stationarity.
Okay, close Weak stationarity. Yeah.
Why is this taking forever to open? Okay.
So the interesting thing. So those AR processes, for instance, they are recurrences. Okay? And this is basically the stability conditions. And if you compute the covariance function, what you will find that that also satisfy a deterministic recurrence equation. And now we can analyze stability for that. And that's exactly the stability that we analyze to the left.
Okay, but weak stationarity for this process.
It just means that, okay, weak stationarity, if its mean functions is independent of time and the covariance functions is independent of time translation.
Yeah, I get it.
Okay.
And, yeah, but, but so is that consistent then with calling it r stationary values? Yes. Can you sell that? Can you convince me of that? Why?
Because here we look at the. So.
Because the stationarity over here is that these. These parameters of the process like the mean.
Yeah.
Are. Are unchanged.
Yeah, you're. You're absolutely right. That's very much the definition. This is weak stationarity we say here. Right. There's also strong.
Yes. Okay, so. So stationarity, if there was such a thing, would that be. The process is fixed. It's just a. Fixed at a fixed point.
It's not. No.
What is it? Is there strong stationarity?
Oh, that's, that's that. If I recall, that's that all the slice distributions only some order or something. No, to. In all the orders, all infinite level up do only depend on the time differences, not the actual locations of times. So it's similar to this, but this one only look at the moment functions. It looks at mean and covariance function. So it's kind of a little bit simpler than looking at the full distribution for some. It's the same thing for Gaussian processes. It's the same thing, turns out to be the same thing.
Okay.
I mean if it's just a name, I don't. I mean if we use the same for R and D cases, I think this would be really good otherwise.
I agree, but I, I'm just concerned that this is this form of stationarity. If we say our stationary values, is that in fact in any sense the same as the notion of stationarity here? I don't think it is.
I, I think the random process a bit more general where certain things like the mean system size for example, is predictable when you are stationarity. It's not when it's transient, you know.
I mean this is that the value is constant.
Yes. It's a much kind of sharp, much stronger than that stationarity in some sense.
Yeah, but if, if, if there was this kind of stationarity, then this, the weak stationarity is absolutely guaranteed. Yes. If the thing was just sitting there.
Yes.
As, you know, dead as a. Whatever.
Yes.
Yeah.
I mean, so in the case where we actually have like, like in the case of stochastic differential location and stochastic difference equations, that covariance function is going to be either another recurrence satisfy another recurrence equation or satisfy another differential equation. And part of what we do is to analyze the stability of those difference in differential equations in order to make this function work. I'm saying in order to answer the question which.
Sorry, sorry, sorry, I spaced for a second. In order to answer the weak stationarity question, you're saying we have to call these things over here.
We, we use stability analysis Underneath, which.
Is the same thing as this.
Yeah. So we do. Here we have. We, we. We are more general here. The only thing we have in stochastic or basically linear. But here we allow for non linear. So we've got to find a stationary point. For linear. Only 0 is a stationary point. Only the origin is a stationary point.
Okay, I've got another proposal. How would you feel about D fixed values and R fixed values? Is that crazy?
I think those are fine as well. But then you wouldn't like fixed points, right? Fixed point is a term that people understand.
Oh, I know, I know, I know, I know, I know.
So why is values? I mean.
Because that's what it is.
Okay, that's fine.
It's not points. It's not a point. When you have X prime, there's no point there.
Yeah, I agree. Agree.
Yeah, there is a point. It's a point in the face space.
Exactly. It's always face space. It's always face space. Yeah, they think about.
Okay, but, but, but do you think that D fixed values is comprehensible? That we say it's the fixed points?
It feels a little bit of a stretch.
I, I think the fixed points is. I mean, if you. That is functional. We can, we can honestly. We can be proud of that name because we're not meeting the audience that would use it.
Okay. D fixed points. You're suggesting.
And R fixed points. People will understand it right away. It. I do agree.
Yeah, can work.
All right. I think that's okay. And then it would be D stability conditions. R stability conditions.
Okay, that's fine. Yes.
I think the R stability condition is a little weird, but I get it.
You're just not used to it. But no, it's super common to, to, you know, you, you want your, you want your digital control and signal processing systems to be stable. Otherwise they'll blow up.
Yeah. What is this?
This is a request from Wolfram Alpha to accept.
What do we do for solve? Do we do that for solve?
No, we thought.
Well, I guess in a way we do. Because you can just say solve with one argument.
It'll work, right?
And tries to guess what the variables are.
Yeah. Okay, so we should do that for DSolve as well.
Exactly, exactly.
No, no. So the thing here is you don't need the independent variable.
You can if you wish to. That's not a problem. I mean, the better you, the more you go, the better. Oh, that one. X on zero.
Oh, X, the T. I mean, that's not super interesting. You're just integrating I know, I know.
I know, I know, I know. But I mean whatever.
Yeah, that's fine. So we. We try and say what we calculated over here.
Saying what it calculates. But what about diesel value?
It doesn't make sense because diesel value can work with arbitrary expression. In the second argument you could have X of T, the whole square etc. So it's meant to be a slightly more general function.
I don't have a problem.
Good, good. Thanks. There's just one thing. The unit discrete which is just a discrete version of unilateral convolve. So it does a convolution, a sum.
Over what this is.
Okay, so it's the.
It's. So this unilateral convolve, it. It only convolves.
Is it causal convolved?
Exactly, exactly.
It's another name for it.
We have not allowed causal. That's.
But for C we call it bilateral Laplace and bilateral Z transform. So this one we called it unilateral convolve for the continuous time case. And this will be unilateral discrete convolved for the discrete.
What's the non unilateral discrete convolve?
Discrete convolve, discrete convolve. That's been there since version seven and.
That'S the one that go with Fourier transforms and not with.
Oh, I see, that's a convolution, right? That's a discrete analog of the convolution function.
Yes, yes, exactly.
Okay, that's fine by me.
Yeah, it just for the small gap that we have in lower area.
Oops.
Oh, I miss. I need to go. I need to go. I'm in.
So we can continue without you? We have to continue because.
Okay, see you then. Bye.
Why? What's this?
Oh, there's some. There's lots of requests for special series coefficient from Eric and people of that Eric Weinstein and Bill gossip. We covered about 40 or something of that sort. Just some very special cases which they pointed out to us.
Did you fix those asymptotic things that I found?
Yes, I mean I've gotten a branch but I'm not sure Merge, that's all. Yeah, but it'll be then for 14:1 the discrete and the. The even and the odd. Right? Is that what you wanted?
Yes, that was one of the things. Look, every time I've tried to use asymptotic it hasn't worked for me.
Yeah, I think the issue is that the discrete and continuous cases are a bit different and we don't recognize this. These Like.
Well, like the Bell functions. Bell and things. That was one case that I ran into.
Yes. So it should get done for 141 and I can make a note.
Okay, yeah.
So equation solving is just the max roots. Adam, would we will say more. But the max roots for the. For the solve case we had for n solve.
And how does it pick which ones are its favorites?
Adam?
Oh, it's just.
Generates the. It really depends on the. On the. On the system. So the ones that it finds first using whatever algorithm it uses for the particle type. Type of equation. Well, but how does ansolve decide on the max roots on which ones are its favorite, so to speak. It's also the first ones that it finds. I see. Okay, so it's basically totally random. Which ones you can't readily predict. No, fine. I mean I'm not surprised.
Okay, this is part of the array algebra, just part of the array stuff that we looked at early on that we allow these. This you already looked at. Is this basically your request from early on?
Yes, which is done.
I mean this has been merged some time ago.
So the point here was we're not allowing a unary nand which can. Which compresses to nothing. Right, right. And but why doesn't that autosimplify? Well, because then we would get not. Okay, so we're not auto simplifying that. No, but if we say boolean minimize of that, then we get not. Okay, good stuff. Looks good.
And that's almost last thing. This has been requested by again from alpha people as well.
People don't try and squiggle too quickly here.
Yeah, sure, sure, sure.
But just hold on. Okay, yeah, right, sure. So this is the analog of log 10, for example.
Right. So you know, I think I wasn't heavily involved in this other than helping with the typesetting. I think early on a notion to call this, you know, sign degrees and I guess that just felt very long. So people went with sine D. I don't know if there was a better argument than that for why we went with just D instead of degree or degrees.
What is the use case really?
A few things. One is that we want to do a pre calculus course.
But nobody types sinned. You know, no pre calculus course knows about sinned.
I mean, so historically, honestly we should have called sin. Should have worked on degrees.
I don't think so.
Well, you don't think so because that. The point is we're catering to a certain audience. I have no problem. Okay, but if you ask any high school or sin sign Whatever. Then they don't have two notions of sign. So we could give another name. I have no problem if you want to give it a different name.
Right. I mean, I. I guess I'm a little confused by why we need this. Right. Because they could just type in sine of x degrees.
Yes.
And then they would. Right. They could use a little degree symbol even.
But, but then, but then when you try to do stuff with it, like, you know, you want to solve an equation, then. So we got very deep support for the stuff in around 35, 40. Functions, algebra and calculus. Thanks, Adam. So we have actually done the work to make this into a real special function which does everything that one would expect it to do. It's deeply integrated, so you can do anything you like with it and it will do the right thing. This we have lacked for many of our special functions that we have been kind of shallow and incomplete.
Well, so. So, so like, so, so how is. So here's a question, given our intended audience. How is this handled on a TI81? I don't. It's been so long since I've used one.
I don't know, a little switch that you switch between degrees and.
Exactly, exactly, exactly. Yes.
The global variable.
Yes.
Ac.
Yes. So surprisingly, I know this may not be a reason for it, but every other system like ours, including the boost library, including. So they all have these.
You know, the argument that everybody else has made a mistake is never an argument that works for them.
No, I understand, but I think that, that if it was just that, I.
Mean, look, look, the fact is having these functions, like having log 10 and so on, makes sense.
Yes.
The question is what should their names be?
Right. So I. I preferred at least to separate the D into capital. But if you want to make it go further and say arc sign degrees.
Listen to how it will be used. And we don't have the right people here to discuss this. Okay. This is going to get used in elementary courses.
Yes.
Okay. And some kid is going to think that the function is called tanned.
Yeah.
And that's bad. That's a bad result.
Yeah.
I mean, would. Would we want to do something like we write out the full. We use the full name.
I don't think so. I thought of that. I think that's super confusing. I think it's not helpful.
S I, N E. Looks like Maple doesn't have a degree mode. At least a bit of quick googling.
Who cares?
Yeah, that's okay. I think. I think for us it's a pure wolf from alpha request. They weren't wfr. They said, look, we don't have deep integration of these can implement please for us. So either they would do it.
That's not the. Okay, we don't have the right people in this discussion to talk about what the names should be. The integration is one thing. The names are a different thing.
Yeah, I showed them to Michael and.
Okay, I. We don't have them here. My rule is unless they're here, we're not talking.
That's fine. We don't need to worry about that here. We can just. This. If it's just renaming, it can be done at any time.
Well, but we need to make a decision about this. So do we have a meeting coming up where we could actually discuss this?
Unless we have another meeting on Tuesday. And I don't know whether Mike will be available at this time.
Okay. Well. So something needs to get set up. So. And I would think Bradley.
So I. Yeah, so I met. I meet Michael, Jeremy Stratton Smith and Bradley every three months. When I met them last month, I showed him. This is, this is fine. But that's my recollection. We should still check.
I don't care. I don't care. That's my rule. Right.
Yeah.
I'm not taking, you know, third level hearsay.
Yeah.
So, yeah, that's fine. Yeah.
I. What bothers me. Look, sign degree will be better. Cindy is not going to make it.
Right. I kind of agree.
Is it signed degree or sign Degrees.
Good question. As well.
I would prefer degrees if we did. It's just wrong to say degree. I think.
Right. And that's crazy. I think doing that right, you'd never.
Know which is which.
Yeah. Sign.
My suggestion is sign degrees.
That's a beautiful name. I really like it. Okay, so I have no problem with that one. And just for the record, I've taught more at high school than anyone. Listen. For 10 years of full listing. So I think sign.
I know you taught high school.
Yes.
Yes. Yeah. Yes, I know you have.
So I, I think they. If someone's assigned degree, they would not say degrees function. Yeah, I, I, Yeah. So that, that looks a good name.
All right. Why don't you check it with Michael, Okay. And those guys and put me on an email chain that involves some.
Roger, Michael, all of those folks. You should probably include me and Lou just so we're in the loop.
Oh, because there's some typesetting that goes with it.
Yes. What typesetting?
Well, there's a traditional form. It's a very, very simple, traditional form. We didn't give it all of the attention that we g. The real sign. Degree. You know, the real sign, as it were.
But this one would give a sin. And then the thing with a degree sign inside.
Oh, we didn't actually add the degree sign. But that's. That's actually a good idea.
Okay.
Yeah, that. That's a good idea.
Then in traditional form will become sin per N. X, you know, degrees.
Yep.
Okay.
Yeah, no, that's actually an excellent idea. We should have thought of that.
Okay.
I'm a bit embarrassed. I didn't.
All right. Okay.
So, yeah, we'll get this done. Sure.
Okay. Then we got through the agenda.
Yeah.
Okay.
We already talked about this.
Yep. We. That's. That's all settled that there's a PR and it'll be merged.
Great. Okay, thanks, guys.
So I just want to. Stephen. So I'm going to propose sine degrees, etc. Is that correct?
That's what we agreed. Yeah.
Thank you. Thank you.
Okay. Okay.
And if we can take. Just So I can share for. Just very briefly, just the typesetting, the brief type.
I really ought to go, though. Okay, you can. You can grab the. Share that.
Yep.
I think I need you to stop sharing before I can share.
Okay. That's what we agreed wasn't going to be the way it worked. All right, we'll do that. Go ahead. Okay.
Yep. So there's that.
And we're mostly. We're seeing a bunch of plowed fields.
Yes. Because I decided not to share the. The window with everything in it. So. Right. So there's array dot.
I. I don't see it. I don't see the. The thing you're not sharing.
Am I sure now?
Are you now?
All right. I shared a different. Apparently I misclicked, so apologies. Right. So there's array dot. You can. You can type it in. You can change. But we decided that, you know, this is to just do it for.
It's kind of cool, actually, that notation.
Yep.
Okay.
And then. And then the, you know, the other thing was, remember we had this issue with identity array and I tried a bunch of different things and our bet. So these three here and this cell right here that I'm going to make big.
I don't like the ids. Yeah.
So I think the leading contender right now is a double struck. I. Just to make it clear, does that.
Relate to the complex I. Oh, that's a double struck lowercase I, correct. Yeah, I like that the double struck. It looks more serious than the.
Yes.
Which I don't the scripty one, which I don't really like. Okay, okay. And what about that permutation thing that. The delta. The product delta.
Right. I haven't. I haven't updated that one yet, so.
Well, actually, that one will look kind of nice if it's similar to the capital I. It'll be the capital I with its double struckness pulled apart.
Yes.
Okay.
Yes, that's everything.
Sounds good.
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






