USS Fiske (DE-143)

USS Fiske (DE-143) was an Edsall-class destroyer escort built for the United States Navy during World War II. Named for Rear Admiral Bradley Allen Fiske, she was the first of two U.S. Naval vessels to bear the name. The vessel entered service in 1943 and served in the Atlantic Ocean during World War II as part of a hunter-killer anti-submarine group. On 2 August 1944, Fiske was sunk by a torpedo fired by the German submarine U-804. Thirty-three of the ship's crew were killed and a further 50 were injured.

USS Fiske (DE-143) underway in New York Harbor on 20 October 1943.
History
United States
Name: Fiske
Builder: Consolidated Steel Corp.
Laid down: 4 January 1943
Launched: 14 March 1943
Commissioned: 25 August 1943
Honors and
awards:
1 × battle star
Fate: Torpedoed and sunk on 2 August 1944
General characteristics
Class and type: Edsall-class destroyer escort
Displacement: 1,200 long tons (1,200 t)
Length: 306 ft 0 in (93.3 m)
Beam: 36 ft 7 in (11.2 m)
Draft: 8 ft 7 in (2.6 m)
Propulsion:
Speed: 21 knots (39 km/h; 24 mph)
Range: 9,100 nmi (16,900 km; 10,500 mi) at 12 knots (22 km/h; 14 mph)
Complement:
Armament:

Service history

Fiske was laid down 4 January 1943 by the Consolidated Steel Corporation of Orange, Texas; launched 14 March 1943; sponsored by Mrs. H. G. Chalkley; and commissioned 25 August 1943 with Lieutenant Commander R. P. Walker in command. Fiske began her service as a convoy escort with a voyage from Norfolk to Coco Solo, Panama Canal Zone to New York between 12 and 25 November 1943. On 3 December, the escort ship cleared Norfolk on the first of three convoy assignments from Norfolk and New York to Casablanca. During the third of these, on 20 April 1944 her convoy came under attack by German torpedo bombers in the western Mediterranean, but none of the enemy planes came within range of Fiske.

Completing her Casablanca runs with her return to New York on 21 May 1944 Fiske joined the hunter-killer group formed around USS Wake Island at Norfolk on 10 June. Five days later her group sailed to patrol across the Atlantic, putting into Casablanca to replenish 20 to 24 July. On 2 August, during a special hunt for submarines known to be transmitting weather information from stations in the central Atlantic, Fiske and USS Douglas L. Howard were detached from the task group to investigate a visual contact both had made. The contact (north of the Azores), surfaced U-804, quickly dived, but the two escorts picked it up on sonar, and began their attack approach. Suddenly, Fiske was torpedoed on her starboard side amidships, and within 10 minutes, she broke in two and had to be abandoned. Thirty-three of her men were killed and 50 badly wounded by the explosion, but all who survived it were rescued by USS Farquhar.

Fiske received one battle star for World War II service.

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.

See also

  • See List of U.S. Navy losses in World War II for other Navy ships lost in World War II.

References

This article incorporates text from the public domain Dictionary of American Naval Fighting Ships.

  • "Fiske". Dictionary of American Naval Fighting Ships. Retrieved 22 March 2007.
  • "USS Fiske (DE-143)". Destroyer Escort Photo Archive. Retrieved 22 March 2007.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.