Koide numpy

He añadido ultimamente un par de recetas de Python3 al hilo https://www.physicsforums.com/threads/what-is-new-with-koide-sum-rules.551549/post-6502716 pero tambien he hecho un par de reponderaciones y por no sobrecargar el foro mejor las añado aqui en el blog de notas

import numpy as np
def rmass(mass,errors):
    scale = - errors[1]/errors[0]
    base  = np.random.normal(mass, errors[0], 1000)
    if scale==1:
        calc = base 
    else:
        calc = np.where(base < mass, base*scale, base)
    return  np.where(calc < 0, 0, calc)
        
def rkoide(triplet,signs):
    if signs[0]=="0":
        a=0
        mb,mc = map(m.get,triplet)
        eb,ec = map(e.get,triplet)
        b,c = rmass(mb,eb), rmass(mc,ec)
        sign = 0
    else:
        ma,mb,mc = map(m.get,triplet)
        ea,eb,ec = map(e.get,triplet)
        a,b,c = rmass(ma,ea), rmass(mb,eb), rmass(mc,ec)
        sign = +1 if signs[0]=="+" else -1
    koide=(a+b+c)/np.square(sign*np.sqrt(a)+np.sqrt(b)+np.sqrt(c))
    return np.mean(koide), np.std(koide ) #, np.std(koide, ddof=1)
e=dict()
for line in p.split("\n")[1:-1]:
    d=line[32:].split()
    e[d[-2]+d[-1]]=[float(d[1]),float(d[2])]
%%time
for x in result:
    k,std=rkoide(x[1],x[3])
    x[0]=max(abs(k+std-2/3),abs(max(k-std,0)-2/3))
#print(f'{"|".join(x[1]):<40}',"\t{:.8f} +- {:.8f}".format(abs(k-2/3),std))

vue3 y el focus

Las componentes de element-ui tienen muchas veces los mismos estilos para hover que para focus. Esto es bastante incordio porque después de haber pulsado un botón y salir del hover no hay cambios visibles, dado que sigue en focus. Hay que acceder a los elementos para darles un blur.

La forma estándar de hacer esto en javascript

document.activeElement.blur()

no se recomienda porque no se garantiza que acceda al DOM oculto. Hay que ir via $refs o via $el. En nuestro caso, dado que estamos usando componentes de una librería de terceros, solo se puede hacer de la segunda manera:

this.$refs.btnCopia.$el.blur()

Un tercer metodo es asignar a otro elemento:

this.$root.$refs.cb.focus()
this.$root.$refs.cb.blur()

Esto puede ser eficaz si no tenemos claro cómo acceder a la subcomponente correcta.

Distancia a la luna

Algunos datos de la observación de espejos lunares via LLR están disponibles en la red

El formato es fácil de leer, pero no hay muchos años y no miden todos los dias, no se si es que prefieren medir solo en los extremos de la orbita o si prefieren medir solo en luna nueva para que no estorbe el reflejo solar. Creo que es sobre todo que lo que les interesa son los puntos de mayor y menor distancia a la tierra, que eso lo cuentan aqui https://en.wikipedia.org/wiki/Lunar_distance_(astronomy) en la wikipedia inglesa. Ya, las famosas superlunas.

El tiempo es en segundos de ida y vuelta, asi que hay que multiplicar por la velocidad de la luz y dividir para dos

Ademas no he corregido por la posición del observatorio o del espejo.