HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tobmlt

no profile record

comments

tobmlt
·4 miesiące temu·discuss
fuck me. I have had ridiculous insomnia since 2020. I have had tinnitus on and off since 2015/16 Incidentally this is also when my insomnia first showed up.
tobmlt
·5 miesięcy temu·discuss
On both my nokia and my blackberry it was far far better than on my iphone. That wasn't quite 199X but pretty close.

I wish the iphone had word prediction and autocorrect that was from the previous centruy
tobmlt
·5 lat temu·discuss
“Winning” at this work is not worth “dying” at life. But that is just “words words words” and I cannot make it mean for you what it means for me. Self introspection is nonlinear and non-rational to a real extent. Love letter to hacker news: neither of those things is bad. Just different than engineering thinking. Do not seek to engineer your mind’s thinking, if you seek lasting happiness. Instead work to find your innermost workings (feelings fears ideals etc) and integrate them into your conscious day. Integrate fear? Why yes. Do not push it down…

Back to the task at hand. More linearly now: Why do you love this work you do? Ask the hardest questions and seek the hardest answers. Maybe you are on the right path for yourself. I don’t think you would have posted this if you really believed it.

I love my work too, and something about it is killing me. It is not the thing I love (the science, the math, the physics, the code) that is killing me, but the toxic nature of the environment in which I seem to have to practice it in order to make a living.

For me, there is a riddle to be solved. The things i love are not toxic, but they are mixed with things that are. My workaday life is heavy with toxicity. Can the good be separated from the toxic? Or do I have to go and become a river guide, bum, or base jumper? Perhaps I just need to meditate on these things. (I’ve turned my comment intentionally at myself, because I cannot be so hubristic as to know what specific advice to offer you) I will say, if you have to work in an environment of toxic stress, the first fear to root out is the fear of failure. Make peace with that fear in the strongest way. Your fear blocks your success. Find this way, if you can: Work as one who is at play. Otherwise quit and make another way to work on the things you love which is more healthy.
tobmlt
·5 lat temu·discuss
Yes. With unsteady and infrequent but purposeful action, move the very bowels of the earth.

I mean, accomplish a lot, politely, eh hem.

Excessive steady and consistent work has rendered me delirious, clearly. I’ll see myself out.
tobmlt
·5 lat temu·discuss
Huh... Suddenly I want “comment code folding” up in here. I mean generally speaking, of course.
tobmlt
·5 lat temu·discuss
Also appreciated by those who prefer to work in torrents, rather than consistently. ;)
tobmlt
·6 lat temu·discuss
Scanning through some literature, does this method require that the input space be equipped with a probability density function “quantifying the variability of the inputs”?

Seems like that would be the (or a function of the) thing we are after in sensitivity analysis.

On the other hand, it appears that I may be able to get away with some naive assumption about this quantity, compute eigenvectors and find the active subspace... and then vary the mode in these directions.

Is this for local or global optimization?

Part of my stuff was about finding a way to guarantee that a particular set of inputs results in a feasible design. (Edit: maybe active subspace could replace this... or exclude poor regions faster)

The other part (the gradient driven part) solves curves and surfaces for shape which conforms to constraints. We really need the fine details to match as the constraints are often of equality type.

From there, it seems this active subspace method could really help in searching the design space. (From what I read, this is the purpose) A more efficient method of response surface design. My stuff is agnostic about this.

Then again, surely it could be of used in more efficiently optimizing constrained curves and surfaces... I will keep thinking but it seems a secondary use at best, or would you agree?
tobmlt
·6 lat temu·discuss
Hey this is cool! I did not see your comment until now. Let me take a look (as soon as I can) and I will see what I can come back to you with.

Yeah Colorado School of Mines! Small world, I am in the metro area. I've actually talked with a physics proff from there about helping with a project.
tobmlt
·6 lat temu·discuss
Also, if there is a specific piece you’d like me to elaborate on, (I mean, beyond my sibling comment) I’m happy to do so!
tobmlt
·6 lat temu·discuss
Sure: the automated design-by-optimization of ship hull form geometry which meets constraints and is smooth according to some energy measures.

Build a functional to describe your ship problem, minimize it: if the solver is happy, you have a boat.... uh, or if you haven’t solved the entire problem, you have some geometry which can be stitched together with more optimization to make a boat.

More broadly, “why a boat?” Answer: because boats have a lot of constraints, and a lot of shape ( Gaussian curvature, non rectangular topology, a need to be cheaply produced, etc etc)

So it’s a good problem to tax your generative design or design space search/optimization capability.
tobmlt
·6 lat temu·discuss
Huh, machine learning for high quality meshing sounds like a great idea! (RL sounds like turning this idea up to 11 — exciting stuff and best of luck!)

FEMAP Seems a hot topic these days. Some folks at my work are building an interface to it for meshing purposes.
tobmlt
·6 lat temu·discuss
Both in the python version and so far in c++, I am using my own forward mode implementation in Numpy and Eigen, respectively. (Why? Well, it was easy, I wanted to learn, it’s been fast enough, and most critically, allowed me to extend it by using interval valued numbers underneath the AD variables) Here’s where I do something kind of funny In the AD implementation: Basically just write a class that overloads all the basic math ops with a structure containing the computations of the value, the gradient, and the hessian. The trick, if there is any, is to have the basic AD variables store gradient vectors with a “1” in a unique spot for each separate variable. (And a zero elsewhere). Hessians of these essential variables are zero matrices. Mathematical combinations of the AD variables automatically accrue the gradient and hessian of ...whatever the expression is. Lagrange multipliers are AD variables which extend the size of your gradient. Oh, and each “point” in, say 3D, is actually 3 variables so your space (and size of gradient) is 3N + number is constraints in size. Write a newton solver and you are off and running.

