Yuki Soma
Yuki Soma (相馬 勇紀, Sōma Yūki, born 25 February 1997) is a Japanese football player who plays for Kashima Antlers on loan from Nagoya Grampus.
Personal information | |||
---|---|---|---|
Full name | Yuki Soma | ||
Date of birth | 25 February 1997 | ||
Place of birth | Tokyo, Japan | ||
Height | 1.65 m (5 ft 5 in) | ||
Playing position(s) | Midfielder | ||
Club information | |||
Current team |
Kashima Antlers (on loan from Nagoya Grampus) | ||
Number | 47 | ||
Youth career | |||
Fuda SC[1] | |||
Mitsubishi Yowa Chofu[1] | |||
2015–2018 | Waseda University | ||
Senior career* | |||
Years | Team | Apps | (Gls) |
2018– | Nagoya Grampus | 25 | (2) |
2019– | → Kashima Antlers (loan) | 5 | (1) |
National team‡ | |||
2019– | Japan U23 | 2 | (1) |
2019– | Japan | 3 | (0) |
* Senior club appearances and goals counted for the domestic league only and correct as of 22:41, 4 January 2020 (UTC) ‡ National team caps and goals correct as of December 18, 2019 |
Club statistics
- As of 21 February 2019.[2]
Club | Season | League | National Cup | League Cup | Continental | Other | Total | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Division | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | ||
Nagoya Grampus | 2018 | J1 League | 9 | 1 | 0 | 0 | 0 | 0 | – | – | 9 | 1 | ||
Career total | 9 | 1 | 0 | 0 | 0 | 0 | - | - | - | - | 9 | 1 |
National team statistics
Japan national team | ||
---|---|---|
Year | Apps | Goals |
2019 | 3 | 0 |
Total | 3 | 0 |
gollark: I didn't do any horrible homoglyph hacks with THAT.
gollark: It uses the function, yes.
gollark: So, I finished that to highly dubious demand. I'd like to know how #11 and such work.
gollark: > `x = _(int(0, e), int(e, е))`You may note that this would produce slices of 0 size. However, one of the `e`s is a homoglyph; it contains `2 * e`.`return Result[0][0], x, m@set({int(e, 0), int(е, e)}), w`From this, it's fairly obvious what `strassen` *really* does - partition `m1` into 4 block matrices of half (rounded up to the nearest power of 2) size.> `E = typing(lookup[2])`I forgot what this is meant to contain. It probably isn't important.> `def exponentiate(m1, m2):`This is the actual multiplication bit.> `if m1.n == 1: return Mаtrix([[m1.bigData[0] * m2.bigData[0]]])`Recursion base case. 1-sized matrices are merely multiplied scalarly.> `aa, ab, ac, ad = strassen(m1)`> `аa, аb, аc, аd = strassen(m2)`More use of homoglyph confusion here. The matrices are quartered.> `m = m1.subtract(exponentiate(aa, аa) ** exponentiate(ab, аc), exponentiate(aa, аb) ** exponentiate(ab, аd), exponentiate(ac, аa) ** exponentiate(ad, аc), exponentiate(ac, аb) ** exponentiate(ad, аd)) @ [-0j, int.abs(m2.n * 3, m1.n)]`This does matrix multiplication in an inefficient *recursive* way; the Strassen algorithm could save one of eight multiplications here, which is more efficient (on big matrices). It also removes the zero padding.> `m = exponentiate(Mаtrix(m1), Mаtrix(m2)) @ (0j * math.sin(math.asin(math.sin(math.asin(math.sin(math.e))))), int(len(m1), len(m1)))`This multiples them and I think also removes the zero padding again, as we want it to be really very removed.> `i += 1`This was added as a counter used to ensure that it was usably performant during development.> `math.factorial = math.sinh`Unfortunately, Python's factorial function has really rather restrictive size limits.> `for row in range(m.n):`This converts back into the 2D array format.> `for performance in sorted(dir(gc)): getattr(gc, performance)()`Do random fun things to the GC.
gollark: > `globals()[Row + Row] = random.randint(*sys.version_info[:2])`Never actually got used anywhere.> `ε = sys.float_info.epsilon`Also not used. I just like epsilons.> `def __exit__(self, _, _________, _______):`This is also empty, because cleaning up the `_` global would be silly. It'll be overwritten anyway. This does serve a purpose, however, and not just in making it usable as a context manager. This actually swallows all errors, which is used in some places.> `def __pow__(self, m2):`As ever, this is not actual exponentiation. `for i, (ι, 𐌉) in enumerate(zip(self.bigData, m2.bigData)): e.bigData[i] = ι + 𐌉` is in fact just plain and simple addition of two matrices.> `def subtract(forth, 𝕒, polynomial, c, vector_space):`This just merges 4 submatrices back into one matrix.> `with out as out, out, forth:`Apart from capturing the exceptions, this doesn't really do much either. The `_` provided by the context manager is not used.> `_(0j, int(0, 𝕒.n))`Yes, it's used in this line. However, this doesn't actually have any effect whatsoever on the execution of this. So I ignore it. It was merely a distraction.> `with Mаtrix(ℤ(ℤ(4))):`It is used again to swallow exceptions. After this is just some fluff again.> `def strassen(m, x= 3.1415935258989):`This is an interesting part. Despite being called `strassen`, it does not actually implement the Strassen algorithm, which is a somewhat more efficient way to multiply matrices than the naive way used in - as far as I can tell - every entry.> `e = 2 ** (math.ceil(math.log2(m.n)) - 1)`This gets the next power of two in a fairly obvious way. It is used to pad out the matrix to the next power of 2 size.> `with m:`The context manager is used again for nicer lookups.> `Result[0] += [_(0j, int(e, e))]`Weird pythonoquirkiness again. You can append to lists in tuples with `+=`, but it throws an exception as they're sort of immutable.> `typing(lookup[4])(input())`It's entirely possible that this does things.
References
- 相馬 勇紀選手、鹿島アントラーズへ期限付き移籍のお知らせ, nagoya-grampus.jp, 7 August 2019
- "Y.Soma". soccerway.com. Soccerway. Retrieved 15 August 2018.
- Yuki Soma at National-Football-Teams.com
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.