PageSourceSearch

https://hakavuori.fi/author/eero-hakavuori/

html hakavuori.fi collected 2026-10-02 01:53:17 UTC 14,451 bytes, 782 lines download raw bytes

1<!DOCTYPE html><html lang="en-us" >
2
3<head>
4
5  <meta charset="utf-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1">
7  <meta http-equiv="X-UA-Compatible" content="IE=edge">
8  <meta name="generator" content="Source Themes Academic 4.8.0">
9
10  
11
12  
13  
14  
15  
16  
17    
18    
19    
20  
21  
22
23  
24
25  
26  
27  
28    
29  
30  <meta name="description" content="Former academic researcher">
31
32  
33  <link rel="alternate" hreflang="en-us" href="/author/eero-hakavuori/">
34
35  
36
37
38  
39  
40  
41  <meta name="theme-color" content="#2962ff">
42  
43
44  
45  
46
47  
48  
49  
50  
51    
52    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/academicons/1.8.6/css/academicons.min.css" integrity="sha256-uFVgMKfistnJAfoCUQigIl+JfUaP47GrRKjf6CTPVmw=" crossorigin="anonymous">
53    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0-1/css/all.min.css" integrity="sha256-4w9DunooKSr3MFXHXWyFER38WmPdm361bQS/2KUWZbU=" crossorigin="anonymous">
54    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css" integrity="sha256-Vzbj7sDDS/woiFS3uNKo8eIuni59rjyNGtXfstRzStA=" crossorigin="anonymous">
55
56    
57    
58    
59      
60    
61    
62      
63      
64        
65          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/github.min.css" crossorigin="anonymous" title="hl-light">
66          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/dracula.min.css" crossorigin="anonymous" title="hl-dark" disabled>
67        
68      
69    
70
71    
72    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.css" integrity="sha256-SHMGCYmST46SoyGgo4YR/9AlK1vf3ff84Aq9yK4hdqM=" crossorigin="anonymous">
73    
74
75    
76
77    
78    
79      
80
81      
82      
83
84      
85    
86      
87
88      
89      
90
91      
92    
93      
94
95      
96      
97
98      
99    
100      
101
102      
103      
104
105      
106    
107      
108
109      
110      
111
112      
113    
114      
115
116      
117      
118
119      
120    
121      
122
123      
124      
125
126      
127    
128      
129
130      
131      
132
133      
134    
135      
136
137      
138      
139
140      
141    
142      
143
144      
145      
146
147      
148    
149      
150
151      
152      
153
154      
155        
155<script src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.1.2/lazysizes.min.js" integrity="sha256-Md1qLToewPeKjfAHU1zyPwOutccPAm5tahnaw7Osw0A=" crossorigin="anonymous" async></script>
155
156      
157    
158      
159
160      
161      
162
163      
164    
165      
166
167      
168      
169
170      
171    
172      
173
174      
175      
176        
177      
178
179      
180    
181      
182
183      
184      
185
186      
187    
188
189  
190
191  
192  
193  
194  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat:400,700%7CRoboto:400,400italic,700%7CRoboto+Mono&display=swap">
195  
196
197  
198  
199  
200  
201  <link rel="stylesheet" href="/css/academic.css">
202
203  
204  
205
206
207  
208  
209
210  
211  <link rel="alternate" href="/author/eero-hakavuori/index.xml" type="application/rss+xml" title="Eero Hakavuori">
212  
213
214  <link rel="manifest" href="/index.webmanifest">
215  <link rel="icon" type="image/png" href="/images/icon_hu_81da6d2fe21aaed6.png">
216  <link rel="apple-touch-icon" type="image/png" href="/images/icon_hu_63ab195cd442ee53.png">
217
218  <link rel="canonical" href="/author/eero-hakavuori/">
219
220  
221  
222  
223  
224  
225  
226  
227    
228    
229  
230  
231  <meta property="twitter:card" content="summary">
232  
233  <meta property="og:site_name" content="Eero Hakavuori">
234  <meta property="og:url" content="/author/eero-hakavuori/">
235  <meta property="og:title" content="Eero Hakavuori | Eero Hakavuori">
236  <meta property="og:description" content="Former academic researcher"><meta property="og:image" content="/images/icon_hu_e747e089a9e68c83.png">
237  <meta property="twitter:image" content="/images/icon_hu_e747e089a9e68c83.png"><meta property="og:locale" content="en-us">
238  
239    <meta property="og:updated_time" content="2025-08-20T00:00:00&#43;00:00">
240  
241
242  
243
244
245
246
247  
248
249
250  
251
252
253
254
255
256  <title>Eero Hakavuori | Eero Hakavuori</title>
257
258</head>
259
260<body id="top" data-spy="scroll" data-offset="70" data-target="#TableOfContents" >
261
262  <aside class="search-results" id="search">
263  <div class="container">
264    <section class="search-header">
265
266      <div class="row no-gutters justify-content-between mb-3">
267        <div class="col-6">
268          <h1>Search</h1>
269        </div>
270        <div class="col-6 col-search-close">
271          <a class="js-search" href="#"><i class="fas fa-times-circle text-muted" aria-hidden="true"></i></a>
272        </div>
273      </div>
274
275      <div id="search-box">
276        
277        <input name="q" id="search-query" placeholder="Search..." autocapitalize="off"
278        autocomplete="off" autocorrect="off" spellcheck="false" type="search">
279        
280      </div>
281
282    </section>
283    <section class="section-search-results">
284
285      <div id="search-hits">
286        
287      </div>
288
289    </section>
290  </div>
291</aside>
292
293
294  
295
296
297
298
299
300
301
302<nav class="navbar navbar-expand-lg navbar-light compensate-for-scrollbar" id="navbar-main">
303  <div class="container">
304
305    
306    <div class="d-none d-lg-inline-flex">
307      <a class="navbar-brand" href="/">Eero Hakavuori</a>
308    </div>
309    
310
311    
312    <button type="button" class="navbar-toggler" data-toggle="collapse"
313            data-target="#navbar-content" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
314    <span><i class="fas fa-bars"></i></span>
315    </button>
316    
317
318    
319    <div class="navbar-brand-mobile-wrapper d-inline-flex d-lg-none">
320      <a class="navbar-brand" href="/">Eero Hakavuori</a>
321    </div>
322    
323
324    
325    
326    <div class="navbar-collapse main-menu-item collapse justify-content-start" id="navbar-content">
327
328      
329      <ul class="navbar-nav d-md-inline-flex">
330        
331
332        
333
334        
335        
336        
337          
338        
339
340        
341        
342        
343        
344        
345        
346          
347          
348          
349            
350          
351          
352        
353
354        <li class="nav-item">
355          <a class="nav-link " href="/#about"><span>Home</span></a>
356        </li>
357
358        
359        
360
361        
362
363        
364        
365        
366          
367        
368
369        
370        
371        
372        
373        
374        
375          
376          
377          
378            
379          
380          
381        
382
383        <li class="nav-item">
384          <a class="nav-link " href="/#publications"><span>Publications</span></a>
385        </li>
386
387        
388        
389
390        
391
392        
393        
394        
395          
396        
397
398        
399        
400        
401        
402        
403        
404          
405          
406          
407            
408          
409          
410        
411
412        <li class="nav-item">
413          <a class="nav-link " href="/#talks"><span>Talks</span></a>
414        </li>
415
416        
417        
418
419        
420
421        
422        
423        
424          
425        
426
427        
428        
429        
430        
431        
432        
433          
434          
435          
436            
437          
438          
439        
440
441        <li class="nav-item">
442          <a class="nav-link " href="/#teaching"><span>Teaching</span></a>
443        </li>
444
445        
446        
447
448        
449
450        
451        
452        
453          
454        
455
456        
457        
458        
459        
460        
461        
462          
463          
464          
465            
466          
467          
468        
469
470        <li class="nav-item">
471          <a class="nav-link " href="/#contact"><span>Contact</span></a>
472        </li>
473
474        
475        
476
477        
478
479        
480        
481        
482          
483        
484
485        
486        
487        
488        
489        
490        
491          
492          
493          
494            
495          
496          
497        
498
499        <li class="nav-item">
500          <a class="nav-link " href="/#interactive"><span>Interactive things</span></a>
501        </li>
502
503        
504        
505
506      
507
508        
509      </ul>
510    </div>
511
512    <ul class="nav-icons navbar-nav flex-row ml-auto d-flex pl-md-2">
513      
514      <li class="nav-item">
515        <a class="nav-link js-search" href="#" aria-label="Search"><i class="fas fa-search" aria-hidden="true"></i></a>
516      </li>
517      
518
519      
520      <li class="nav-item dropdown theme-dropdown">
521        <a href="#" class="nav-link js-theme-selector" data-toggle="dropdown" aria-haspopup="true">
522          <i class="fas fa-palette" aria-hidden="true"></i>
523        </a>
524        <div class="dropdown-menu">
525          <a href="#" class="dropdown-item js-set-theme-light">
526            <span>Light</span>
527          </a>
528          <a href="#" class="dropdown-item js-set-theme-dark">
529            <span>Dark</span>
530          </a>
531          <a href="#" class="dropdown-item js-set-theme-auto">
532            <span>Automatic</span>
533          </a>
534        </div>
535      </li>
536      
537
538      
539
540    </ul>
541
542  </div>
543</nav>
544
545
546  
547
548
549
550<div class="universal-wrapper pt-3">
551  <h1>Eero Hakavuori</h1>
552</div>
553
554
555<section id="profile-page" class="pt-5">
556  <div class="container">
557    
558    
559
560    
561    
562    
563    <div class="article-widget content-widget-hr">
564      <h3>Latest</h3>
565      <ul>
566        
567        <li>
568          <a href="/publication/contact-lifts/">Smooth contact lifts to central extensions of Carnot groups</a>
569        </li>
570        
571        <li>
572          <a href="/publication/cones/">Blowups and blowdowns of geodesics in Carnot groups</a>
573        </li>
574        
575        <li>
576          <a href="/publication/gradings/">Gradings for nilpotent Lie algebras</a>
577        </li>
578        
579        <li>
580          <a href="/publication/cartan-geodesics/">Cut time in the sub-Riemannian problem on the Cartan group</a>
581        </li>
582        
583        <li>
584          <a href="/publication/ode-abnormals/">ODE trajectories as abnormal curves in Carnot groups</a>
585        </li>
586        
587        <li>
588          <a href="/publication/step2-geodesics/">Infinite geodesics and isometric embeddings in Carnot groups of step 2</a>
589        </li>
590        
591        <li>
592          <a href="/publication/thesis/">Sub-Riemannian geodesics (thesis)</a>
593        </li>
594        
595        <li>
596          <a href="/publication/corners/">Non-minimality of corners in subriemannian geometry</a>
597        </li>
598        
599      </ul>
600    </div>
601    
602  </div>
603</section>
604
605      
606
607    
608    
609    
610      
610<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
610
611      
611<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.imagesloaded/4.1.4/imagesloaded.pkgd.min.js" integrity="sha256-lqvxZrPLtfffUl2G/e7szqSvPBILGbwmsGE1MKlOi0Q=" crossorigin="anonymous"></script>
611
612      
612<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js" integrity="sha256-CBrpuqrMhXwcLLUd5tvQ4euBHCdh7wGlDfNz8vbu/iI=" crossorigin="anonymous"></script>
612
613      
613<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js" integrity="sha256-yt2kYMy0w8AbtF89WXb2P1rfjcP/HTHLT7097U8Y5b8=" crossorigin="anonymous"></script>
613
614
615      
616
617      
618        
619        
619<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js" integrity="sha256-eOgo0OtLL4cdq7RdwRUiGKLX9XsIJ7nGhWEKbohmVAQ=" crossorigin="anonymous"></script>
619
620        
621        
621<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/languages/r.min.js"></script>
621
622        
623      
624
625    
626
627    
628    
629      
629<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.5.1/leaflet.js" integrity="sha256-EErZamuLefUnbMBQbsEqu1USa+btR2oIlCpBJbyD4/g=" crossorigin="anonymous"></script>
629
630    
631
632    
633    
634    
634<script>const code_highlighting = true;</script>
634
635    
636
637    
638    
639    
639<script>const isSiteThemeDark = false;</script>
639
640    
641
642    
643    
644    
645    
646    
647    
648    
648<script>
649      const search_config = {"indexURI":"/index.json","minLength":1,"threshold":0.3};
650      const i18n = {"no_results":"No results found","placeholder":"Search...","results":"results found"};
651      const content_type = {
652        'post': "Posts",
653        'project': "Projects",
654        'publication' : "Publications",
655        'talk' : "Talks",
656        'slides' : "Slides"
657        };
658    </script>
658
659    
660
661    
662    
663
664    
665    
666    
666<script id="search-hit-fuse-template" type="text/x-template">
667      <div class="search-hit" id="summary-{{key}}">
668      <div class="search-hit-content">
669        <div class="search-hit-name">
670          <a href="{{relpermalink}}">{{title}}</a>
671          <div class="article-metadata search-hit-type">{{type}}</div>
672          <p class="search-hit-description">{{snippet}}</p>
673        </div>
674      </div>
675      </div>
676    </script>
676
677    
678
679    
680    
681    
681<script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.2.1/fuse.min.js" integrity="sha256-VzgmKYmhsGNNN4Ph1kMW+BjoYJM2jV5i4IlFoeZA9XI=" crossorigin="anonymous"></script>
681
682    
682<script src="https://cdnjs.cloudflare.com/ajax/libs/mark.js/8.11.1/jquery.mark.min.js" integrity="sha256-4HLtjeVgH0eIB3aZ9mLYF6E8oU5chNdjU6p6rrXpl9U=" crossorigin="anonymous"></script>
682
683    
684
685    
686    
687
688    
689    
690
691    
692    
693
694    
695    
696    
697    
698    
699    
700    
701    
702    
703      
704    
705    
706    
707    
708    
708<script src="/js/academic.min.ef73ef3f21759b3121b914313f95cac6.js"></script>
708
709
710    
711
712
713
714
715
716
717  
718  
719  <div class="container">
720    <footer class="site-footer">
721  
722
723  <p class="powered-by">
724    © 2025 Eero Hakavuori
725  </p>
726
727  
728  
729
730
731
732
733
734
735  <p class="powered-by">
736    Powered by the
737    <a href="https://sourcethemes.com/academic/" target="_blank" rel="noopener">Academic theme</a> for
738    <a href="https://gohugo.io" target="_blank" rel="noopener">Hugo</a>.
739
740    
741    <span class="float-right" aria-hidden="true">
742      <a href="#" class="back-to-top">
743        <span class="button_icon">
744          <i class="fas fa-chevron-up fa-2x"></i>
745        </span>
746      </a>
747    </span>
748    
749  </p>
750</footer>
751
752  </div>
753  
754
755  
756<div id="modal" class="modal fade" role="dialog">
757  <div class="modal-dialog">
758    <div class="modal-content">
759      <div class="modal-header">
760        <h5 class="modal-title">Cite</h5>
761        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
762          <span aria-hidden="true">&times;</span>
763        </button>
764      </div>
765      <div class="modal-body">
766        <pre><code class="tex hljs"></code></pre>
767      </div>
768      <div class="modal-footer">
769        <a class="btn btn-outline-primary my-1 js-copy-cite" href="#" target="_blank">
770          <i class="fas fa-copy"></i> Copy
771        </a>
772        <a class="btn btn-outline-primary my-1 js-download-cite" href="#" target="_blank">
773          <i class="fas fa-download"></i> Download
774        </a>
775        <div id="modal-error"></div>
776      </div>
777    </div>
778  </div>
779</div>
780
781</body>
782</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.