This would be pretty hefty (Expensive) for a mesh. I’ve used it successfully for splines where a smaller set of control points controls a surface. Mesh direct sounds expensive to me. I assume you looked at constrained mesh smoothers? (E.g. old stuff like transfinite interpolation, Laplacian smoothing, etc?). Maybe newer stuff in discrete differential geometry can extend some of those old capabilities? What is the state of the art? I have a general impression the field “went another way” but not sure what that way is.

As for the auto diff, I’ve also got a version that does reverse mode via expression trees, but the fwd mode has been fast enough so far and is very simple. Nice thing here is that overloading can be used to construct the expression tree.

Of course if you do only gradient optimization you may not need the hessian. It’s there for Newton’s method.
tobmlt
·6 lat temu·discuss
For the re-write?

Simply for the experience. C++ is more in demand right now, as far as I can tell, sorry to say.
tobmlt
·6 lat temu·discuss
Hey, thanks for your interest! I've avoided trimmed surfaces, in part because I'm interested in doing one or another kinds of analysis on or with the parametric geometry, and trimmed surfaces are not so easy to work with for some of the finer control I want from my optimization tools. (They often cause comparability issues with export between programs as well, but that becomes more important only if somebody uses your stuff ;)

I like other methods of getting local control, or finer shape control of surfaces. In my stuff I've used truncated hierarchical B-splines (THB-splines), which are great for adding detail, but useless for changing topology. People speak highly of (analysis suitable) t-splines but I say they are complicated and subdivision may be better overall now anyway. Generally speaking, I think the whole industry will have to go to subdivision. (Among friends I'd say it may carry right down to poly meshes via differential geometry but those two representations might play well together given the right tools)

Reading recommendations:

For everything you ever wanted to know about a B-spline, including a C++ library implementation from scratch, highly documented and explained: 1.) Piegl and Tiller "The NURBS Book" This includes a tiny bit of shape control via optimization.

For an explanation of the basics of B-spline nonlinear optimization with Lagrange multipliers, focuses on ships, there is a chapter here that takes you to the state of the art, circa 1995: 2.) Nowacki, et al., Computational Geometry for Ships

3.) Tony De-Rose's book "Wavelets for Computer Graphics" actually has some good scripts getting at the basics of wavelet B-splines and some facets of hierarchical parametric geometry.

The above is a start at form parameter design for B-splines. This was okay 20 years ago. It's still importatnt as a basis for understanding optimization of parameterized shape. ---Even subdivision surfaces have control points.

Generally B-splines were found not to be flexible enough for representing local details efficiently. Further, the optimization techniques still require a lot of manual setup to get things right...

The next steps are still in development: -subdivision surfaces are a way forward for shape representation. Generally they were more problematic for computing engineering quantities of interest, especially and precisely where they "go beyond" the B-spline to allow surfaces of greater flexibility -- that is where the analysis suitability breaks down to some extent. Again, this has been patched up in the last couple of decades but still change is slow to come to the engineering industry.

I think it's well worthwhile to look at geometric optimization in computer graphics as well. See The cal-tech multi-res group, Keenan Crane at CMU (geometry collective), and tons of siggraph papers where discrete differential geometry has been leveraged to do neat things with shape. (E.g. curvature flow: https://www.cs.cmu.edu/~kmcrane/Projects/ConformalWillmoreFl... I think there is newer work building off this and adding more complicated constraints but I can't remember off hand. As is they have some already!)

Back to the point: you wanted optimization readings. Well it's mostly in the literature, and the literature is mostly kind of vague when it comes to parametric optimization of B-spline. Though the high points are mentioned, the detail is often hardly much better than you find in Nowacki, 1995. To this end, I have some really specific entry level PDFs that might help, and the first part of my stuff is written up in this paper: https://www.sciencedirect.com/science/article/abs/pii/S01678... This deals mostly with curves, but has a direct extension to surfaces. Automatic differentiation really helps here! (I never published this bit on the extension to do surfaces directly (with all their attendant properties as potential constraints) as my professor said "direct surface optimization was to expensive". Looking at the discrete differential papers as of late, I tend to disagree. )
tobmlt
·6 lat temu·discuss
1.) A solver for the unstructured Euler equations. ...I was intending to volunteer time for an local university project investigating parallels between Holographic light with orbital angular momentum and hydrodynamics (in this case the Euler/Madelung equations). Not sure what happened as... volunteers get lost in the shuffle? Anyway, the solver is fun.

2.) Porting my Python code for nonlinear gradient driven optimization of parametric surfaces to C++. Includes a constraint (propagation) solver based on Minikanren extended with interval arithmetic for continuous data (interval branch and contract). This piece is a pre-processor, narrowing the design space to only feasible hyper-boxes before feeding design parameter sets (points in design space) to the (real valued) solver. Also it does automatic differentiation of control points (i.e. B-spline control points) so I can write an energy functional for a smooth surface, with Lagrange multipliers for constraints (B-spline properties). Then I get the gradient and Hessian without extra programming. This makes for plug and play shape control. I am looking to extend this to subdivision surfaces and/or to work it towards mesh deformation with discrete differential geometry so I've been baking with those things in separate mini-projects.

3.) Starting the Coursera discrete optimization course. This should help with, e.g. knapsack problems on Leetcode, some structural optimization things at work, and also it seems the job market for optimization is focused on discrete/integer/combinatorial stuff presently so this may help in ways I do not foresee.

4.) C++ expression template to CUDA for physical simulation: I am periodically whittling away at this.